Merge "Add X translation to tiles." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
de1a9f66e8
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user