Redlines adjustments
A bunch of redline fixes in management screens. Some of them hacks. Also, make sure that visibility update is posted in correct thread. Test: manual Fixes: 155302803 Change-Id: I5c31904e2a70c2be224acf5d5aeb76f876cef695
This commit is contained in:
@@ -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>
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
/>
|
||||
|
||||
|
||||
@@ -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"
|
||||
/>
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"/>
|
||||
android:layout_marginTop="@dimen/controls_management_zone_top_margin"/>
|
||||
@@ -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>
|
||||
@@ -1274,13 +1274,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>
|
||||
|
||||
@@ -731,6 +731,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>
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.controls.management
|
||||
|
||||
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 @@ class ControlAdapter(
|
||||
) : 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 @@ sealed class Holder(view: View) : RecyclerView.ViewHolder(view) {
|
||||
/**
|
||||
* 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 @@ class MarginItemDecorator(
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +104,9 @@ class ControlsFavoritingActivity @Inject constructor(
|
||||
|
||||
override fun onServicesUpdated(serviceInfos: List<ControlsServiceInfo>) {
|
||||
if (serviceInfos.size > 1) {
|
||||
otherAppsButton.visibility = View.VISIBLE
|
||||
otherAppsButton.post {
|
||||
otherAppsButton.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -170,7 +172,7 @@ class ControlsFavoritingActivity @Inject constructor(
|
||||
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() {
|
||||
|
||||
Reference in New Issue
Block a user