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 {
|
} else {
|
||||||
mRecentsView.getViewTreeObserver().addOnPreDrawListener(this);
|
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
|
// 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
|
// 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) {
|
if(mLaunchedFromHome) {
|
||||||
mHomeRecentsEnterExitAnimationHolder.startEnterAnimation(mPipManager.isPipShown());
|
mHomeRecentsEnterExitAnimationHolder.startEnterAnimation(mPipManager.isPipShown());
|
||||||
}
|
}
|
||||||
|
mTaskStackViewAdapter.setResetAddedCards(true);
|
||||||
EventBus.getDefault().send(new EnterRecentsWindowAnimationCompletedEvent());
|
EventBus.getDefault().send(new EnterRecentsWindowAnimationCompletedEvent());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -389,12 +383,20 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
|
|||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
mPipRecentsOverlayManager.onRecentsResumed();
|
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
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
mPipRecentsOverlayManager.onRecentsPaused();
|
mPipRecentsOverlayManager.onRecentsPaused();
|
||||||
|
mTaskStackViewAdapter.setResetAddedCards(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package com.android.systemui.recents.tv.animations;
|
|||||||
import android.animation.Animator.AnimatorListener;
|
import android.animation.Animator.AnimatorListener;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.drawable.TransitionDrawable;
|
import android.graphics.drawable.TransitionDrawable;
|
||||||
import android.util.TypedValue;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
@@ -39,7 +38,7 @@ public class DismissAnimationsHolder {
|
|||||||
private TransitionDrawable mDismissDrawable;
|
private TransitionDrawable mDismissDrawable;
|
||||||
private TextView mDismissText;
|
private TextView mDismissText;
|
||||||
|
|
||||||
private float mDismissUnselectedAlpha;
|
private float mDismissIconNotInDismissStateAlpha;
|
||||||
private long mShortDuration;
|
private long mShortDuration;
|
||||||
private long mLongDuration;
|
private long mLongDuration;
|
||||||
|
|
||||||
@@ -57,7 +56,7 @@ public class DismissAnimationsHolder {
|
|||||||
mDismissStartYDelta = mDismissEnterYDelta * 2;
|
mDismissStartYDelta = mDismissEnterYDelta * 2;
|
||||||
mShortDuration = res.getInteger(R.integer.dismiss_short_duration);
|
mShortDuration = res.getInteger(R.integer.dismiss_short_duration);
|
||||||
mLongDuration = res.getInteger(R.integer.dismiss_long_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() {
|
public void startEnterAnimation() {
|
||||||
@@ -94,7 +93,7 @@ public class DismissAnimationsHolder {
|
|||||||
mCardDismissIcon.animate()
|
mCardDismissIcon.animate()
|
||||||
.setDuration(mShortDuration)
|
.setDuration(mShortDuration)
|
||||||
.setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
|
.setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
|
||||||
.alpha(mDismissUnselectedAlpha)
|
.alpha(mDismissIconNotInDismissStateAlpha)
|
||||||
.withEndAction(new Runnable() {
|
.withEndAction(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -157,7 +156,7 @@ public class DismissAnimationsHolder {
|
|||||||
mInfoField.animate().setListener(null);
|
mInfoField.animate().setListener(null);
|
||||||
mThumbnailView.setAlpha(1.0f);
|
mThumbnailView.setAlpha(1.0f);
|
||||||
mThumbnailView.setTranslationY(0);
|
mThumbnailView.setTranslationY(0);
|
||||||
mCardDismissIcon.setAlpha(mDismissUnselectedAlpha);
|
mCardDismissIcon.setAlpha(0.0f);
|
||||||
mDismissText.setAlpha(0.0f);
|
mDismissText.setAlpha(0.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public class TaskStackHorizontalViewAdapter extends
|
|||||||
private static final String TAG = "TaskStackViewAdapter";
|
private static final String TAG = "TaskStackViewAdapter";
|
||||||
private List<Task> mTaskList;
|
private List<Task> mTaskList;
|
||||||
private TaskStackHorizontalGridView mGridView;
|
private TaskStackHorizontalGridView mGridView;
|
||||||
|
private boolean mResetAddedCards;
|
||||||
|
|
||||||
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
|
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
|
||||||
private TaskCardView mTaskCardView;
|
private TaskCardView mTaskCardView;
|
||||||
@@ -125,6 +126,13 @@ public class TaskStackHorizontalViewAdapter extends
|
|||||||
holder.init(mTaskList.get(position));
|
holder.init(mTaskList.get(position));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewAttachedToWindow(ViewHolder holder) {
|
||||||
|
if (mResetAddedCards) {
|
||||||
|
holder.mTaskCardView.reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewDetachedFromWindow(ViewHolder holder) {
|
public void onViewDetachedFromWindow(ViewHolder holder) {
|
||||||
// We only want to reset on view detach if this is the last task being dismissed.
|
// 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);
|
mTaskList.add(position, task);
|
||||||
notifyItemInserted(position);
|
notifyItemInserted(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setResetAddedCards(boolean reset) {
|
||||||
|
mResetAddedCards = reset;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user