From cab37665c6693f77ba47b4f3ae599f49550bc9e3 Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Sat, 24 Mar 2018 13:35:51 -0400 Subject: [PATCH] Fix pausing playback on disconnect on API 26+ --- CHANGELOG.md | 4 ++++ app/src/main/AndroidManifest.xml | 6 ------ .../net/nullsum/audinaut/service/DownloadService.java | 10 ++++++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 444ccc2..d6986d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ Changelog ========= +## Next +* Fix pausing playback on disconnect on API 26+ + + ## Version 0.2.4 _2018-03-24_ * Fix launch crash on Lollipop and earlier (added READ_PHONE_STATE for API <= 22) [#23](https://github.com/nvllsvm/Audinaut/issues/23) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a725ff9..ce7118c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -104,12 +104,6 @@ - - - - - - diff --git a/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java b/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java index c55288b..1870793 100644 --- a/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java +++ b/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java @@ -35,6 +35,7 @@ import net.nullsum.audinaut.audiofx.EqualizerController; import net.nullsum.audinaut.domain.MusicDirectory; import net.nullsum.audinaut.domain.PlayerState; import net.nullsum.audinaut.domain.RepeatMode; +import net.nullsum.audinaut.receiver.AudioNoisyReceiver; import net.nullsum.audinaut.receiver.MediaButtonIntentReceiver; import net.nullsum.audinaut.util.BufferProxy; import net.nullsum.audinaut.util.Constants; @@ -63,6 +64,7 @@ import android.content.ComponentCallbacks2; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.content.SharedPreferences; import android.media.AudioManager; import android.media.MediaPlayer; @@ -157,6 +159,8 @@ public class DownloadService extends Service { private long subtractNextPosition = 0; private int subtractPosition = 0; + private AudioNoisyReceiver audioNoisyReceiver = new AudioNoisyReceiver(); + @Override public void onCreate() { super.onCreate(); @@ -239,6 +243,10 @@ public class DownloadService extends Service { instance = this; shufflePlayBuffer = new ShufflePlayBuffer(this); lifecycleSupport.onCreate(); + + IntentFilter filter = new IntentFilter(); + filter.addAction("android.media.AUDIO_BECOMING_NOISY"); + registerReceiver(audioNoisyReceiver, filter); } @Override @@ -308,6 +316,8 @@ public class DownloadService extends Service { } Notifications.hidePlayingNotification(this, this, handler); Notifications.hideDownloadingNotification(this, this, handler); + + unregisterReceiver(audioNoisyReceiver); } public static DownloadService getInstance() {