From 3ddda6dc4c184acef268127f1ea7b81cdc5c5ebc Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Fri, 8 Jun 2018 00:26:48 -0700 Subject: [PATCH] Fixed a flickering of the icon when it goes into the shelf We can adjust the Pivot such that the scaling doesn't happen irregularly and that the animation is smooth. Change-Id: Ib2e42a20430e1c10950a197a4c04e7c64c7dec67 Test: add notification, no flicker Fixes: 80270979 --- .../com/android/systemui/statusbar/StatusBarIconView.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java index 27cb077394b12..c0e7ac4810d9e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java @@ -197,6 +197,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi mDarkAmount); final int outerBounds = mStatusBarIconSize; mIconScale = (float)imageBounds / (float)outerBounds; + updatePivot(); } private void updateIconScaleForSystemIcons() { @@ -859,6 +860,12 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi mLayoutRunnable.run(); mLayoutRunnable = null; } + updatePivot(); + } + + private void updatePivot() { + setPivotX((1 - mIconScale) / 2.0f * getWidth()); + setPivotY((getHeight() - mIconScale * getWidth()) / 2.0f); } public void executeOnLayout(Runnable runnable) {