From f4fb4d9429b082ebc51258df8b745a92bccc24a6 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Mon, 22 Mar 2021 16:30:24 +0000 Subject: [PATCH] Fix corner radius for single item in the widgets tray. If there is only one item, corner radius at 4 corners should be 28dp. Test: Corner radius of one item is correctly shown in the widgets picker. Bug: 183382610 Change-Id: Ief46af8c41ce944792d08212e93f7d68c6278d05 --- .../widgets_list_single_item_ripple.xml | 41 +++++++++++++++++++ .../WidgetsListHeaderViewHolderBinder.java | 4 +- ...dgetsListSearchHeaderViewHolderBinder.java | 4 +- 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 res/drawable/widgets_list_single_item_ripple.xml diff --git a/res/drawable/widgets_list_single_item_ripple.xml b/res/drawable/widgets_list_single_item_ripple.xml new file mode 100644 index 0000000000..b8b6f42523 --- /dev/null +++ b/res/drawable/widgets_list_single_item_ripple.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/android/launcher3/widget/picker/WidgetsListHeaderViewHolderBinder.java b/src/com/android/launcher3/widget/picker/WidgetsListHeaderViewHolderBinder.java index f126321b73..e57f4d8811 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsListHeaderViewHolderBinder.java +++ b/src/com/android/launcher3/widget/picker/WidgetsListHeaderViewHolderBinder.java @@ -52,7 +52,9 @@ public final class WidgetsListHeaderViewHolderBinder implements public void bindViewHolder(WidgetsListHeaderHolder viewHolder, WidgetsListHeaderEntry data, int position) { WidgetsListHeader widgetsListHeader = viewHolder.mWidgetsListHeader; - if (position == 0) { + if (mWidgetsListAdapter.getItemCount() == 1) { + widgetsListHeader.setBackgroundResource(R.drawable.widgets_list_single_item_ripple); + } else if (position == 0) { widgetsListHeader.setBackgroundResource(R.drawable.widgets_list_top_ripple); } else if (position == mWidgetsListAdapter.getItemCount() - 1) { widgetsListHeader.setBackgroundResource(R.drawable.widgets_list_bottom_ripple); diff --git a/src/com/android/launcher3/widget/picker/WidgetsListSearchHeaderViewHolderBinder.java b/src/com/android/launcher3/widget/picker/WidgetsListSearchHeaderViewHolderBinder.java index 37713e1018..b98f5e18eb 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsListSearchHeaderViewHolderBinder.java +++ b/src/com/android/launcher3/widget/picker/WidgetsListSearchHeaderViewHolderBinder.java @@ -53,7 +53,9 @@ public final class WidgetsListSearchHeaderViewHolderBinder implements public void bindViewHolder(WidgetsListSearchHeaderHolder viewHolder, WidgetsListSearchHeaderEntry data, int position) { WidgetsListHeader widgetsListHeader = viewHolder.mWidgetsListHeader; - if (position == 0) { + if (mWidgetsListAdapter.getItemCount() == 1) { + widgetsListHeader.setBackgroundResource(R.drawable.widgets_list_single_item_ripple); + } else if (position == 0) { widgetsListHeader.setBackgroundResource(R.drawable.widgets_list_top_ripple); } else if (position == mWidgetsListAdapter.getItemCount() - 1) { widgetsListHeader.setBackgroundResource(R.drawable.widgets_list_bottom_ripple);