aboutsummaryrefslogtreecommitdiff
path: root/service/src/com/android
diff options
context:
space:
mode:
authorHongwei Wang <hwwang@google.com>2018-06-07 12:34:15 -0700
committerHongwei Wang <hwwang@google.com>2018-06-07 12:47:38 -0700
commit902d5ab00f7ee177174d7e0616f99ff48a07ed74 (patch)
tree46b47f034c54761c2056e200b1225890cd8190ab /service/src/com/android
parent9eb8e1bcd0ef89878328a2a30011b8e572c5a9ff (diff)
downloadCar-902d5ab00f7ee177174d7e0616f99ff48a07ed74.tar.gz
Support flags for volume change callback
Note: this change adds the support of flags and need further changes to actually fix the UI/UX logic raise by the original bug Bug: 109841417 Test: m -j Change-Id: Ifdbe4afa672af02c7f66417b614609893ee737b2
Diffstat (limited to 'service/src/com/android')
-rw-r--r--service/src/com/android/car/CarAudioService.java22
1 files changed, 11 insertions, 11 deletions
diff --git a/service/src/com/android/car/CarAudioService.java b/service/src/com/android/car/CarAudioService.java
index 77f0f09606..1b7ee67dcd 100644
--- a/service/src/com/android/car/CarAudioService.java
+++ b/service/src/com/android/car/CarAudioService.java
@@ -138,7 +138,7 @@ public class CarAudioService extends ICarAudio.Stub implements CarServiceBase {
+ " suggested usage: " + AudioAttributes.usageToString(usage));
final int groupId = getVolumeGroupIdForUsage(usage);
final int currentVolume = getGroupVolume(groupId);
- final int flags = AudioManager.FLAG_FROM_KEY;
+ final int flags = AudioManager.FLAG_FROM_KEY | AudioManager.FLAG_SHOW_UI;
switch (adjustment) {
case AudioManager.ADJUST_LOWER:
if (currentVolume > getGroupMinVolume(groupId)) {
@@ -152,15 +152,15 @@ public class CarAudioService extends ICarAudio.Stub implements CarServiceBase {
break;
case AudioManager.ADJUST_MUTE:
mAudioManager.setMasterMute(true, flags);
- callbackMasterMuteChange();
+ callbackMasterMuteChange(flags);
break;
case AudioManager.ADJUST_UNMUTE:
mAudioManager.setMasterMute(false, flags);
- callbackMasterMuteChange();
+ callbackMasterMuteChange(flags);
break;
case AudioManager.ADJUST_TOGGLE_MUTE:
mAudioManager.setMasterMute(!mAudioManager.isMasterMute(), flags);
- callbackMasterMuteChange();
+ callbackMasterMuteChange(flags);
break;
case AudioManager.ADJUST_SAME:
default:
@@ -185,11 +185,11 @@ public class CarAudioService extends ICarAudio.Stub implements CarServiceBase {
if (groupId == -1) {
Log.w(CarLog.TAG_AUDIO, "Unknown stream type: " + streamType);
} else {
- callbackGroupVolumeChange(groupId);
+ callbackGroupVolumeChange(groupId, 0);
}
break;
case AudioManager.MASTER_MUTE_CHANGED_ACTION:
- callbackMasterMuteChange();
+ callbackMasterMuteChange(0);
break;
}
}
@@ -260,7 +260,7 @@ public class CarAudioService extends ICarAudio.Stub implements CarServiceBase {
synchronized (mImplLock) {
enforcePermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME);
- callbackGroupVolumeChange(groupId);
+ callbackGroupVolumeChange(groupId, flags);
// For legacy stream type based volume control
if (!mUseDynamicRouting) {
mAudioManager.setStreamVolume(STREAM_TYPES[groupId], index, flags);
@@ -272,22 +272,22 @@ public class CarAudioService extends ICarAudio.Stub implements CarServiceBase {
}
}
- private void callbackGroupVolumeChange(int groupId) {
+ private void callbackGroupVolumeChange(int groupId, int flags) {
for (BinderInterfaceContainer.BinderInterface<ICarVolumeCallback> callback :
mVolumeCallbackContainer.getInterfaces()) {
try {
- callback.binderInterface.onGroupVolumeChanged(groupId);
+ callback.binderInterface.onGroupVolumeChanged(groupId, flags);
} catch (RemoteException e) {
Log.e(CarLog.TAG_AUDIO, "Failed to callback onGroupVolumeChanged", e);
}
}
}
- private void callbackMasterMuteChange() {
+ private void callbackMasterMuteChange(int flags) {
for (BinderInterfaceContainer.BinderInterface<ICarVolumeCallback> callback :
mVolumeCallbackContainer.getInterfaces()) {
try {
- callback.binderInterface.onMasterMuteChanged();
+ callback.binderInterface.onMasterMuteChanged(flags);
} catch (RemoteException e) {
Log.e(CarLog.TAG_AUDIO, "Failed to callback onMasterMuteChanged", e);
}