Merge "Reset Cards as they come into view" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4fd98d1f09
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user