From 2178470f663eaa281c04b0234af0248eb58ec583 Mon Sep 17 00:00:00 2001 From: Rupesh Tatiya <rtatiya@codeaurora.org> Date: Wed, 24 Feb 2016 15:16:28 +0530 Subject: [PATCH] Add two new callbacks for FM start/stop. When FM is stopped, UI elements like speaker button and mute button should be disabled and they should be enabled when FM is started. Change-Id: I940706d3f587b38449a5f07dadbec04f68f5c9c0 --- fmapp2/src/com/caf/fmradio/FMRadio.java | 10 ++++++++++ fmapp2/src/com/caf/fmradio/FMRadioService.java | 14 ++++++++++++-- fmapp2/src/com/caf/fmradio/FMStats.java | 6 ++++++ .../com/caf/fmradio/IFMRadioServiceCallbacks.aidl | 2 ++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java index 20b1133..9c44add 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadio.java +++ b/fmapp2/src/com/caf/fmradio/FMRadio.java @@ -3197,6 +3197,16 @@ public class FMRadio extends Activity Log.d(LOGTAG, "mServiceCallbacks.onA2DPConnectionstateChanged :"); A2DPConnectionState(state); } + public void onFmAudioPathStarted() { + Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStarted:"); + mSpeakerButton.setClickable(true); + mMuteButton.setClickable(true); + } + public void onFmAudioPathStopped() { + Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStopped:"); + mSpeakerButton.setClickable(false); + mMuteButton.setClickable(false); + } }; private void registerFMSettingListner() { diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java index 188a068..0231997 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadioService.java +++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java @@ -1012,7 +1012,7 @@ public class FMRadioService extends Service } }; - private void startFM(){ + private void startFM() { Log.d(LOGTAG, "In startFM"); if(true == mAppShutdown) { // not to send intent to AudioManager in Shutdown return; @@ -1065,12 +1065,22 @@ public class FMRadioService extends Service } mPlaybackInProgress = true; configureAudioDataPath(true); + try { + mCallbacks.onFmAudioPathStarted(); + } catch(RemoteException e) { + e.printStackTrace(); + } } - private void stopFM(){ + private void stopFM() { Log.d(LOGTAG, "In stopFM"); configureAudioDataPath(false); mPlaybackInProgress = false; + try { + mCallbacks.onFmAudioPathStopped(); + } catch(RemoteException e) { + e.printStackTrace(); + } } private void resetFM(){ diff --git a/fmapp2/src/com/caf/fmradio/FMStats.java b/fmapp2/src/com/caf/fmradio/FMStats.java index 961f04b..c035475 100644 --- a/fmapp2/src/com/caf/fmradio/FMStats.java +++ b/fmapp2/src/com/caf/fmradio/FMStats.java @@ -2719,6 +2719,12 @@ public class FMStats extends Activity { public void onA2DPConnectionstateChanged(boolean state){ Log.d(LOGTAG, "mServiceCallbacks.onA2DPConnectionstateChanged :"); } + public void onFmAudioPathStarted() { + Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStarted:"); + } + public void onFmAudioPathStopped() { + Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStopped:"); + } }; /* Radio Vars */ private Handler mHandler = new Handler(); diff --git a/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl b/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl index e6fded7..24aaa70 100644 --- a/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl +++ b/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl @@ -48,4 +48,6 @@ interface IFMRadioServiceCallbacks void onRecordingStarted(); void onSeekNextStation(); void onA2DPConnectionstateChanged(boolean state); + void onFmAudioPathStarted(); + void onFmAudioPathStopped(); } -- GitLab