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 16b4003b..00000000 Binary files a/app/src/main/res/raw/beep.wav and /dev/null differ 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. <string name="ignore_audiofocus_loss_summary">Keep playing on permanent audio focus loss</string> <string name="media_button_title">Headset/Bluetooth controls</string> <string name="media_button_summary">This is also required for ICS lockscreen controls.</string> - <string name="media_button_beep_title">Headset control beep</string> - <string name="media_button_beep_summary">Beep after skipping a track with a headset control double click.</string> <string name="headset_only_title">External output only</string> <string name="headset_only_summary">Prevents music from being played through the internal speakers.</string> <string name="headset_pause_title">Pause when unplugged</string> 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" /> - <CheckBoxPreference - android:key="media_button" - android:title="@string/media_button_title" - android:summary="@string/media_button_summary" - android:defaultValue="true" /> - <CheckBoxPreference - android:key="media_button_beep" - android:title="@string/media_button_beep_title" - android:summary="@string/media_button_beep_summary" - android:defaultValue="true" /> <CheckBoxPreference android:key="headset_only" android:title="@string/headset_only_title"