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