diff options
| author | 2021-06-24 16:09:43 -0400 | |
|---|---|---|
| committer | 2021-06-24 16:09:43 -0400 | |
| commit | 9b2b0f66a4825b256126cf2bea7d21556a6085d4 (patch) | |
| tree | 2b0681163cd11ce50301b4f17b021234d0b021b8 | |
| parent | 7712f3bc0a2d8b41511c24068f066d550d891d85 (diff) | |
Add X translation to tiles.
Test: manual
Bug: 191735427
Change-Id: I6710900bdd90afad2b20e1d006fb26469f00d9a7
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java index 14bf8ab78e2c..3f7a0e2bb3b9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java @@ -81,6 +81,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha private QSExpansionPathInterpolator mQSExpansionPathInterpolator; private TouchAnimator mFirstPageAnimator; private TouchAnimator mFirstPageDelayedAnimator; + private TouchAnimator mTranslationXAnimator; private TouchAnimator mTranslationYAnimator; private TouchAnimator mNonfirstPageAnimator; private TouchAnimator mNonfirstPageDelayedAnimator; @@ -223,18 +224,25 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha View qqsView, View qsView, View commonParent, + int xOffset, int yOffset, int[] temp, - TouchAnimator.Builder animatorBuilder + TouchAnimator.Builder animatorBuilderX, + TouchAnimator.Builder animatorBuilderY ) { getRelativePosition(temp, qqsView, commonParent); - int qqsPos = temp[1]; + int qqsPosX = temp[0]; + int qqsPosY = temp[1]; getRelativePosition(temp, qsView, commonParent); - int qsPos = temp[1]; - - int diff = qsPos - qqsPos - yOffset; - animatorBuilder.addFloat(qqsView, "translationY", 0, diff); - animatorBuilder.addFloat(qsView, "translationY", -diff, 0); + int qsPosX = temp[0]; + int qsPosY = temp[1]; + + int xDiff = qsPosX - qqsPosX - xOffset; + animatorBuilderX.addFloat(qqsView, "translationX", 0, xDiff); + animatorBuilderX.addFloat(qsView, "translationX", -xDiff, 0); + int yDiff = qsPosY - qqsPosY - yOffset; + animatorBuilderY.addFloat(qqsView, "translationY", 0, yDiff); + animatorBuilderY.addFloat(qsView, "translationY", -yDiff, 0); mAllViews.add(qqsView); mAllViews.add(qsView); } @@ -243,6 +251,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha mNeedsAnimatorUpdate = false; TouchAnimator.Builder firstPageBuilder = new Builder(); TouchAnimator.Builder translationYBuilder = new Builder(); + TouchAnimator.Builder translationXBuilder = new Builder(); Collection<QSTile> tiles = mHost.getTiles(); int count = 0; @@ -289,6 +298,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha getRelativePosition(loc1, quickTileView, view); getRelativePosition(loc2, tileView, view); int yOffset = loc2[1] - loc1[1]; + int xOffset = loc2[0] - loc1[0]; // Offset the translation animation on the views // (that goes from 0 to getOffsetTranslation) @@ -299,6 +309,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha translationYBuilder.addFloat(tileView, "translationY", -offsetWithQSBHTranslation, 0); + translationXBuilder.addFloat(quickTileView, "translationX", 0, xOffset); + translationXBuilder.addFloat(tileView, "translationX", -xOffset, 0); + if (mQQSTileHeightAnimator == null) { mQQSTileHeightAnimator = new HeightExpansionAnimator(this, quickTileView.getHeight(), tileView.getHeight()); @@ -312,8 +325,10 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha quickTileView.getIcon(), tileView.getIcon(), view, + xOffset, yOffset, loc1, + translationXBuilder, translationYBuilder ); @@ -322,8 +337,10 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha quickTileView.getLabelContainer(), tileView.getLabelContainer(), view, + xOffset, yOffset, loc1, + translationXBuilder, translationYBuilder ); @@ -332,8 +349,10 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha quickTileView.getSecondaryIcon(), tileView.getSecondaryIcon(), view, + xOffset, yOffset, loc1, + translationXBuilder, translationYBuilder ); @@ -401,7 +420,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha mAllPagesDelayedAnimator = builder.build(); mAllViews.add(mSecurityFooter.getView()); translationYBuilder.setInterpolator(mQSExpansionPathInterpolator.getYInterpolator()); + translationXBuilder.setInterpolator(mQSExpansionPathInterpolator.getXInterpolator()); mTranslationYAnimator = translationYBuilder.build(); + mTranslationXAnimator = translationXBuilder.build(); if (mQQSTileHeightAnimator != null) { mQQSTileHeightAnimator.setInterpolator( mQSExpansionPathInterpolator.getYInterpolator()); @@ -474,6 +495,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha mFirstPageAnimator.setPosition(position); mFirstPageDelayedAnimator.setPosition(position); mTranslationYAnimator.setPosition(position); + mTranslationXAnimator.setPosition(position); if (mQQSTileHeightAnimator != null) { mQQSTileHeightAnimator.setPosition(position); } |