diff --git a/packages/SystemUI/res/drawable-hdpi/ic_dismiss_outline.png b/packages/SystemUI/res/drawable-hdpi/ic_dismiss_outline.png
new file mode 100755
index 0000000000000..9afd8fa14d311
Binary files /dev/null and b/packages/SystemUI/res/drawable-hdpi/ic_dismiss_outline.png differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_dismiss_outline.png b/packages/SystemUI/res/drawable-mdpi/ic_dismiss_outline.png
new file mode 100755
index 0000000000000..35737aa704ea5
Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/ic_dismiss_outline.png differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_dismiss_outline.png b/packages/SystemUI/res/drawable-xhdpi/ic_dismiss_outline.png
new file mode 100755
index 0000000000000..f1bfa891d2292
Binary files /dev/null and b/packages/SystemUI/res/drawable-xhdpi/ic_dismiss_outline.png differ
diff --git a/packages/SystemUI/res/drawable/recents_tv_dismiss_icon.xml b/packages/SystemUI/res/drawable/recents_tv_dismiss_icon.xml
new file mode 100644
index 0000000000000..7fb67a2db2a0f
--- /dev/null
+++ b/packages/SystemUI/res/drawable/recents_tv_dismiss_icon.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout-television/recents_tv_card_dismiss.xml b/packages/SystemUI/res/layout-television/recents_tv_card_dismiss.xml
deleted file mode 100644
index 186a0589e6d08..0000000000000
--- a/packages/SystemUI/res/layout-television/recents_tv_card_dismiss.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml b/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml
index 9b89aa0a90f15..d2ec52d2e638a 100644
--- a/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml
+++ b/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml
@@ -42,5 +42,23 @@
android:gravity="center" />
-
+
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/values/dimens_tv.xml b/packages/SystemUI/res/values/dimens_tv.xml
index 367dd1dfe7d31..c2de1500a3151 100644
--- a/packages/SystemUI/res/values/dimens_tv.xml
+++ b/packages/SystemUI/res/values/dimens_tv.xml
@@ -46,7 +46,7 @@
48dip
356dip
- 24dip
+ 19dip
38dip
1dip
12sp
diff --git a/packages/SystemUI/res/values/values_tv.xml b/packages/SystemUI/res/values/values_tv.xml
index bd72c5115566f..dc0483f4c9886 100644
--- a/packages/SystemUI/res/values/values_tv.xml
+++ b/packages/SystemUI/res/values/values_tv.xml
@@ -16,4 +16,5 @@ limitations under the License.
- 1.0
- 1.259
+ - 0.1
diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/animations/DismissAnimationsHolder.java b/packages/SystemUI/src/com/android/systemui/recents/tv/animations/DismissAnimationsHolder.java
index 66d857630005f..084fc874b7b96 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/tv/animations/DismissAnimationsHolder.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/tv/animations/DismissAnimationsHolder.java
@@ -15,38 +15,64 @@
*/
package com.android.systemui.recents.tv.animations;
-
-import android.animation.Animator;
+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;
+import android.widget.TextView;
import com.android.systemui.Interpolators;
import com.android.systemui.recents.tv.views.TaskCardView;
import com.android.systemui.R;
public class DismissAnimationsHolder {
- private LinearLayout mDismissArea;
private LinearLayout mInfoField;
private View mThumbnailView;
+
private int mDismissEnterYDelta;
private int mDismissStartYDelta;
+
+ private ImageView mCardDismissIcon;
+ private TransitionDrawable mDismissDrawable;
+ private TextView mDismissText;
+
+ private float mDismissUnselectedAlpha;
private long mShortDuration;
private long mLongDuration;
public DismissAnimationsHolder(TaskCardView taskCardView) {
+
mInfoField = (LinearLayout) taskCardView.findViewById(R.id.card_info_field);
- mDismissArea = (LinearLayout) taskCardView.findViewById(R.id.card_dismiss);
mThumbnailView = taskCardView.findViewById(R.id.card_view_thumbnail);
+ mCardDismissIcon = (ImageView) taskCardView.findViewById(R.id.dismiss_icon);
+ mDismissDrawable = (TransitionDrawable) mCardDismissIcon.getDrawable();
+ mDismissDrawable.setCrossFadeEnabled(true);
+ mDismissText = (TextView) taskCardView.findViewById(R.id.card_dismiss_text);
+
Resources res = taskCardView.getResources();
mDismissEnterYDelta = res.getDimensionPixelOffset(R.dimen.recents_tv_dismiss_shift_down);
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);
}
public void startEnterAnimation() {
- mDismissArea.animate()
+ mCardDismissIcon.animate()
+ .setDuration(mShortDuration)
+ .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
+ .alpha(1.0f)
+ .withStartAction(new Runnable() {
+ @Override
+ public void run() {
+ mDismissDrawable.startTransition(0);
+ }
+ });
+
+ mDismissText.animate()
.setDuration(mShortDuration)
.setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
.alpha(1.0f);
@@ -65,7 +91,18 @@ public class DismissAnimationsHolder {
}
public void startExitAnimation() {
- mDismissArea.animate()
+ mCardDismissIcon.animate()
+ .setDuration(mShortDuration)
+ .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
+ .alpha(mDismissUnselectedAlpha)
+ .withEndAction(new Runnable() {
+ @Override
+ public void run() {
+ mDismissDrawable.reverseTransition(0);
+ }
+ });
+
+ mDismissText.animate()
.setDuration(mShortDuration)
.setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
.alpha(0.0f);
@@ -83,8 +120,19 @@ public class DismissAnimationsHolder {
.alpha(1.0f);
}
- public void startDismissAnimation(Animator.AnimatorListener listener) {
- mDismissArea.animate()
+ public void startDismissAnimation(AnimatorListener listener) {
+ mCardDismissIcon.animate()
+ .setDuration(mShortDuration)
+ .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
+ .alpha(0.0f)
+ .withEndAction(new Runnable() {
+ @Override
+ public void run() {
+ mDismissDrawable.reverseTransition(0);
+ }
+ });
+
+ mDismissText.animate()
.setDuration(mShortDuration)
.setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
.alpha(0.0f);
@@ -109,5 +157,7 @@ public class DismissAnimationsHolder {
mInfoField.animate().setListener(null);
mThumbnailView.setAlpha(1.0f);
mThumbnailView.setTranslationY(0);
+ mCardDismissIcon.setAlpha(mDismissUnselectedAlpha);
+ mDismissText.setAlpha(0.0f);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java b/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java
index 9edd5af487cc1..be69552622ecf 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java
@@ -39,12 +39,12 @@ public class ViewFocusAnimator implements View.OnFocusChangeListener {
private final int mAnimDuration;
private final Interpolator mFocusInterpolator;
- protected View mTargetView;
+ protected TaskCardView mTargetView;
private float mFocusProgress;
ObjectAnimator mFocusAnimation;
- public ViewFocusAnimator(View view) {
+ public ViewFocusAnimator(TaskCardView view) {
mTargetView = view;
final Resources res = view.getResources();
@@ -99,9 +99,8 @@ public class ViewFocusAnimator implements View.OnFocusChangeListener {
mTargetView.setPadding((int) spacing, mTargetView.getPaddingTop(),
(int) spacing, mTargetView.getPaddingBottom());
- if (mTargetView instanceof TaskCardView) {
- ((TaskCardView) mTargetView).getThumbnailView().setZ(z);
- }
+
+ mTargetView.getThumbnailView().setZ(z);
}
public float getFocusProgress() {