From 9ef947a8a25da9a3de760d22fc139db8d2a4e5a7 Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Wed, 4 Mar 2020 08:22:03 -0500 Subject: Controls UI - Spinner cleanup Fix background colors. Fix '+' sign color. Limit the width. Override light theme when needed. Fix crash on structure switching Bug: 150758646 Test: manual Change-Id: I3b232bbeba5eaeef8ce68ec71914ea059f65b88f --- .../res/drawable/control_spinner_background.xml | 35 ++++++++++++ .../SystemUI/res/layout/controls_spinner_item.xml | 10 ++-- .../res/layout/controls_with_favorites.xml | 62 +++++++++++----------- packages/SystemUI/res/values/colors.xml | 2 + packages/SystemUI/res/values/dimens.xml | 2 + packages/SystemUI/res/values/styles.xml | 23 ++++++-- .../controls/ui/ControlsUiControllerImpl.kt | 26 ++++++--- 7 files changed, 112 insertions(+), 48 deletions(-) create mode 100644 packages/SystemUI/res/drawable/control_spinner_background.xml diff --git a/packages/SystemUI/res/drawable/control_spinner_background.xml b/packages/SystemUI/res/drawable/control_spinner_background.xml new file mode 100644 index 000000000000..999a77c71bb2 --- /dev/null +++ b/packages/SystemUI/res/drawable/control_spinner_background.xml @@ -0,0 +1,35 @@ + + + + + + + + diff --git a/packages/SystemUI/res/layout/controls_spinner_item.xml b/packages/SystemUI/res/layout/controls_spinner_item.xml index 6b880545b296..cb2ad94c8c99 100644 --- a/packages/SystemUI/res/layout/controls_spinner_item.xml +++ b/packages/SystemUI/res/layout/controls_spinner_item.xml @@ -29,22 +29,18 @@ android:id="@+id/app_icon" android:layout_gravity="center" android:layout_width="34dp" - android:layout_height="24dp" + android:layout_height="24dp" android:layout_marginEnd="10dp" /> + android:layout_gravity="center" /> - diff --git a/packages/SystemUI/res/layout/controls_with_favorites.xml b/packages/SystemUI/res/layout/controls_with_favorites.xml index 77bcc3575fad..fd722737a6aa 100644 --- a/packages/SystemUI/res/layout/controls_with_favorites.xml +++ b/packages/SystemUI/res/layout/controls_with_favorites.xml @@ -14,47 +14,49 @@ ~ limitations under the License. --> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> - + android:paddingTop="20dp"> - + - + - + + - - + + android:paddingTop="12dp" /> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 73e49cee6a8b..e61d8049e45c 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -223,4 +223,6 @@ @*android:color/dim_foreground_dark @*android:color/foreground_material_dark @*android:color/background_floating_material_dark + @*android:color/background_floating_material_dark + @*android:color/foreground_material_dark diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 4f803bccfb25..a5bb9d7a8916 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -1216,6 +1216,8 @@ 40dp + 32dp + 24sp 4dp 1dp 15dp diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index 83c507095534..a6c1eb0e7226 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -656,10 +656,22 @@ @*android:string/config_bodyFontFamily - + + + + - diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt index c7157da26ea3..eaf57ff208e5 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt @@ -24,6 +24,7 @@ import android.content.Intent import android.content.ServiceConnection import android.content.SharedPreferences import android.graphics.drawable.Drawable +import android.graphics.drawable.LayerDrawable import android.os.IBinder import android.service.controls.Control import android.service.controls.TokenProvider @@ -152,12 +153,19 @@ class ControlsUiControllerImpl @Inject constructor ( private lateinit var lastItems: List private var popup: ListPopupWindow? = null - private val addControlsItem = SelectionItem( - context.resources.getString(R.string.controls_providers_title), - "", - context.getDrawable(R.drawable.ic_add), - EMPTY_COMPONENT - ) + private val addControlsItem: SelectionItem + + init { + val addDrawable = context.getDrawable(R.drawable.ic_add).apply { + setTint(context.resources.getColor(R.color.control_secondary_text, null)) + } + addControlsItem = SelectionItem( + context.resources.getString(R.string.controls_providers_title), + "", + addDrawable, + EMPTY_COMPONENT + ) + } override val available: Boolean get() = controlsController.get().available @@ -296,6 +304,9 @@ class ControlsUiControllerImpl @Inject constructor ( val item = adapter.findSelectionItem(selectedStructure) ?: adapter.getItem(0) parent.requireViewById(R.id.app_or_structure_spinner).apply { setText(item.getTitle()) + // override the default color on the dropdown drawable + (getBackground() as LayerDrawable).getDrawable(1) + .setTint(context.resources.getColor(R.color.control_spinner_dropdown, null)) } parent.requireViewById(R.id.app_icon).apply { setContentDescription(item.getTitle()) @@ -368,7 +379,8 @@ class ControlsUiControllerImpl @Inject constructor ( if (newSelection != selectedStructure) { selectedStructure = newSelection updatePreferences(selectedStructure) - showControlsView(lastItems) + controlsListingController.get().removeCallback(listingCallback) + show(parent) } } } -- cgit v1.2.3-59-g8ed1b