diff options
author | Joey Grover <joeygrover@gmail.com> | 2019-06-10 14:46:18 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2019-06-10 14:46:18 -0400 |
commit | c062cb94f17908013e3fdae10acfb9ce759d2814 (patch) | |
tree | 1227d98afa21e8ce20da70f930469376c3a099ae | |
parent | 41be5c50c33dc7c537fbe04ca0cec2d265d0cde3 (diff) | |
download | sdl_android-c062cb94f17908013e3fdae10acfb9ce759d2814.tar.gz |
Enable MediaStreamingStatus to be long running
-rw-r--r-- | android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java | 13 |
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(); } - - } |