summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2019-06-10 14:46:18 -0400
committerJoey Grover <joeygrover@gmail.com>2019-06-10 14:46:18 -0400
commitc062cb94f17908013e3fdae10acfb9ce759d2814 (patch)
tree1227d98afa21e8ce20da70f930469376c3a099ae
parent41be5c50c33dc7c537fbe04ca0cec2d265d0cde3 (diff)
downloadsdl_android-c062cb94f17908013e3fdae10acfb9ce759d2814.tar.gz
Enable MediaStreamingStatus to be long running
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java b/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java
index 36b5a6d6e..6bbc2571d 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java
@@ -60,6 +60,7 @@ import java.util.List;
public class MediaStreamingStatus {
private static final Object BROADCAST_RECEIVER_LOCK = new Object();
+ public boolean broadcastReceiverValid = true;
WeakReference<Context> contextWeakReference;
@@ -207,6 +208,9 @@ public class MediaStreamingStatus {
}
if(preAddSize != intentList.size()){
+ synchronized (BROADCAST_RECEIVER_LOCK){
+ broadcastReceiverValid = true;
+ }
updateBroadcastReceiver();
}
}
@@ -240,18 +244,18 @@ public class MediaStreamingStatus {
}
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
- boolean valid = true;
@Override
public void onReceive(Context context, Intent intent) {
synchronized (BROADCAST_RECEIVER_LOCK) {
if (!isAudioOutputAvailable()) {
- if (valid) {
- valid = false;
+ if (broadcastReceiverValid) {
+ broadcastReceiverValid = false;
//No audio device is acceptable any longer
if (callback != null) {
callback.onAudioNoLongerAvailable();
}
+ intentList.clear();
unregisterBroadcastReceiver();
}
}
@@ -259,10 +263,9 @@ public class MediaStreamingStatus {
}
};
+
public interface Callback{
void onAudioNoLongerAvailable();
}
-
-
}