mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 02:38:20 +00:00
Translate the taskbar icons to match nav handle shape.
- We need to reset icon alignment whenever icon layout bound changes. This fixes the issue where we build an icon alignment animator before any of the views are laid out. - Separated animation logic between. createTransientAnimToIsStashed and createAnimToIsStashed * The values still require a bit more tuning but this gets us a lot closer to spec for many of the motion polish. Bug: 267806083 Bug: 246634367 Bug: 246635237 Test: manual Change-Id: Id122134b22ef4e418ce632e4a8137239dc8bb313
This commit is contained in:
@@ -104,6 +104,10 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
|
||||
private final PointF mTranslationForReorderPreview = new PointF(0, 0);
|
||||
|
||||
private float mTranslationXForTaskbarAlignmentAnimation = 0f;
|
||||
private float mTranslationYForTaskbarAlignmentAnimation = 0f;
|
||||
|
||||
private float mTranslationXForTaskbarRevealAnimation = 0f;
|
||||
private float mTranslationYForTaskbarRevealAnimation = 0f;
|
||||
|
||||
private final PointF mTranslationForMoveFromCenterAnimation = new PointF(0, 0);
|
||||
|
||||
@@ -952,11 +956,17 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
|
||||
}
|
||||
|
||||
private void updateTranslation() {
|
||||
super.setTranslationX(mTranslationForReorderBounce.x + mTranslationForReorderPreview.x
|
||||
super.setTranslationX(mTranslationForReorderBounce.x
|
||||
+ mTranslationForReorderPreview.x
|
||||
+ mTranslationForMoveFromCenterAnimation.x
|
||||
+ mTranslationXForTaskbarAlignmentAnimation);
|
||||
super.setTranslationY(mTranslationForReorderBounce.y + mTranslationForReorderPreview.y
|
||||
+ mTranslationForMoveFromCenterAnimation.y);
|
||||
+ mTranslationXForTaskbarAlignmentAnimation
|
||||
+ mTranslationXForTaskbarRevealAnimation
|
||||
);
|
||||
super.setTranslationY(mTranslationForReorderBounce.y
|
||||
+ mTranslationForReorderPreview.y
|
||||
+ mTranslationForMoveFromCenterAnimation.y
|
||||
+ mTranslationYForTaskbarAlignmentAnimation
|
||||
+ mTranslationYForTaskbarRevealAnimation);
|
||||
}
|
||||
|
||||
public void setReorderBounceOffset(float x, float y) {
|
||||
@@ -1012,6 +1022,51 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
|
||||
return mTranslationXForTaskbarAlignmentAnimation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets translationX for taskbar to launcher alignment animation
|
||||
*/
|
||||
public void setTranslationYForTaskbarAlignmentAnimation(float translationY) {
|
||||
mTranslationYForTaskbarAlignmentAnimation = translationY;
|
||||
updateTranslation();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns translationY value for taskbar to launcher alignment animation
|
||||
*/
|
||||
public float getTranslationYForTaskbarAlignmentAnimation() {
|
||||
return mTranslationYForTaskbarAlignmentAnimation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets translationX value for taskbar reveal animation
|
||||
*/
|
||||
public void setTranslationXForTaskbarRevealAnimation(float translationX) {
|
||||
mTranslationXForTaskbarRevealAnimation = translationX;
|
||||
updateTranslation();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns translation values for taskbar reveal animation
|
||||
*/
|
||||
public float getTranslationXForTaskbarRevealAnimation() {
|
||||
return mTranslationXForTaskbarRevealAnimation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets translationY value for taskbar reveal animation
|
||||
*/
|
||||
public void setTranslationYForTaskbarRevealAnimation(float translationY) {
|
||||
mTranslationYForTaskbarRevealAnimation = translationY;
|
||||
updateTranslation();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns translationY values for taskbar reveal animation
|
||||
*/
|
||||
public float getTranslationYForTaskbarRevealAnimation() {
|
||||
return mTranslationYForTaskbarRevealAnimation;
|
||||
}
|
||||
|
||||
public View getView() {
|
||||
return this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user