Merge "Redlines adjustments" into rvc-dev
diff --git a/packages/SystemUI/res/layout/controls_app_item.xml b/packages/SystemUI/res/layout/controls_app_item.xml
index d54cd6d..a208098 100644
--- a/packages/SystemUI/res/layout/controls_app_item.xml
+++ b/packages/SystemUI/res/layout/controls_app_item.xml
@@ -16,33 +16,25 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="64dp"
android:background="?android:attr/selectableItemBackground">
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_gravity="start|top"
- android:gravity="center_vertical"
- android:minHeight="?android:attr/listPreferredItemHeightSmall"
- android:paddingStart="?android:attr/listPreferredItemPaddingStart"
- android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
- android:layout_marginBottom="@dimen/controls_app_bottom_margin">
+ android:gravity="center_vertical">
<FrameLayout
android:id="@+id/icon_frame"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="start|center_vertical"
- android:minWidth="56dp"
+ android:layout_height="match_parent"
android:orientation="horizontal"
- android:paddingTop="@dimen/controls_app_icon_frame_top_padding"
- android:paddingBottom="@dimen/controls_app_icon_frame_top_padding"
- android:paddingEnd="@dimen/controls_app_icon_frame_side_padding"
- android:paddingStart="@dimen/controls_app_icon_frame_side_padding" >
+ android:paddingEnd="@dimen/controls_app_icon_frame_side_padding">
<ImageView
android:id="@android:id/icon"
+ android:layout_gravity="start|center_vertical"
android:layout_width="@dimen/controls_app_icon_size"
android:layout_height="@dimen/controls_app_icon_size" />
</FrameLayout>
@@ -51,9 +43,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:orientation="vertical"
- android:paddingTop="@dimen/controls_app_text_padding"
- android:paddingBottom="@dimen/controls_app_text_padding">
+ android:orientation="vertical">
<TextView
android:id="@android:id/title"
@@ -62,8 +52,7 @@
android:ellipsize="end"
android:fadingEdge="horizontal"
android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="?android:attr/textColorPrimary"/>
+ android:textAppearance="@style/TextAppearance.Control.Management.Subtitle"/>
<TextView
android:id="@+id/favorites"
@@ -81,7 +70,5 @@
android:layout_width="match_parent"
android:layout_height="@dimen/controls_app_divider_height"
android:layout_gravity="center_horizontal|bottom"
- android:layout_marginStart="@dimen/controls_app_divider_side_margin"
- android:layout_marginEnd="@dimen/controls_app_divider_side_margin"
android:background="?android:attr/listDivider" />
</FrameLayout>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/controls_base_item.xml b/packages/SystemUI/res/layout/controls_base_item.xml
index e7bb3af..477a70f 100644
--- a/packages/SystemUI/res/layout/controls_base_item.xml
+++ b/packages/SystemUI/res/layout/controls_base_item.xml
@@ -98,15 +98,15 @@
<CheckBox
android:id="@+id/favorite"
android:visibility="invisible"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom|end"
+ android:layout_width="@dimen/controls_management_checkbox_size"
+ android:layout_height="@dimen/controls_management_checkbox_size"
+ android:minHeight="0dp"
+ android:minWidth="0dp"
+ android:gravity="center"
android:background="@android:color/transparent"
android:clickable="false"
android:selectable="false"
android:importantForAccessibility="no"
- android:layout_marginTop="4dp"
- android:layout_marginStart="4dp"
app:layout_constraintStart_toEndOf="@id/subtitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
diff --git a/packages/SystemUI/res/layout/controls_horizontal_divider_with_empty.xml b/packages/SystemUI/res/layout/controls_horizontal_divider_with_empty.xml
index 90b3398..11144f6 100644
--- a/packages/SystemUI/res/layout/controls_horizontal_divider_with_empty.xml
+++ b/packages/SystemUI/res/layout/controls_horizontal_divider_with_empty.xml
@@ -22,23 +22,17 @@
>
<View
- android:layout_width="match_parent"
- android:layout_height="@dimen/controls_management_list_margin"
- />
-
- <FrameLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="@dimen/control_height"
android:visibility="gone"
>
- </FrameLayout>
+ </View>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
- android:layout_marginBottom="10dp"
- android:layout_marginStart="40dp"
- android:layout_marginEnd="40dp"
+ android:layout_marginBottom="@dimen/controls_management_editing_divider_margin"
+ android:layout_marginTop="@dimen/controls_management_editing_divider_margin"
android:background="#4dffffff" />
</LinearLayout>
diff --git a/packages/SystemUI/res/layout/controls_management.xml b/packages/SystemUI/res/layout/controls_management.xml
index 835e54e..46f79de 100644
--- a/packages/SystemUI/res/layout/controls_management.xml
+++ b/packages/SystemUI/res/layout/controls_management.xml
@@ -31,18 +31,15 @@
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:textSize="@dimen/controls_title_size"
+ android:textAppearance="@style/TextAppearance.Control.Management.Title"
android:textAlignment="center" />
-
-
<TextView
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/controls_management_titles_margin"
- android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textAppearance="@style/TextAppearance.Control.Management.Subtitle"
android:textAlignment="center" />
<ViewStub
@@ -53,7 +50,7 @@
<FrameLayout
android:layout_width="match_parent"
- android:layout_height="64dp">
+ android:layout_height="72dp">
<View
android:layout_width="match_parent"
@@ -64,7 +61,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:padding="4dp">
+ android:padding="@dimen/controls_management_footer_side_margin">
<Button
android:id="@+id/other_apps"
diff --git a/packages/SystemUI/res/layout/controls_management_apps.xml b/packages/SystemUI/res/layout/controls_management_apps.xml
index 94df9d8..4348ffe 100644
--- a/packages/SystemUI/res/layout/controls_management_apps.xml
+++ b/packages/SystemUI/res/layout/controls_management_apps.xml
@@ -19,6 +19,8 @@
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginTop="@dimen/controls_management_list_margin"
+ android:layout_marginTop="@dimen/controls_management_apps_list_margin"
+ android:layout_marginStart="@dimen/controls_management_apps_extra_side_margin"
+ android:layout_marginEnd="@dimen/controls_management_apps_extra_side_margin"
/>
diff --git a/packages/SystemUI/res/layout/controls_management_editing.xml b/packages/SystemUI/res/layout/controls_management_editing.xml
index 8a14ec3..7356b290 100644
--- a/packages/SystemUI/res/layout/controls_management_editing.xml
+++ b/packages/SystemUI/res/layout/controls_management_editing.xml
@@ -22,6 +22,6 @@
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
- android:paddingTop="@dimen/controls_management_list_margin"
+ android:paddingTop="@dimen/controls_management_editing_list_margin"
/>
diff --git a/packages/SystemUI/res/layout/controls_management_favorites.xml b/packages/SystemUI/res/layout/controls_management_favorites.xml
index d2ccfcb..a0d8ae4 100644
--- a/packages/SystemUI/res/layout/controls_management_favorites.xml
+++ b/packages/SystemUI/res/layout/controls_management_favorites.xml
@@ -32,10 +32,10 @@
<com.android.systemui.controls.management.ManagementPageIndicator
android:id="@+id/structure_page_indicator"
android:layout_width="wrap_content"
- android:layout_height="match_parent"
+ android:layout_height="@dimen/controls_management_page_indicator_height"
android:layout_gravity="center"
android:layout_marginTop="@dimen/controls_management_list_margin"
- android:visibility="gone" />
+ android:visibility="invisible" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/structure_pager"
diff --git a/packages/SystemUI/res/layout/controls_structure_page.xml b/packages/SystemUI/res/layout/controls_structure_page.xml
index 047ab98..f048d62 100644
--- a/packages/SystemUI/res/layout/controls_structure_page.xml
+++ b/packages/SystemUI/res/layout/controls_structure_page.xml
@@ -21,4 +21,4 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:layout_marginTop="@dimen/controls_management_list_margin"/>
\ No newline at end of file
+ android:layout_marginTop="@dimen/controls_management_zone_top_margin"/>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/controls_zone_header.xml b/packages/SystemUI/res/layout/controls_zone_header.xml
index 93f99b1..74c020a 100644
--- a/packages/SystemUI/res/layout/controls_zone_header.xml
+++ b/packages/SystemUI/res/layout/controls_zone_header.xml
@@ -18,10 +18,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textAppearance="@style/TextAppearance.Control.Title"
- android:layout_marginStart="12dp"
- android:layout_marginEnd="2dp"
- android:layout_marginTop="8dp"
+ android:textAppearance="@style/TextAppearance.Control.Management.Subtitle"
+ android:layout_marginTop="@dimen/controls_management_zone_top_margin"
android:layout_marginBottom="4dp">
-
</TextView>
\ No newline at end of file
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 2c2e724..c68c814 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -1283,13 +1283,23 @@
<!-- Home Controls management screens -->
<dimen name="controls_management_top_padding">48dp</dimen>
- <dimen name="controls_management_side_padding">8dp</dimen>
- <dimen name="controls_management_titles_margin">8dp</dimen>
+ <dimen name="controls_management_side_padding">16dp</dimen>
+ <dimen name="controls_management_titles_margin">16dp</dimen>
+ <dimen name="controls_management_footer_side_margin">8dp</dimen>
<dimen name="controls_management_list_margin">16dp</dimen>
- <dimen name="controls_title_size">26sp</dimen>
+ <dimen name="controls_management_apps_list_margin">64dp</dimen>
+ <dimen name="controls_management_editing_list_margin">48dp</dimen>
+ <dimen name="controls_management_editing_divider_margin">24dp</dimen>
+ <dimen name="controls_management_apps_extra_side_margin">8dp</dimen>
+ <dimen name="controls_management_apps_top_margin"></dimen>
+ <dimen name="controls_management_zone_top_margin">32dp</dimen>
+ <dimen name="controls_management_page_indicator_height">24dp</dimen>
+ <dimen name="controls_management_checkbox_size">25dp</dimen>
+ <dimen name="controls_title_size">24sp</dimen>
+ <dimen name="controls_subtitle_size">16sp</dimen>
- <dimen name="controls_app_icon_size">32dp</dimen>
- <dimen name="controls_app_icon_frame_side_padding">8dp</dimen>
+ <dimen name="controls_app_icon_size">24dp</dimen>
+ <dimen name="controls_app_icon_frame_side_padding">16dp</dimen>
<dimen name="controls_app_icon_frame_top_padding">4dp</dimen>
<dimen name="controls_app_icon_frame_bottom_padding">@dimen/controls_app_icon_frame_top_padding</dimen>
<dimen name="controls_app_bottom_margin">8dp</dimen>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index d3a5f04..6e25625 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -734,6 +734,18 @@
<item name="android:textSize">@dimen/control_text_size</item>
<item name="android:textColor">@color/control_secondary_text</item>
</style>
+ <style name="TextAppearance.Control.Management" >
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ </style>
+ <style name="TextAppearance.Control.Management.Title">
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
+ <item name="android:textSize">@dimen/controls_title_size</item>
+ </style>
+ <style name="TextAppearance.Control.Management.Subtitle">
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+ <item name="android:textSize">@dimen/controls_subtitle_size</item>
+ </style>
+
<style name="Control.ListPopupWindow" parent="@*android:style/Widget.DeviceDefault.ListPopupWindow">
<item name="android:overlapAnchor">true</item>
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
index 03ca393..79dd9ed 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
@@ -18,6 +18,7 @@
import android.content.ComponentName
import android.graphics.Rect
+import android.service.controls.Control
import android.service.controls.DeviceTypes
import android.view.LayoutInflater
import android.view.View
@@ -46,9 +47,9 @@
) : RecyclerView.Adapter<Holder>() {
companion object {
- private const val TYPE_ZONE = 0
- private const val TYPE_CONTROL = 1
- private const val TYPE_DIVIDER = 2
+ const val TYPE_ZONE = 0
+ const val TYPE_CONTROL = 1
+ const val TYPE_DIVIDER = 2
}
val spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
@@ -142,7 +143,7 @@
/**
* Holder for using with [DividerWrapper] to display a divider between zones.
*
- * The divider can be shown or hidden. It also has a frame view the height of a control, that can
+ * The divider can be shown or hidden. It also has a view the height of a control, that can
* be toggled visible or gone.
*/
private class DividerHolder(view: View) : Holder(view) {
@@ -229,10 +230,25 @@
parent: RecyclerView,
state: RecyclerView.State
) {
- outRect.apply {
- top = topMargin
- left = sideMargins
- right = sideMargins
+ val position = parent.getChildAdapterPosition(view)
+ if (position == RecyclerView.NO_POSITION) return
+ val type = parent.adapter?.getItemViewType(position)
+ if (type == ControlAdapter.TYPE_CONTROL) {
+ outRect.apply {
+ top = topMargin
+ left = sideMargins
+ right = sideMargins
+ bottom = 0
+ }
+ } else if (type == ControlAdapter.TYPE_ZONE && position == 0) {
+ // add negative padding to the first zone to counteract the margin
+ val margin = (view.layoutParams as ViewGroup.MarginLayoutParams).topMargin
+ outRect.apply {
+ top = -margin
+ left = 0
+ right = 0
+ bottom = 0
+ }
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt
index e3175aa..bd75116 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt
@@ -104,7 +104,9 @@
override fun onServicesUpdated(serviceInfos: List<ControlsServiceInfo>) {
if (serviceInfos.size > 1) {
- otherAppsButton.visibility = View.VISIBLE
+ otherAppsButton.post {
+ otherAppsButton.visibility = View.VISIBLE
+ }
}
}
}
@@ -170,7 +172,7 @@
pageIndicator.setNumPages(listOfStructures.size)
pageIndicator.setLocation(0f)
pageIndicator.visibility =
- if (listOfStructures.size > 1) View.VISIBLE else View.GONE
+ if (listOfStructures.size > 1) View.VISIBLE else View.INVISIBLE
ControlsAnimations.enterAnimation(pageIndicator).apply {
addListener(object : AnimatorListenerAdapter() {