summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRupesh Tatiya <rtatiya@codeaurora.org>2016-02-24 15:16:28 +0530
committerArne Coucheron <arco68@gmail.com>2016-03-22 00:14:39 +0100
commitaae515a46520b4a9a6a2f320dcc05a9457611500 (patch)
treeb8fa9decb3fff72b6de23fe67fd0f3c758f28cd8
parent7ea733e8a40e02b465caab343e85346fe5d6f5b3 (diff)
downloadandroid_hardware_qcom_fm-aae515a46520b4a9a6a2f320dcc05a9457611500.tar.gz
android_hardware_qcom_fm-aae515a46520b4a9a6a2f320dcc05a9457611500.tar.bz2
android_hardware_qcom_fm-aae515a46520b4a9a6a2f320dcc05a9457611500.zip
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
-rw-r--r--fmapp2/src/com/caf/fmradio/FMRadio.java10
-rw-r--r--fmapp2/src/com/caf/fmradio/FMRadioService.java14
-rw-r--r--fmapp2/src/com/caf/fmradio/FMStats.java6
-rw-r--r--fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl2
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 be18d6f..7307956 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -3256,6 +3256,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 bc28f62..8e615db 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -1019,7 +1019,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;
@@ -1072,12 +1072,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();
}