diff --git a/README.md b/README.md index bc0bd9c..c5c95b5 100644 --- a/README.md +++ b/README.md @@ -36,3 +36,5 @@ proposed changed. App icon originals from [WPZOOM](http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons) and formatted using [Android Asset Studio](https://romannurik.github.io/AndroidAssetStudio/index.html). + +Audio file originals from [freesound](https://freesound.org). diff --git a/res/raw/upward_beep_chromatic_fifths.ogg b/res/raw/upward_beep_chromatic_fifths.ogg new file mode 100644 index 0000000..bcc41e8 Binary files /dev/null and b/res/raw/upward_beep_chromatic_fifths.ogg differ diff --git a/src/protect/babymonitor/ListenActivity.java b/src/protect/babymonitor/ListenActivity.java index 0ad04a3..d0f1795 100644 --- a/src/protect/babymonitor/ListenActivity.java +++ b/src/protect/babymonitor/ListenActivity.java @@ -28,6 +28,7 @@ import android.app.Activity; import android.media.AudioFormat; import android.media.AudioManager; import android.media.AudioTrack; +import android.media.MediaPlayer; import android.os.Bundle; import android.util.Log; import android.widget.TextView; @@ -141,6 +142,11 @@ public class ListenActivity extends Activity if(Thread.currentThread().isInterrupted() == false) { + // If this thread has not been interrupted, likely something + // bad happened with the connection to the child device. Play + // an alert to notify the user that the connection has been + // interrupted. + playAlert(); ListenActivity.this.runOnUiThread(new Runnable() { @@ -169,4 +175,26 @@ public class ListenActivity extends Activity super.onDestroy(); } + + private void playAlert() + { + final MediaPlayer mp = MediaPlayer.create(this, R.raw.upward_beep_chromatic_fifths); + if(mp != null) + { + Log.i(TAG, "Playing alert"); + mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() + { + @Override + public void onCompletion(MediaPlayer mp) + { + mp.release(); + } + }); + mp.start(); + } + else + { + Log.e(TAG, "Failed to play alert"); + } + } }