Merge "Fix volume dialog dismiss animation" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2023-01-10 10:17:40 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 1 deletions

View File

@@ -1487,6 +1487,7 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
.setDuration(mDialogHideAnimationDurationMs) .setDuration(mDialogHideAnimationDurationMs)
.setInterpolator(new SystemUIInterpolators.LogAccelerateInterpolator()) .setInterpolator(new SystemUIInterpolators.LogAccelerateInterpolator())
.withEndAction(() -> mHandler.postDelayed(() -> { .withEndAction(() -> mHandler.postDelayed(() -> {
mController.notifyVisible(false);
mDialog.dismiss(); mDialog.dismiss();
tryToRemoveCaptionsTooltip(); tryToRemoveCaptionsTooltip();
mIsAnimatingDismiss = false; mIsAnimatingDismiss = false;
@@ -1497,7 +1498,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
animator.setListener(getJankListener(getDialogView(), TYPE_DISMISS, animator.setListener(getJankListener(getDialogView(), TYPE_DISMISS,
mDialogHideAnimationDurationMs)).start(); mDialogHideAnimationDurationMs)).start();
checkODICaptionsTooltip(true); checkODICaptionsTooltip(true);
mController.notifyVisible(false);
synchronized (mSafetyWarningLock) { synchronized (mSafetyWarningLock) {
if (mSafetyWarning != null) { if (mSafetyWarning != null) {
if (D.BUG) Log.d(TAG, "SafetyWarning dismissed"); if (D.BUG) Log.d(TAG, "SafetyWarning dismissed");

View File

@@ -16,6 +16,7 @@
package com.android.systemui.volume; package com.android.systemui.volume;
import static com.android.systemui.volume.Events.DISMISS_REASON_UNKNOWN;
import static com.android.systemui.volume.VolumeDialogControllerImpl.STREAMS; import static com.android.systemui.volume.VolumeDialogControllerImpl.STREAMS;
import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
@@ -342,6 +343,15 @@ public class VolumeDialogImplTest extends SysuiTestCase {
assertEquals(mDialog.mVolumeRingerMuteIconDrawableId, R.drawable.ic_volume_ringer_mute); assertEquals(mDialog.mVolumeRingerMuteIconDrawableId, R.drawable.ic_volume_ringer_mute);
} }
@Test
public void testDialogDismissAnimation_notifyVisibleIsNotCalledBeforeAnimation() {
mDialog.dismissH(DISMISS_REASON_UNKNOWN);
// notifyVisible(false) should not be called immediately but only after the dismiss
// animation has ended.
verify(mVolumeDialogController, times(0)).notifyVisible(false);
mDialog.getDialogView().animate().cancel();
}
/* /*
@Test @Test
public void testContentDescriptions() { public void testContentDescriptions() {