Loading packages/SystemUI/src/com/android/systemui/recents/tv/RecentsTvActivity.java +9 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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()); } Loading @@ -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 Loading packages/SystemUI/src/com/android/systemui/recents/tv/animations/DismissAnimationsHolder.java +4 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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() { Loading Loading @@ -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() { Loading Loading @@ -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); } } packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskStackHorizontalViewAdapter.java +12 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. Loading Loading @@ -171,4 +179,8 @@ public class TaskStackHorizontalViewAdapter extends mTaskList.add(position, task); notifyItemInserted(position); } public void setResetAddedCards(boolean reset) { mResetAddedCards = reset; } } Loading
packages/SystemUI/src/com/android/systemui/recents/tv/RecentsTvActivity.java +9 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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()); } Loading @@ -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 Loading
packages/SystemUI/src/com/android/systemui/recents/tv/animations/DismissAnimationsHolder.java +4 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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() { Loading Loading @@ -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() { Loading Loading @@ -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); } }
packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskStackHorizontalViewAdapter.java +12 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. Loading Loading @@ -171,4 +179,8 @@ public class TaskStackHorizontalViewAdapter extends mTaskList.add(position, task); notifyItemInserted(position); } public void setResetAddedCards(boolean reset) { mResetAddedCards = reset; } }