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 0000000000000..999a77c71bb20
--- /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 6b880545b2960..cb2ad94c8c998 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 77bcc3575fad8..fd722737a6aac 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:layout_marginStart="@dimen/controls_header_side_margin"
+ android:layout_marginEnd="@dimen/controls_header_side_margin"
+ android:gravity="center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" >
-
-
+
+
+
+
+
+
+ android:paddingTop="12dp" />
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 73e49cee6a8ba..e61d8049e45cf 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 4f803bccfb252..a5bb9d7a89168 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 83c5070955345..a6c1eb0e7226d 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 c7157da26ea35..eaf57ff208e5e 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)
}
}
}