From 28a8da7c2337eb42e68fea14350618b5c573621c Mon Sep 17 00:00:00 2001 From: Kamal Negi <kamaln@codeaurora.org> Date: Sat, 19 Mar 2016 15:10:31 +0530 Subject: [PATCH] fm: Remove unwanted media button key event listeners When FM is turned off, fm app is still listening to media key events (play, pause etc.) which results in other media consuming apps to be starved of Media Key events. Remove unwanted media button listeners so that other media resources can receive key events. Change-Id: Ib43f8b89e07928326c2af771a7465981e1690470 --- .../fmradio/FMMediaButtonIntentReceiver.java | 19 ------------------- fmapp2/src/com/caf/fmradio/FMRadio.java | 16 ---------------- .../src/com/caf/fmradio/FMRadioService.java | 2 +- 3 files changed, 1 insertion(+), 36 deletions(-) diff --git a/fmapp2/src/com/caf/fmradio/FMMediaButtonIntentReceiver.java b/fmapp2/src/com/caf/fmradio/FMMediaButtonIntentReceiver.java index 949453f..5dd3eb7 100644 --- a/fmapp2/src/com/caf/fmradio/FMMediaButtonIntentReceiver.java +++ b/fmapp2/src/com/caf/fmradio/FMMediaButtonIntentReceiver.java @@ -53,25 +53,6 @@ public void onReceive(Context context, Intent intent) { Log.d(TAG, "ACTION_AUDIO_BECOMING_NOISY intent received for ACTION_HEADSET_PLUG"); Intent i = new Intent(AUDIO_BECOMING_NOISY); context.sendBroadcast(i); - } else if ((action != null) && action.equals("android.intent.action.MEDIA_BUTTON")) { - KeyEvent event = (KeyEvent) - intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); - - if (event == null) { - return; - } - int keycode = event.getKeyCode(); - int key_action = event.getAction(); - if (((KeyEvent.KEYCODE_HEADSETHOOK == keycode) && - (key_action == KeyEvent.ACTION_DOWN)) || - (KeyEvent.KEYCODE_MEDIA_PAUSE == keycode) || - (KeyEvent.KEYCODE_MEDIA_PLAY == keycode)) { - - Log.d(TAG, "ACTION_MEDIA_BUTTON intent received for ACTION_DOWN"); - Intent i = new Intent(FM_MEDIA_BUTTON); - i.putExtra(Intent.EXTRA_KEY_EVENT, event); - context.sendBroadcast(i); - } } } } diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java index f83a0d0..6561aec 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadio.java +++ b/fmapp2/src/com/caf/fmradio/FMRadio.java @@ -2624,22 +2624,6 @@ public class FMRadio extends Activity }//handleMessage }; - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - Log.d(LOGTAG, "KEY event received " + keyCode); - switch (keyCode) { - case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: - case 126: //KeyEvent.KEYCODE_MEDIA_PLAY: - case 127: //KeyEvent.KEYCODE_MEDIA_PAUSE: - case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: - case KeyEvent.KEYCODE_MEDIA_NEXT: - case KeyEvent.KEYCODE_MEDIA_PREVIOUS: - case KeyEvent.KEYCODE_MEDIA_REWIND: - case KeyEvent.KEYCODE_MEDIA_STOP: - return true; - } - return super.onKeyDown(keyCode, event); - } private void resetFMStationInfoUI() { mTunedStation.setFrequency(FmSharedPreferences.getTunedFrequency()); mTunedStation.setName(""); diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java index b238e53..b05b08c 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadioService.java +++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java @@ -809,7 +809,7 @@ public class FMRadioService extends Service if (!isFmOn()) return; /* Disable FM and let the UI know */ - fmOff(); + fmOff(FM_OFF_FROM_ANTENNA); try { /* Notify the UI/Activity, only if the service is "bound" -- GitLab