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

This commit is contained in:
Sid Soundararajan
2016-05-06 21:16:54 +00:00
committed by Android (Google) Code Review
3 changed files with 25 additions and 12 deletions

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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;
}
}