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

Commit 4fd98d1f authored by Sid Soundararajan's avatar Sid Soundararajan Committed by Android (Google) Code Review
Browse files

Merge "Reset Cards as they come into view" into nyc-dev

parents 2ff5780d 061f81e7
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -350,13 +350,6 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
        } else {
            mRecentsView.getViewTreeObserver().addOnPreDrawListener(this);
        }
        if(mTaskStackHorizontalGridView.getStack().getTaskCount() > 1 && !mLaunchedFromHome) {
            // If there are 2 or more tasks, and we are not launching from home
            // set the selected position to the 2nd task to allow for faster app switching
            mTaskStackHorizontalGridView.setSelectedPosition(1);
        } else {
            mTaskStackHorizontalGridView.setSelectedPosition(0);
        }

        // If this is a new instance from a configuration change, then we have to manually trigger
        // the enter animation state, or if recents was relaunched by AM, without going through
@@ -382,6 +375,7 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
        if(mLaunchedFromHome) {
            mHomeRecentsEnterExitAnimationHolder.startEnterAnimation(mPipManager.isPipShown());
        }
        mTaskStackViewAdapter.setResetAddedCards(true);
        EventBus.getDefault().send(new EnterRecentsWindowAnimationCompletedEvent());
    }

@@ -389,12 +383,20 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
    public void onResume() {
        super.onResume();
        mPipRecentsOverlayManager.onRecentsResumed();
        if(mTaskStackHorizontalGridView.getStack().getTaskCount() > 1 && !mLaunchedFromHome) {
            // If there are 2 or more tasks, and we are not launching from home
            // set the selected position to the 2nd task to allow for faster app switching
            mTaskStackHorizontalGridView.setSelectedPosition(1);
        } else {
            mTaskStackHorizontalGridView.setSelectedPosition(0);
        }
    }

    @Override
    public void onPause() {
        super.onPause();
        mPipRecentsOverlayManager.onRecentsPaused();
        mTaskStackViewAdapter.setResetAddedCards(false);
    }

    @Override
+4 −5
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.recents.tv.animations;
import android.animation.Animator.AnimatorListener;
import android.content.res.Resources;
import android.graphics.drawable.TransitionDrawable;
import android.util.TypedValue;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -39,7 +38,7 @@ public class DismissAnimationsHolder {
    private TransitionDrawable mDismissDrawable;
    private TextView mDismissText;

    private float mDismissUnselectedAlpha;
    private float mDismissIconNotInDismissStateAlpha;
    private long mShortDuration;
    private long mLongDuration;

@@ -57,7 +56,7 @@ public class DismissAnimationsHolder {
        mDismissStartYDelta = mDismissEnterYDelta * 2;
        mShortDuration =  res.getInteger(R.integer.dismiss_short_duration);
        mLongDuration =  res.getInteger(R.integer.dismiss_long_duration);
        mDismissUnselectedAlpha = res.getFloat(R.integer.dismiss_unselected_alpha);
        mDismissIconNotInDismissStateAlpha = res.getFloat(R.integer.dismiss_unselected_alpha);
    }

    public void startEnterAnimation() {
@@ -94,7 +93,7 @@ public class DismissAnimationsHolder {
        mCardDismissIcon.animate()
                .setDuration(mShortDuration)
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .alpha(mDismissUnselectedAlpha)
                .alpha(mDismissIconNotInDismissStateAlpha)
                .withEndAction(new Runnable() {
                    @Override
                    public void run() {
@@ -157,7 +156,7 @@ public class DismissAnimationsHolder {
        mInfoField.animate().setListener(null);
        mThumbnailView.setAlpha(1.0f);
        mThumbnailView.setTranslationY(0);
        mCardDismissIcon.setAlpha(mDismissUnselectedAlpha);
        mCardDismissIcon.setAlpha(0.0f);
        mDismissText.setAlpha(0.0f);
    }
}
+12 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ public class TaskStackHorizontalViewAdapter extends
    private static final String TAG = "TaskStackViewAdapter";
    private List<Task> mTaskList;
    private TaskStackHorizontalGridView mGridView;
    private boolean mResetAddedCards;

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        private TaskCardView mTaskCardView;
@@ -125,6 +126,13 @@ public class TaskStackHorizontalViewAdapter extends
        holder.init(mTaskList.get(position));
    }

    @Override
    public void onViewAttachedToWindow(ViewHolder holder) {
        if (mResetAddedCards) {
            holder.mTaskCardView.reset();
        }
    }

    @Override
    public void onViewDetachedFromWindow(ViewHolder holder) {
        // We only want to reset on view detach if this is the last task being dismissed.
@@ -171,4 +179,8 @@ public class TaskStackHorizontalViewAdapter extends
        mTaskList.add(position, task);
        notifyItemInserted(position);
    }

    public void setResetAddedCards(boolean reset) {
        mResetAddedCards = reset;
    }
}