From 3e3a35eb36c0be407c3d210dedf800ca47b082e7 Mon Sep 17 00:00:00 2001 From: Sid Soundararajan Date: Thu, 14 Apr 2016 15:20:40 -0700 Subject: [PATCH] Add Rounded corners to cards. BUG: 27953508 Change-Id: Id911ad10d318d1fb3ea174869f96fec4b38b4c69 --- .../recents_tv_card_thumbnail_background.xml | 25 +++++++++++++++++++ .../recents_tv_task_card_view.xml | 2 +- packages/SystemUI/res/values/dimens_tv.xml | 1 + .../recents/tv/views/TaskCardView.java | 18 ++++++++++--- 4 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 packages/SystemUI/res/drawable/recents_tv_card_thumbnail_background.xml diff --git a/packages/SystemUI/res/drawable/recents_tv_card_thumbnail_background.xml b/packages/SystemUI/res/drawable/recents_tv_card_thumbnail_background.xml new file mode 100644 index 0000000000000..dc8e62975b1b6 --- /dev/null +++ b/packages/SystemUI/res/drawable/recents_tv_card_thumbnail_background.xml @@ -0,0 +1,25 @@ + + + + + + + + \ 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..789a11f6d3b6a 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 @@ -30,7 +30,7 @@ android:layout_height="@dimen/recents_tv_screenshot_height" android:gravity="center" android:orientation="vertical" - android:background="@color/recents_tv_card_background_color" + android:background="@drawable/recents_tv_card_thumbnail_background" android:layout_centerHorizontal="true" > 8dip 12dip 12dip + 2dip 215dip diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java index a72a7e611ae73..235b782e4b1ca 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java @@ -21,6 +21,7 @@ import android.content.pm.PackageManager; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; +import android.graphics.Outline; import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.Drawable; @@ -30,6 +31,7 @@ import android.util.TypedValue; import android.view.Display; import android.view.KeyEvent; import android.view.View; +import android.view.ViewOutlineProvider; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; @@ -49,6 +51,7 @@ public class TaskCardView extends LinearLayout { private ImageView mBadgeView; private Task mTask; private boolean mDismissState; + private int mCornerRadius; private ViewFocusAnimator mViewFocusAnimator; private DismissAnimationsHolder mDismissAnimationsHolder; @@ -77,6 +80,8 @@ public class TaskCardView extends LinearLayout { mBadgeView = (ImageView) findViewById(R.id.card_extra_badge); mDismissAnimationsHolder = new DismissAnimationsHolder(this); View title = findViewById(R.id.card_info_field); + mCornerRadius = getResources().getDimensionPixelSize( + R.dimen.recents_task_view_rounded_corners_radius); mRecentsRowFocusAnimationHolder = new RecentsRowFocusAnimationHolder(this, title); mViewFocusAnimator = new ViewFocusAnimator(this); } @@ -272,13 +277,18 @@ public class TaskCardView extends LinearLayout { private void setAsScreenShotView(Bitmap screenshot, ImageView screenshotView) { LayoutParams lp = (LayoutParams) screenshotView.getLayoutParams(); - lp.width = getResources() - .getDimensionPixelSize(R.dimen.recents_tv_card_width); - lp.height = getResources() - .getDimensionPixelSize(R.dimen.recents_tv_screenshot_height); + lp.width = LayoutParams.MATCH_PARENT; + lp.height = LayoutParams.MATCH_PARENT; screenshotView.setLayoutParams(lp); screenshotView.setImageBitmap(screenshot); + screenshotView.setClipToOutline(true); + screenshotView.setOutlineProvider(new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), mCornerRadius); + } + }); } private void setAsBannerView(Drawable banner, ImageView bannerView) {