summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Fabian Kozynski <kozynski@google.com> 2020-03-27 17:22:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-03-27 17:22:59 +0000
commit9b77b193113ccb2a90619ad9ed9fab0a2e667f47 (patch)
tree1d18cacb9e0036ed8f3ac5d1c0f522f85e5e6768
parent1f8d91de8ccdacc7e23320971dc231a6c2a05a05 (diff)
parent9b972e8ac6381c638a66afb80524fdf388fbaf5c (diff)
Merge "Fix overlap of text and star in controls" into rvc-dev
-rw-r--r--packages/SystemUI/res/drawable/control_background_ripple.xml23
-rw-r--r--packages/SystemUI/res/layout/controls_base_item.xml45
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt9
3 files changed, 53 insertions, 24 deletions
diff --git a/packages/SystemUI/res/drawable/control_background_ripple.xml b/packages/SystemUI/res/drawable/control_background_ripple.xml
new file mode 100644
index 000000000000..37914e272811
--- /dev/null
+++ b/packages/SystemUI/res/drawable/control_background_ripple.xml
@@ -0,0 +1,23 @@
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="?android:attr/colorControlHighlight">
+ <item android:id="@android:id/mask">
+ <color android:color="@android:color/white" />
+ </item>
+ <item android:drawable="@drawable/control_background" />
+</ripple> \ 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 6e1fd2072b32..b83e500fbaeb 100644
--- a/packages/SystemUI/res/layout/controls_base_item.xml
+++ b/packages/SystemUI/res/layout/controls_base_item.xml
@@ -50,6 +50,7 @@
app:layout_constraintBottom_toBottomOf="@+id/icon"
app:layout_constraintStart_toEndOf="@+id/icon" />
+
<TextView
android:id="@+id/status_extra"
android:layout_width="wrap_content"
@@ -64,7 +65,7 @@
<TextView
android:id="@+id/title"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Control.Title"
android:paddingLeft="@dimen/control_padding_adjustment"
@@ -73,12 +74,20 @@
android:focusable="false"
android:maxLines="1"
android:ellipsize="end"
- app:layout_constraintBottom_toTopOf="@+id/subtitle"
- app:layout_constraintStart_toStartOf="parent" />
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintBottom_toTopOf="@id/barrier"/>
+
+ <androidx.constraintlayout.widget.Barrier
+ android:id="@+id/barrier"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:barrierDirection="top"
+ app:constraint_referenced_ids="subtitle,favorite" />
<TextView
android:id="@+id/subtitle"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Control.Subtitle"
android:paddingLeft="@dimen/control_padding_adjustment"
@@ -88,24 +97,22 @@
android:focusable="false"
android:maxLines="1"
android:ellipsize="end"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/favorite"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"/>
+ />
- <FrameLayout
- android:id="@+id/favorite_container"
+ <CheckBox
+ android:id="@+id/favorite"
android:visibility="gone"
- android:layout_width="48dp"
- android:layout_height="48dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|end"
+ android:button="@drawable/controls_btn_star"
+ android:layout_marginTop="4dp"
+ android:layout_marginStart="4dp"
+ app:layout_constraintStart_toEndOf="@id/subtitle"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintBottom_toBottomOf="parent">
-
- <CheckBox
- android:id="@+id/favorite"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom|end"
- android:button="@drawable/controls_btn_star"/>
- </FrameLayout>
-
+ app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
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 563c2f677801..764fda05354c 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
@@ -68,6 +68,8 @@ class ControlAdapter(
width = ViewGroup.LayoutParams.MATCH_PARENT
}
elevation = this@ControlAdapter.elevation
+ background = parent.context.getDrawable(
+ R.drawable.control_background_ripple)
}
) { id, favorite ->
model?.changeFavoriteStatus(id, favorite)
@@ -137,10 +139,7 @@ private class ControlHolder(view: View, val favoriteCallback: ModelFavoriteChang
private val title: TextView = itemView.requireViewById(R.id.title)
private val subtitle: TextView = itemView.requireViewById(R.id.subtitle)
private val removed: TextView = itemView.requireViewById(R.id.status)
- private val favorite: CheckBox = itemView.requireViewById<CheckBox>(R.id.favorite)
- private val favoriteFrame: ViewGroup = itemView
- .requireViewById<ViewGroup>(R.id.favorite_container)
- .apply {
+ private val favorite: CheckBox = itemView.requireViewById<CheckBox>(R.id.favorite).apply {
visibility = View.VISIBLE
}
@@ -155,7 +154,7 @@ private class ControlHolder(view: View, val favoriteCallback: ModelFavoriteChang
favorite.setOnClickListener {
favoriteCallback(data.control.controlId, favorite.isChecked)
}
- favoriteFrame.setOnClickListener { favorite.performClick() }
+ itemView.setOnClickListener { favorite.performClick() }
applyRenderInfo(renderInfo)
}