From 800ecc6edbb8163eaf801cb8d2dc7811870068e2 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Wed, 3 Mar 2021 19:45:08 +0100 Subject: [PATCH] remove media button preferences and enable them always --- .../android/vanilla/MediaButtonReceiver.java | 70 +----------------- .../android/vanilla/PlaybackService.java | 3 - .../android/vanilla/PrefDefaults.java | 2 - .../android/vanilla/PrefKeys.java | 2 - .../android/vanilla/RemoteControlImplICS.java | 2 - app/src/main/res/raw/beep.wav | Bin 12332 -> 0 bytes app/src/main/res/values/translatable.xml | 2 - app/src/main/res/xml/preference_audio.xml | 10 --- 8 files changed, 1 insertion(+), 90 deletions(-) delete mode 100644 app/src/main/res/raw/beep.wav diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/MediaButtonReceiver.java b/app/src/main/java/ch/blinkenlights/android/vanilla/MediaButtonReceiver.java index 7a6f8d24..c053fa92 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/MediaButtonReceiver.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/MediaButtonReceiver.java @@ -26,9 +26,6 @@ package ch.blinkenlights.android.vanilla; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.content.SharedPreferences; -import android.media.AsyncPlayer; -import android.media.AudioManager; import android.net.Uri; import android.os.Build; import android.os.SystemClock; @@ -49,74 +46,10 @@ public class MediaButtonReceiver extends BroadcastReceiver { */ private static final int DOUBLE_CLICK_DELAY = 600; - /** - * Whether the headset controls should be used. 1 for yes, 0 for no, -1 for - * uninitialized. - */ - private static int sUseControls = -1; /** * Time of the last play/pause click. Used to detect double-clicks. */ private static long sLastClickTime = 0; - /** - * Whether a beep should be played in response to double clicks be used. - * 1 for yes, 0 for no, -1 for uninitialized. - */ - private static int sBeep = -1; - /** - * Lazy-loaded AsyncPlayer for beep sounds. - */ - private static AsyncPlayer sBeepPlayer; - /** - * Lazy-loaded URI of the beep resource. - */ - private static Uri sBeepSound; - - /** - * Play a beep sound. - */ - private static void beep(Context context) - { - if (sBeep == -1) { - SharedPreferences settings = SharedPrefHelper.getSettings(context); - sBeep = settings.getBoolean(PrefKeys.MEDIA_BUTTON_BEEP, PrefDefaults.MEDIA_BUTTON_BEEP) ? 1 : 0; - } - - if (sBeep == 1) { - if (sBeepPlayer == null) { - sBeepPlayer = new AsyncPlayer("BeepPlayer"); - sBeepSound = Uri.parse("android.resource://ch.blinkenlights.android.vanilla/raw/beep"); - } - sBeepPlayer.play(context, sBeepSound, false, AudioManager.STREAM_MUSIC); - } - } - - /** - * Reload the preferences and enable/disable buttons as appropriate. - * - * @param context A context to use. - */ - public static void reloadPreference(Context context) - { - sUseControls = -1; - sBeep = -1; - } - - /** - * Return whether headset controls should be used, loading the preference - * if necessary. - * - * @param context A context to use. - */ - public static boolean useHeadsetControls(Context context) - { - if (sUseControls == -1) { - SharedPreferences settings = SharedPrefHelper.getSettings(context); - sUseControls = settings.getBoolean(PrefKeys.MEDIA_BUTTON, PrefDefaults.MEDIA_BUTTON) ? 1 : 0; - } - - return sUseControls == 1; - } /** * Process a media button key press. @@ -128,7 +61,7 @@ public class MediaButtonReceiver extends BroadcastReceiver { */ public static boolean processKey(Context context, KeyEvent event) { - if (event == null || !useHeadsetControls(context)) + if (event == null) return false; int action = event.getAction(); @@ -143,7 +76,6 @@ public class MediaButtonReceiver extends BroadcastReceiver { if (action == KeyEvent.ACTION_DOWN) { long time = SystemClock.uptimeMillis(); if (time - sLastClickTime < DOUBLE_CLICK_DELAY) { - beep(context); Handler handler = new Handler(); DelayedClickCounter dcc = new DelayedClickCounter(context, time); handler.postDelayed(dcc, DOUBLE_CLICK_DELAY); diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java b/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java index 8e81f8ed..7d3aa889 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java @@ -888,9 +888,6 @@ public final class PlaybackService extends Service updateNotification(); } else if (PrefKeys.SCROBBLE.equals(key)) { mScrobble = settings.getBoolean(PrefKeys.SCROBBLE, PrefDefaults.SCROBBLE); - } else if (PrefKeys.MEDIA_BUTTON.equals(key) || PrefKeys.MEDIA_BUTTON_BEEP.equals(key)) { - MediaButtonReceiver.reloadPreference(this); - mRemoteControlClient.initializeRemote(); } else if (PrefKeys.COVER_ON_LOCKSCREEN.equals(key)) { mRemoteControlClient.reloadPreference(); } else if (PrefKeys.USE_IDLE_TIMEOUT.equals(key) || PrefKeys.IDLE_TIMEOUT.equals(key)) { diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/PrefDefaults.java b/app/src/main/java/ch/blinkenlights/android/vanilla/PrefDefaults.java index 39682cb9..12fd9244 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/PrefDefaults.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/PrefDefaults.java @@ -50,8 +50,6 @@ public class PrefDefaults { public static final boolean HEADSET_PAUSE = true; public static final int IDLE_TIMEOUT = 3600; public static final int LIBRARY_PAGE = 0; - public static final boolean MEDIA_BUTTON = true; - public static final boolean MEDIA_BUTTON_BEEP = true; public static final String NOTIFICATION_ACTION = "0"; public static final String NOTIFICATION_VISIBILITY = "0"; public static final boolean NOTIFICATION_NAG = false; diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/PrefKeys.java b/app/src/main/java/ch/blinkenlights/android/vanilla/PrefKeys.java index 7f0ac95a..c533eb5c 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/PrefKeys.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/PrefKeys.java @@ -48,8 +48,6 @@ public class PrefKeys { public static final String HEADSET_PAUSE = "headset_pause"; public static final String IDLE_TIMEOUT = "idle_timeout"; public static final String LIBRARY_PAGE = "library_page"; - public static final String MEDIA_BUTTON = "media_button"; - public static final String MEDIA_BUTTON_BEEP = "media_button_beep"; public static final String NOTIFICATION_ACTION = "notification_action"; public static final String NOTIFICATION_VISIBILITY = "notification_visibility"; public static final String PLAYBACK_ON_STARTUP = "playback_on_startup"; diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java b/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java index 0c763e18..7d6ba823 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java @@ -63,8 +63,6 @@ public class RemoteControlImplICS implements RemoteControl.Client { public void initializeRemote() { // make sure there is only one registered remote unregisterRemote(); - if (MediaButtonReceiver.useHeadsetControls(mContext) == false) - return; // Receive 'background' play button events AudioManager audioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE); diff --git a/app/src/main/res/raw/beep.wav b/app/src/main/res/raw/beep.wav deleted file mode 100644 index 16b4003b816fab4f517ead97cb0b7b1d3eb94533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12332 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 ZEsI)W8*JOu4{hDIHnpM>*@BMDe*sX;b8i3u diff --git a/app/src/main/res/values/translatable.xml b/app/src/main/res/values/translatable.xml index 2bb3aed5..a8e3049f 100644 --- a/app/src/main/res/values/translatable.xml +++ b/app/src/main/res/values/translatable.xml @@ -185,8 +185,6 @@ THE SOFTWARE. Keep playing on permanent audio focus loss Headset/Bluetooth controls This is also required for ICS lockscreen controls. - Headset control beep - Beep after skipping a track with a headset control double click. External output only Prevents music from being played through the internal speakers. Pause when unplugged diff --git a/app/src/main/res/xml/preference_audio.xml b/app/src/main/res/xml/preference_audio.xml index c58bb669..6c62f4a7 100644 --- a/app/src/main/res/xml/preference_audio.xml +++ b/app/src/main/res/xml/preference_audio.xml @@ -43,16 +43,6 @@ THE SOFTWARE. vanilla:sbpCheckBoxKey="ignore_audiofocus_loss" vanilla:sbpCheckBoxText="@string/ignore_audiofocus_loss_summary" /> - -