Merge "Don't animate volume slider on TV" into main
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index b436eb9..e56893a 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -282,7 +282,7 @@
@GuardedBy("mSafetyWarningLock")
private CsdWarningDialog mCsdDialog;
private boolean mHovering = false;
- private final boolean mShowActiveStreamOnly;
+ private final boolean mIsTv;
private boolean mConfigChanged = false;
private boolean mIsAnimatingDismiss = false;
private boolean mHasSeenODICaptionsTooltip;
@@ -343,7 +343,7 @@
mConfigurationController = configurationController;
mMediaOutputDialogManager = mediaOutputDialogManager;
mCsdWarningDialogFactory = csdWarningDialogFactory;
- mShowActiveStreamOnly = showActiveStreamOnly();
+ mIsTv = isTv();
mHasSeenODICaptionsTooltip =
Prefs.getBoolean(context, Prefs.Key.HAS_SEEN_ODI_CAPTIONS_TOOLTIP, false);
mShowLowMediaVolumeIcon =
@@ -1632,7 +1632,7 @@
Trace.endSection();
}
- private boolean showActiveStreamOnly() {
+ private boolean isTv() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)
|| mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION);
}
@@ -1644,7 +1644,7 @@
return true;
}
- if (!mShowActiveStreamOnly) {
+ if (!mIsTv) {
if (row.stream == AudioSystem.STREAM_ACCESSIBILITY) {
return mShowA11yStream;
}
@@ -2089,6 +2089,11 @@
}
final int newProgress = getProgressFromVolume(row.ss, row.slider, vlevel);
if (progress != newProgress) {
+ if (mIsTv) {
+ // don't animate slider on TVs
+ row.slider.setProgress(newProgress, false);
+ return;
+ }
if (mShowing && rowVisible) {
// animate!
if (row.anim != null && row.anim.isRunning()