Merge "Add X translation to tiles." into sc-dev

This commit is contained in:
Fabian Kozynski
2021-06-30 15:56:37 +00:00
committed by Android (Google) Code Review

View File

@@ -81,6 +81,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
private QSExpansionPathInterpolator mQSExpansionPathInterpolator; private QSExpansionPathInterpolator mQSExpansionPathInterpolator;
private TouchAnimator mFirstPageAnimator; private TouchAnimator mFirstPageAnimator;
private TouchAnimator mFirstPageDelayedAnimator; private TouchAnimator mFirstPageDelayedAnimator;
private TouchAnimator mTranslationXAnimator;
private TouchAnimator mTranslationYAnimator; private TouchAnimator mTranslationYAnimator;
private TouchAnimator mNonfirstPageAnimator; private TouchAnimator mNonfirstPageAnimator;
private TouchAnimator mNonfirstPageDelayedAnimator; private TouchAnimator mNonfirstPageDelayedAnimator;
@@ -223,18 +224,25 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
View qqsView, View qqsView,
View qsView, View qsView,
View commonParent, View commonParent,
int xOffset,
int yOffset, int yOffset,
int[] temp, int[] temp,
TouchAnimator.Builder animatorBuilder TouchAnimator.Builder animatorBuilderX,
TouchAnimator.Builder animatorBuilderY
) { ) {
getRelativePosition(temp, qqsView, commonParent); getRelativePosition(temp, qqsView, commonParent);
int qqsPos = temp[1]; int qqsPosX = temp[0];
int qqsPosY = temp[1];
getRelativePosition(temp, qsView, commonParent); getRelativePosition(temp, qsView, commonParent);
int qsPos = temp[1]; int qsPosX = temp[0];
int qsPosY = temp[1];
int diff = qsPos - qqsPos - yOffset; int xDiff = qsPosX - qqsPosX - xOffset;
animatorBuilder.addFloat(qqsView, "translationY", 0, diff); animatorBuilderX.addFloat(qqsView, "translationX", 0, xDiff);
animatorBuilder.addFloat(qsView, "translationY", -diff, 0); 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(qqsView);
mAllViews.add(qsView); mAllViews.add(qsView);
} }
@@ -243,6 +251,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
mNeedsAnimatorUpdate = false; mNeedsAnimatorUpdate = false;
TouchAnimator.Builder firstPageBuilder = new Builder(); TouchAnimator.Builder firstPageBuilder = new Builder();
TouchAnimator.Builder translationYBuilder = new Builder(); TouchAnimator.Builder translationYBuilder = new Builder();
TouchAnimator.Builder translationXBuilder = new Builder();
Collection<QSTile> tiles = mHost.getTiles(); Collection<QSTile> tiles = mHost.getTiles();
int count = 0; int count = 0;
@@ -289,6 +298,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
getRelativePosition(loc1, quickTileView, view); getRelativePosition(loc1, quickTileView, view);
getRelativePosition(loc2, tileView, view); getRelativePosition(loc2, tileView, view);
int yOffset = loc2[1] - loc1[1]; int yOffset = loc2[1] - loc1[1];
int xOffset = loc2[0] - loc1[0];
// Offset the translation animation on the views // Offset the translation animation on the views
// (that goes from 0 to getOffsetTranslation) // (that goes from 0 to getOffsetTranslation)
@@ -299,6 +309,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
translationYBuilder.addFloat(tileView, "translationY", translationYBuilder.addFloat(tileView, "translationY",
-offsetWithQSBHTranslation, 0); -offsetWithQSBHTranslation, 0);
translationXBuilder.addFloat(quickTileView, "translationX", 0, xOffset);
translationXBuilder.addFloat(tileView, "translationX", -xOffset, 0);
if (mQQSTileHeightAnimator == null) { if (mQQSTileHeightAnimator == null) {
mQQSTileHeightAnimator = new HeightExpansionAnimator(this, mQQSTileHeightAnimator = new HeightExpansionAnimator(this,
quickTileView.getHeight(), tileView.getHeight()); quickTileView.getHeight(), tileView.getHeight());
@@ -312,8 +325,10 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
quickTileView.getIcon(), quickTileView.getIcon(),
tileView.getIcon(), tileView.getIcon(),
view, view,
xOffset,
yOffset, yOffset,
loc1, loc1,
translationXBuilder,
translationYBuilder translationYBuilder
); );
@@ -322,8 +337,10 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
quickTileView.getLabelContainer(), quickTileView.getLabelContainer(),
tileView.getLabelContainer(), tileView.getLabelContainer(),
view, view,
xOffset,
yOffset, yOffset,
loc1, loc1,
translationXBuilder,
translationYBuilder translationYBuilder
); );
@@ -332,8 +349,10 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
quickTileView.getSecondaryIcon(), quickTileView.getSecondaryIcon(),
tileView.getSecondaryIcon(), tileView.getSecondaryIcon(),
view, view,
xOffset,
yOffset, yOffset,
loc1, loc1,
translationXBuilder,
translationYBuilder translationYBuilder
); );
@@ -401,7 +420,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
mAllPagesDelayedAnimator = builder.build(); mAllPagesDelayedAnimator = builder.build();
mAllViews.add(mSecurityFooter.getView()); mAllViews.add(mSecurityFooter.getView());
translationYBuilder.setInterpolator(mQSExpansionPathInterpolator.getYInterpolator()); translationYBuilder.setInterpolator(mQSExpansionPathInterpolator.getYInterpolator());
translationXBuilder.setInterpolator(mQSExpansionPathInterpolator.getXInterpolator());
mTranslationYAnimator = translationYBuilder.build(); mTranslationYAnimator = translationYBuilder.build();
mTranslationXAnimator = translationXBuilder.build();
if (mQQSTileHeightAnimator != null) { if (mQQSTileHeightAnimator != null) {
mQQSTileHeightAnimator.setInterpolator( mQQSTileHeightAnimator.setInterpolator(
mQSExpansionPathInterpolator.getYInterpolator()); mQSExpansionPathInterpolator.getYInterpolator());
@@ -474,6 +495,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
mFirstPageAnimator.setPosition(position); mFirstPageAnimator.setPosition(position);
mFirstPageDelayedAnimator.setPosition(position); mFirstPageDelayedAnimator.setPosition(position);
mTranslationYAnimator.setPosition(position); mTranslationYAnimator.setPosition(position);
mTranslationXAnimator.setPosition(position);
if (mQQSTileHeightAnimator != null) { if (mQQSTileHeightAnimator != null) {
mQQSTileHeightAnimator.setPosition(position); mQQSTileHeightAnimator.setPosition(position);
} }