Merge "Volume: Hide dialog when motion cancelled, as well as when finished." into tm-qpr-dev am: f597a6c3ec am: fb968542ae

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21940803

Change-Id: Ib7a55ab34e75d9dfb4140e15897dbf534fcff562
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Alison Cichowlas
2023-03-10 17:58:02 +00:00
committed by Automerger Merge Worker

View File

@@ -1416,7 +1416,11 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
@Override
public void onAnimationCancel(@NonNull Animator animation) {
mInteractionJankMonitor.cancel(CUJ_VOLUME_CONTROL);
Log.d(TAG, "onAnimationCancel");
Log.i(TAG, "onAnimationCancel");
// We can only have one animation listener for cancel, so the jank listener should
// also call for cleanup.
finishDismiss();
}
@Override
@@ -1525,12 +1529,7 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
.setDuration(mDialogHideAnimationDurationMs)
.setInterpolator(new SystemUIInterpolators.LogAccelerateInterpolator())
.withEndAction(() -> mHandler.postDelayed(() -> {
mController.notifyVisible(false);
mDialog.dismiss();
tryToRemoveCaptionsTooltip();
mIsAnimatingDismiss = false;
hideRingerDrawer();
finishDismiss();
}, 50));
if (!shouldSlideInVolumeTray()) {
animator.translationX(
@@ -1548,6 +1547,18 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
Trace.endSection();
}
/**
* Clean up and hide volume dialog. Called when animation is finished/cancelled.
*/
private void finishDismiss() {
mController.notifyVisible(false);
mDialog.dismiss();
tryToRemoveCaptionsTooltip();
mIsAnimatingDismiss = false;
hideRingerDrawer();
}
private boolean showActiveStreamOnly() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)
|| mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION);