Add notification icon for listening and disconnected events

TODO: Change icon color/details for connected vs. disconnected status
This commit is contained in:
Shachar R
2017-12-24 11:26:22 -08:00
parent 38dd1e6664
commit 0009c3bbdd
2 changed files with 31 additions and 1 deletions

View File

@@ -8,7 +8,6 @@ findbugs {
android { android {
compileSdkVersion 25 compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig { defaultConfig {
applicationId "protect.babymonitor" applicationId "protect.babymonitor"
@@ -22,6 +21,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
} }
} }
dependencies {
compile "com.android.support:support-compat:25.4.0"
}
} }
task findbugs(type: FindBugs, dependsOn: 'assembleDebug') { task findbugs(type: FindBugs, dependsOn: 'assembleDebug') {

View File

@@ -22,6 +22,7 @@ import java.net.Socket;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.media.AudioFormat; import android.media.AudioFormat;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.AudioTrack; import android.media.AudioTrack;
@@ -29,6 +30,8 @@ import android.media.MediaPlayer;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.widget.TextView; import android.widget.TextView;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat;
public class ListenActivity extends Activity public class ListenActivity extends Activity
{ {
@@ -37,6 +40,8 @@ public class ListenActivity extends Activity
String _address; String _address;
int _port; int _port;
String _name; String _name;
Context _mParentContext = this;
NotificationManagerCompat _mNotifyMgr;
Thread _listenThread; Thread _listenThread;
private void streamAudio(final Socket socket) throws IllegalArgumentException, IllegalStateException, IOException private void streamAudio(final Socket socket) throws IllegalArgumentException, IllegalStateException, IOException
@@ -93,6 +98,9 @@ public class ListenActivity extends Activity
_address = b.getString("address"); _address = b.getString("address");
_port = b.getInt("port"); _port = b.getInt("port");
_name = b.getString("name"); _name = b.getString("name");
// Gets an instance of the NotificationManager service
_mNotifyMgr =
NotificationManagerCompat.from(_mParentContext);
setContentView(R.layout.activity_listen); setContentView(R.layout.activity_listen);
@@ -101,6 +109,17 @@ public class ListenActivity extends Activity
@Override @Override
public void run() public void run()
{ {
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(_mParentContext)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Baby Monitor Listener")
.setContentText("Listener is running");
// Sets an ID for the notification
int mNotificationId = 1;
_mNotifyMgr.notify(mNotificationId, mBuilder.build());
final TextView connectedText = (TextView) findViewById(R.id.connectedTo); final TextView connectedText = (TextView) findViewById(R.id.connectedTo);
connectedText.setText(_name); connectedText.setText(_name);
@@ -146,6 +165,14 @@ public class ListenActivity extends Activity
final TextView statusText = (TextView) findViewById(R.id.textStatus); final TextView statusText = (TextView) findViewById(R.id.textStatus);
statusText.setText(R.string.disconnected); statusText.setText(R.string.disconnected);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(_mParentContext)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Baby Monitor Listener")
.setContentText("Disconnected!");
// Sets an ID for the notification
int mNotificationId = 1;
_mNotifyMgr.notify(mNotificationId, mBuilder.build());
} }
}); });
} }