diff options
author | Hongwei Wang <hwwang@google.com> | 2018-06-07 12:34:15 -0700 |
---|---|---|
committer | Hongwei Wang <hwwang@google.com> | 2018-06-07 12:47:38 -0700 |
commit | 902d5ab00f7ee177174d7e0616f99ff48a07ed74 (patch) | |
tree | 46b47f034c54761c2056e200b1225890cd8190ab /service/src/com/android | |
parent | 9eb8e1bcd0ef89878328a2a30011b8e572c5a9ff (diff) | |
download | Car-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.java | 22 |
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); } |