From 74747d8da02522822859afe095a15a7b626ef02d Mon Sep 17 00:00:00 2001 From: Rituj Beniwal Date: Fri, 4 Jun 2021 14:45:41 +0530 Subject: [aospa][ruby] VolumeDialog: Fix animation when ringer and notification are unlinked Signed-off-by: Rituj Beniwal Change-Id: I92ab08edaa9d545f17f07093f421bf3b73e1d49a --- .../android/systemui/volume/VolumeDialogImpl.java | 32 ++++++++++++---------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 9545d794904a..8a0cdb4252db 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -497,7 +497,7 @@ public class VolumeDialogImpl implements VolumeDialog, VolumeRow notification = findRow(STREAM_NOTIFICATION); VolumeRow active = getActiveRow(); - float width = mWidth + mSpacer; + final float width = mWidth + mSpacer; float z = mElevation; boolean isMediaButtonVisible = mMediaButtonView.getVisibility() == VISIBLE; @@ -514,27 +514,29 @@ public class VolumeDialogImpl implements VolumeDialog, hideCaptionsTooltip(); } + float translation = 0; boolean isNotificationEnabled = notification != null && !mState.linkedNotification; if (isNotificationEnabled) { final boolean isNotifVisible = active == notification; - animateViewOut(notification.view, isNotifVisible, 0, z); + animateViewOut(notification.view, isNotifVisible, translation, z); z /= 2; + translation += isNotifVisible ? 0 : width; } if (alarm != null) { final boolean isAlarmVisible = active == alarm; - animateViewOut(alarm.view, isAlarmVisible, isNotificationEnabled ? width : 0, z); + animateViewOut(alarm.view, isAlarmVisible, translation, z); z /= 2; - width = isAlarmVisible ? 0 : width; + translation += isAlarmVisible ? 0 : width; } if (ring != null) { final boolean isRingVisible = active == ring; - animateViewOut(ring.view, isRingVisible, width, z); + animateViewOut(ring.view, isRingVisible, translation, z); z /= 2; - width += isRingVisible ? 0 : (mWidth + mSpacer); + translation += isRingVisible ? 0 : width; } if (media != null) { Util.setVisOrGone(media.view, true); - animateViewOut(media.view, true, width, z); + animateViewOut(media.view, true, translation, z); } if (mShowingMediaDevices) { mDialogRowsView.setAlpha(1f); @@ -692,7 +694,7 @@ public class VolumeDialogImpl implements VolumeDialog, mWidth = (float) active.view.getWidth(); } - float width = mWidth + mSpacer; + final float width = mWidth + mSpacer; float z = mElevation; boolean showMediaOutput = !Utils.isAudioModeOngoingCall(mContext) && @@ -713,26 +715,28 @@ public class VolumeDialogImpl implements VolumeDialog, } } + float translation = 0; boolean isNotificationEnabled = notification != null && !mState.linkedNotification; if (isNotificationEnabled) { final boolean isNotifVisible = active == notification; - animateViewIn(notification.view, isNotifVisible, 0, z); + animateViewIn(notification.view, isNotifVisible, translation, z); z /= 2; + translation += isNotifVisible ? 0 : width; } if (alarm != null) { final boolean isAlarmVisible = active == alarm; - animateViewIn(alarm.view, isAlarmVisible, isNotificationEnabled ? width : 0, z); + animateViewIn(alarm.view, isAlarmVisible, translation, z); z /= 2; - width = isAlarmVisible ? 0 : width; + translation = isAlarmVisible ? 0 : width; } if (ring != null) { final boolean isRingVisible = active == ring; - animateViewIn(ring.view, isRingVisible, width, z); + animateViewIn(ring.view, isRingVisible, translation, z); z /= 2; - width += isRingVisible ? 0 : (mWidth + mSpacer); + translation += isRingVisible ? 0 : width; } if (media != null) { - animateViewIn(media.view, true, width, z); + animateViewIn(media.view, true, translation, z); } provideTouchHapticH(VibrationEffect.get(VibrationEffect.EFFECT_TICK)); -- cgit v1.2.3