Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5465a087 authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge "Tweaks to QS Animation" into nyc-dev

am: 5c3b3442

* commit '5c3b3442':
  Tweaks to QS Animation
parents 5f98cb4f 5c3b3442
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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>
+20 −9
Original line number Diff line number Diff line
@@ -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);
        }
+3 −7
Original line number Diff line number Diff line
@@ -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);