diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java index 5d51a33c63070..eaad2f9bd4578 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java @@ -43,6 +43,7 @@ import android.provider.Settings; import android.service.notification.Condition; import android.util.ArrayMap; import android.util.Log; +import android.view.accessibility.AccessibilityManager; import com.android.internal.annotations.GuardedBy; import com.android.systemui.Dumpable; @@ -122,6 +123,12 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa mReceiver.init(); mVibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE); mHasVibrator = mVibrator != null && mVibrator.hasVibrator(); + + boolean accessibilityVolumeStreamActive = context.getSystemService( + AccessibilityManager.class).isAccessibilityVolumeStreamActive(); + mVolumeController.setA11yMode(accessibilityVolumeStreamActive ? + VolumePolicy.A11Y_MODE_INDEPENDENT_A11Y_VOLUME : + VolumePolicy.A11Y_MODE_MEDIA_A11Y_VOLUME); } public AudioManager getAudioManager() { @@ -210,6 +217,7 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa public void addCallback(Callbacks callback, Handler handler) { mCallbacks.add(callback, handler); + callback.onAccessibilityModeChanged(mShowA11yStream); } public void setUserActivityListener(UserActivityListener listener) {