Merge "Tweaks to QS Animation" into nyc-dev
This commit is contained in:
@@ -178,7 +178,7 @@
|
||||
<dimen name="qs_date_alarm_anim_translation">22dp</dimen>
|
||||
<dimen name="qs_date_collapsed_text_size">14sp</dimen>
|
||||
<dimen name="qs_date_text_size">16sp</dimen>
|
||||
<dimen name="qs_header_gear_translation">150dp</dimen>
|
||||
<dimen name="qs_header_gear_translation">16dp</dimen>
|
||||
<dimen name="qs_page_indicator_size">12dp</dimen>
|
||||
<dimen name="qs_tile_icon_size">24dp</dimen>
|
||||
<dimen name="qs_tile_text_size">12sp</dimen>
|
||||
|
||||
@@ -41,6 +41,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
private static final String MOVE_FULL_ROWS = "sysui_qs_move_whole_rows";
|
||||
|
||||
public static final float EXPANDED_TILE_DELAY = .7f;
|
||||
private static final float LAST_ROW_EXPANDED_DELAY = .84f;
|
||||
|
||||
private final ArrayList<View> mAllViews = new ArrayList<>();
|
||||
private final ArrayList<View> mTopFiveQs = new ArrayList<>();
|
||||
@@ -56,6 +57,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
private TouchAnimator mTranslationXAnimator;
|
||||
private TouchAnimator mTranslationYAnimator;
|
||||
private TouchAnimator mNonfirstPageAnimator;
|
||||
private TouchAnimator mLastRowAnimator;
|
||||
|
||||
private boolean mOnKeyguard;
|
||||
|
||||
@@ -129,20 +131,20 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
TouchAnimator.Builder firstPageBuilder = new Builder();
|
||||
TouchAnimator.Builder translationXBuilder = new Builder();
|
||||
TouchAnimator.Builder translationYBuilder = new Builder();
|
||||
TouchAnimator.Builder firstPageDelayedBuilder = new Builder();
|
||||
TouchAnimator.Builder lastRowBuilder = new Builder();
|
||||
|
||||
Collection<QSTile<?>> tiles = mQsPanel.getHost().getTiles();
|
||||
int count = 0;
|
||||
int[] loc1 = new int[2];
|
||||
int[] loc2 = new int[2];
|
||||
int lastYDiff = 0;
|
||||
firstPageDelayedBuilder.setStartDelay(EXPANDED_TILE_DELAY);
|
||||
firstPageBuilder.setListener(this);
|
||||
// Fade in the tiles/labels as we reach the final position.
|
||||
firstPageDelayedBuilder.addFloat(mQsPanel.getTileLayout(), "alpha", 0, 1);
|
||||
|
||||
clearAnimationState();
|
||||
mAllViews.clear();
|
||||
mTopFiveQs.clear();
|
||||
|
||||
mAllViews.add((View) mQsPanel.getTileLayout());
|
||||
|
||||
for (QSTile<?> tile : tiles) {
|
||||
QSTileBaseView tileView = mQsPanel.getTileView(tile);
|
||||
final TextView label = ((QSTileView) tileView).getLabel();
|
||||
@@ -171,22 +173,30 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
|
||||
mTopFiveQs.add(tileIcon);
|
||||
mAllViews.add(tileIcon);
|
||||
mAllViews.add(label);
|
||||
mAllViews.add(quickTileView);
|
||||
} else if (mFullRows && isIconInAnimatedRow(count)) {
|
||||
firstPageBuilder.addFloat(tileView, "translationY", mQsPanel.getHeight(), 0);
|
||||
translationYBuilder.addFloat(label, "translationY", -lastYDiff, 0);
|
||||
translationYBuilder.addFloat(tileIcon, "translationY", -lastYDiff, 0);
|
||||
mAllViews.add(tileIcon);
|
||||
mAllViews.add(label);
|
||||
} else {
|
||||
lastRowBuilder.addFloat(tileView, "alpha", 0, 1);
|
||||
}
|
||||
mAllViews.add(tileView);
|
||||
mAllViews.add(label);
|
||||
count++;
|
||||
}
|
||||
if (mAllowFancy) {
|
||||
mFirstPageAnimator = firstPageBuilder.build();
|
||||
mFirstPageDelayedAnimator = firstPageDelayedBuilder.build();
|
||||
mFirstPageAnimator = firstPageBuilder
|
||||
.setListener(this)
|
||||
.build();
|
||||
// Fade in the tiles/labels as we reach the final position.
|
||||
mFirstPageDelayedAnimator = new TouchAnimator.Builder()
|
||||
.setStartDelay(EXPANDED_TILE_DELAY)
|
||||
.addFloat(mQsPanel.getTileLayout(), "alpha", 0, 1).build();
|
||||
mLastRowAnimator = lastRowBuilder
|
||||
.setStartDelay(LAST_ROW_EXPANDED_DELAY)
|
||||
.build();
|
||||
Path path = new Path();
|
||||
path.moveTo(0, 0);
|
||||
path.cubicTo(0, 0, 0, 1, 1, 1);
|
||||
@@ -235,6 +245,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
mFirstPageDelayedAnimator.setPosition(position);
|
||||
mTranslationXAnimator.setPosition(position);
|
||||
mTranslationYAnimator.setPosition(position);
|
||||
mLastRowAnimator.setPosition(position);
|
||||
} else {
|
||||
mNonfirstPageAnimator.setPosition(position);
|
||||
}
|
||||
|
||||
@@ -83,7 +83,6 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
|
||||
private float mDateScaleFactor;
|
||||
private float mGearTranslation;
|
||||
|
||||
private TouchAnimator mAnimator;
|
||||
private TouchAnimator mSecondHalfAnimator;
|
||||
private TouchAnimator mFirstHalfAnimator;
|
||||
private TouchAnimator mDateSizeAnimator;
|
||||
@@ -154,12 +153,7 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
|
||||
mDateScaleFactor = dateExpandedSize / dateCollapsedSize;
|
||||
updateDateTimePosition();
|
||||
|
||||
mAnimator = new TouchAnimator.Builder()
|
||||
.addFloat(mSettingsContainer, "translationY", -mGearTranslation, 0)
|
||||
.addFloat(mMultiUserSwitch, "translationY", -mGearTranslation, 0)
|
||||
.build();
|
||||
mSecondHalfAnimator = new TouchAnimator.Builder()
|
||||
.addFloat(mSettingsButton, "rotation", -180, 0)
|
||||
.addFloat(mAlarmStatus, "alpha", 0, 1)
|
||||
.addFloat(mEmergencyOnly, "alpha", 0, 1)
|
||||
.setStartDelay(.5f)
|
||||
@@ -174,6 +168,9 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
|
||||
.setStartDelay(.36f)
|
||||
.build();
|
||||
mSettingsAlpha = new TouchAnimator.Builder()
|
||||
.addFloat(mSettingsContainer, "translationY", -mGearTranslation, 0)
|
||||
.addFloat(mMultiUserSwitch, "translationY", -mGearTranslation, 0)
|
||||
.addFloat(mSettingsButton, "rotation", -90, 0)
|
||||
.addFloat(mSettingsContainer, "alpha", 0, 1)
|
||||
.addFloat(mMultiUserSwitch, "alpha", 0, 1)
|
||||
.setStartDelay(QSAnimator.EXPANDED_TILE_DELAY)
|
||||
@@ -211,7 +208,6 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
|
||||
@Override
|
||||
public void setExpansion(float headerExpansionFraction) {
|
||||
mExpansionAmount = headerExpansionFraction;
|
||||
mAnimator.setPosition(headerExpansionFraction);
|
||||
mSecondHalfAnimator.setPosition(headerExpansionFraction);
|
||||
mFirstHalfAnimator.setPosition(headerExpansionFraction);
|
||||
mDateSizeAnimator.setPosition(headerExpansionFraction);
|
||||
|
||||
Reference in New Issue
Block a user