Merge changes from topic "278574288" into udc-qpr-dev
* changes: Migrate to new color tokens Dialog color tokens
This commit is contained in:
committed by
Android (Google) Code Review
commit
b95485ff17
@@ -121,8 +121,8 @@ fun FooterActions(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val backgroundColor = colorAttr(R.attr.underSurfaceColor)
|
val backgroundColor = colorAttr(R.attr.underSurface)
|
||||||
val contentColor = LocalAndroidColorScheme.current.deprecated.textColorPrimary
|
val contentColor = LocalAndroidColorScheme.current.onSurface
|
||||||
val backgroundTopRadius = dimensionResource(R.dimen.qs_corner_radius)
|
val backgroundTopRadius = dimensionResource(R.dimen.qs_corner_radius)
|
||||||
val backgroundModifier =
|
val backgroundModifier =
|
||||||
remember(
|
remember(
|
||||||
@@ -268,7 +268,7 @@ private fun NumberButton(
|
|||||||
val interactionSource = remember { MutableInteractionSource() }
|
val interactionSource = remember { MutableInteractionSource() }
|
||||||
|
|
||||||
Expandable(
|
Expandable(
|
||||||
color = colorAttr(R.attr.offStateColor),
|
color = colorAttr(R.attr.shadeInactive),
|
||||||
shape = CircleShape,
|
shape = CircleShape,
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
interactionSource = interactionSource,
|
interactionSource = interactionSource,
|
||||||
@@ -287,7 +287,7 @@ private fun NumberButton(
|
|||||||
number.toString(),
|
number.toString(),
|
||||||
modifier = Modifier.align(Alignment.Center),
|
modifier = Modifier.align(Alignment.Center),
|
||||||
style = MaterialTheme.typography.bodyLarge,
|
style = MaterialTheme.typography.bodyLarge,
|
||||||
color = LocalAndroidColorScheme.current.deprecated.textColorPrimary,
|
color = colorAttr(R.attr.onShadeInactiveVariant),
|
||||||
// TODO(b/242040009): This should only use a standard text style instead and
|
// TODO(b/242040009): This should only use a standard text style instead and
|
||||||
// should not override the text size.
|
// should not override the text size.
|
||||||
fontSize = 18.sp,
|
fontSize = 18.sp,
|
||||||
@@ -305,7 +305,7 @@ private fun NumberButton(
|
|||||||
@Composable
|
@Composable
|
||||||
private fun NewChangesDot(modifier: Modifier = Modifier) {
|
private fun NewChangesDot(modifier: Modifier = Modifier) {
|
||||||
val contentDescription = stringResource(R.string.fgs_dot_content_description)
|
val contentDescription = stringResource(R.string.fgs_dot_content_description)
|
||||||
val color = LocalAndroidColorScheme.current.deprecated.colorAccentTertiary
|
val color = LocalAndroidColorScheme.current.tertiary
|
||||||
|
|
||||||
Canvas(modifier.size(12.dp).semantics { this.contentDescription = contentDescription }) {
|
Canvas(modifier.size(12.dp).semantics { this.contentDescription = contentDescription }) {
|
||||||
drawCircle(color)
|
drawCircle(color)
|
||||||
@@ -323,10 +323,9 @@ private fun TextButton(
|
|||||||
) {
|
) {
|
||||||
Expandable(
|
Expandable(
|
||||||
shape = CircleShape,
|
shape = CircleShape,
|
||||||
color = colorAttr(R.attr.underSurfaceColor),
|
color = colorAttr(R.attr.underSurface),
|
||||||
contentColor = LocalAndroidColorScheme.current.deprecated.textColorSecondary,
|
contentColor = LocalAndroidColorScheme.current.onSurfaceVariant,
|
||||||
borderStroke =
|
borderStroke = BorderStroke(1.dp, colorAttr(R.attr.onShadeActive)),
|
||||||
BorderStroke(1.dp, LocalAndroidColorScheme.current.deprecated.colorBackground),
|
|
||||||
modifier = modifier.padding(horizontal = 4.dp),
|
modifier = modifier.padding(horizontal = 4.dp),
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
) {
|
) {
|
||||||
|
|||||||
19
packages/SystemUI/res-keyguard/color/shade_disabled.xml
Normal file
19
packages/SystemUI/res-keyguard/color/shade_disabled.xml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (C) 2023 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:color="@android:color/system_neutral1_500" android:lStar="4" />
|
||||||
|
</selector>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="@style/TextAppearance.QS.SecurityFooter"
|
android:textAppearance="@style/TextAppearance.QS.SecurityFooter"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?attr/onShadeInactiveVariant"
|
||||||
android:textSize="18sp"/>
|
android:textSize="18sp"/>
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/new_dot"
|
android:id="@+id/new_dot"
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
android:layout_marginEnd="12dp"
|
android:layout_marginEnd="12dp"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:src="@drawable/ic_info_outline"
|
android:src="@drawable/ic_info_outline"
|
||||||
android:tint="?android:attr/textColorSecondary" />
|
android:tint="?attr/onSurfaceVariant" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text"
|
android:id="@+id/text"
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:textAppearance="@style/TextAppearance.QS.SecurityFooter"
|
android:textAppearance="@style/TextAppearance.QS.SecurityFooter"
|
||||||
android:textColor="?android:attr/textColorSecondary"/>
|
android:textColor="?attr/onSurfaceVariant"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/new_dot"
|
android:id="@+id/new_dot"
|
||||||
@@ -62,5 +62,5 @@
|
|||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:src="@*android:drawable/ic_chevron_end"
|
android:src="@*android:drawable/ic_chevron_end"
|
||||||
android:autoMirrored="true"
|
android:autoMirrored="true"
|
||||||
android:tint="?android:attr/textColorSecondary" />
|
android:tint="?attr/onSurfaceVariant" />
|
||||||
</com.android.systemui.animation.view.LaunchableLinearLayout>
|
</com.android.systemui.animation.view.LaunchableLinearLayout>
|
||||||
@@ -15,6 +15,6 @@
|
|||||||
~ limitations under the License
|
~ limitations under the License
|
||||||
-->
|
-->
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<solid android:color="?attr/underSurfaceColor" />
|
<solid android:color="?attr/underSurface" />
|
||||||
<corners android:radius="@dimen/rounded_slider_background_rounded_corner" />
|
<corners android:radius="@dimen/rounded_slider_background_rounded_corner" />
|
||||||
</shape>
|
</shape>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<size android:height="@dimen/rounded_slider_track_width" />
|
<size android:height="@dimen/rounded_slider_track_width" />
|
||||||
<corners android:radius="@dimen/rounded_slider_track_corner_radius" />
|
<corners android:radius="@dimen/rounded_slider_track_corner_radius" />
|
||||||
<solid android:color="?attr/offStateColor" />
|
<solid android:color="?attr/shadeInactive" />
|
||||||
</shape>
|
</shape>
|
||||||
</inset>
|
</inset>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
android:height="@dimen/rounded_slider_height">
|
android:height="@dimen/rounded_slider_height">
|
||||||
<shape>
|
<shape>
|
||||||
<size android:height="@dimen/rounded_slider_height" />
|
<size android:height="@dimen/rounded_slider_height" />
|
||||||
<solid android:color="?priv-android:attr/colorAccentPrimary" />
|
<solid android:color="?attr/shadeActive" />
|
||||||
<corners android:radius="@dimen/rounded_slider_corner_radius"/>
|
<corners android:radius="@dimen/rounded_slider_corner_radius"/>
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
android:right="@dimen/rounded_slider_icon_inset">
|
android:right="@dimen/rounded_slider_icon_inset">
|
||||||
<com.android.systemui.util.AlphaTintDrawableWrapper
|
<com.android.systemui.util.AlphaTintDrawableWrapper
|
||||||
android:drawable="@drawable/ic_brightness"
|
android:drawable="@drawable/ic_brightness"
|
||||||
android:tint="?android:attr/textColorPrimaryInverse"
|
android:tint="?attr/onShadeActive"
|
||||||
/>
|
/>
|
||||||
</item>
|
</item>
|
||||||
</layer-list>
|
</layer-list>
|
||||||
@@ -19,5 +19,5 @@
|
|||||||
android:shape="oval"
|
android:shape="oval"
|
||||||
android:width="12dp"
|
android:width="12dp"
|
||||||
android:height="12dp">
|
android:height="12dp">
|
||||||
<solid android:color="?androidprv:attr/colorAccentTertiary" />
|
<solid android:color="?attr/tertiary" />
|
||||||
</shape>
|
</shape>
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
-->
|
-->
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android">
|
<inset xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<shape>
|
<shape>
|
||||||
<solid android:color="?attr/underSurfaceColor"/>
|
<solid android:color="?attr/underSurface"/>
|
||||||
<corners android:radius="?android:attr/dialogCornerRadius" />
|
<corners android:radius="?android:attr/dialogCornerRadius" />
|
||||||
</shape>
|
</shape>
|
||||||
</inset>
|
</inset>
|
||||||
|
|||||||
@@ -15,6 +15,6 @@
|
|||||||
-->
|
-->
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android">
|
<inset xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<shape>
|
<shape>
|
||||||
<solid android:color="?attr/underSurfaceColor"/>
|
<solid android:color="?attr/underSurface"/>
|
||||||
</shape>
|
</shape>
|
||||||
</inset>
|
</inset>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<corners android:radius="?android:attr/buttonCornerRadius"/>
|
<corners android:radius="?android:attr/buttonCornerRadius"/>
|
||||||
<solid android:color="?androidprv:attr/colorAccentPrimary"/>
|
<solid android:color="?androidprv:attr/materialColorPrimary"/>
|
||||||
<padding android:left="@dimen/dialog_button_horizontal_padding"
|
<padding android:left="@dimen/dialog_button_horizontal_padding"
|
||||||
android:top="@dimen/dialog_button_vertical_padding"
|
android:top="@dimen/dialog_button_vertical_padding"
|
||||||
android:right="@dimen/dialog_button_horizontal_padding"
|
android:right="@dimen/dialog_button_horizontal_padding"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<corners android:radius="18dp"/>
|
<corners android:radius="18dp"/>
|
||||||
<solid android:color="?androidprv:attr/colorAccentPrimary"/>
|
<solid android:color="?androidprv:attr/materialColorPrimaryFixed"/>
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
</ripple>
|
</ripple>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<corners android:radius="?android:attr/buttonCornerRadius"/>
|
<corners android:radius="?android:attr/buttonCornerRadius"/>
|
||||||
<solid android:color="@android:color/transparent"/>
|
<solid android:color="@android:color/transparent"/>
|
||||||
<stroke android:color="?androidprv:attr/colorAccentPrimaryVariant"
|
<stroke android:color="?androidprv:attr/materialColorPrimary"
|
||||||
android:width="1dp"
|
android:width="1dp"
|
||||||
/>
|
/>
|
||||||
<padding android:left="@dimen/dialog_button_horizontal_padding"
|
<padding android:left="@dimen/dialog_button_horizontal_padding"
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<solid android:color="?attr/offStateColor"/>
|
<solid android:color="?attr/shadeInactive"/>
|
||||||
<corners android:radius="@dimen/qs_footer_action_corner_radius"/>
|
<corners android:radius="@dimen/qs_footer_action_corner_radius"/>
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<solid android:color="?android:attr/colorAccent"/>
|
<solid android:color="?attr/shadeActive"/>
|
||||||
<corners android:radius="@dimen/qs_footer_action_corner_radius"/>
|
<corners android:radius="@dimen/qs_footer_action_corner_radius"/>
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
-->
|
-->
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android">
|
<inset xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<shape>
|
<shape>
|
||||||
<solid android:color="?attr/underSurfaceColor"/>
|
<solid android:color="?attr/underSurface"/>
|
||||||
<corners android:topLeftRadius="@dimen/qs_corner_radius"
|
<corners android:topLeftRadius="@dimen/qs_corner_radius"
|
||||||
android:topRightRadius="@dimen/qs_corner_radius"/>
|
android:topRightRadius="@dimen/qs_corner_radius"/>
|
||||||
</shape>
|
</shape>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<stroke android:width="1dp"
|
<stroke android:width="1dp"
|
||||||
android:color="?android:attr/colorBackground"/>
|
android:color="?attr/shadeInactive"/>
|
||||||
<corners android:radius="@dimen/qs_security_footer_corner_radius"/>
|
<corners android:radius="@dimen/qs_security_footer_corner_radius"/>
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="16dp"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@null"
|
android:src="@null"
|
||||||
android:tint="?androidprv:attr/colorAccentPrimaryVariant"
|
android:tint="?androidprv:attr/materialColorPrimary"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:tint="?attr/shadeActive"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
@@ -70,7 +71,7 @@
|
|||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:padding="@dimen/qs_footer_icon_padding"
|
android:padding="@dimen/qs_footer_icon_padding"
|
||||||
android:src="@*android:drawable/ic_mode_edit"
|
android:src="@*android:drawable/ic_mode_edit"
|
||||||
android:tint="?android:attr/textColorPrimary" />
|
android:tint="?attr/onSurfaceVariant" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -54,6 +54,6 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:textAppearance="@style/TextAppearance.QS.TileLabel.Secondary"
|
android:textAppearance="@style/TextAppearance.QS.TileLabel.Secondary"
|
||||||
android:textColor="?android:attr/textColorSecondary"/>
|
android:textColor="?attr/onShadeInactive"/>
|
||||||
|
|
||||||
</com.android.systemui.qs.tileimpl.IgnorableChildLinearLayout>
|
</com.android.systemui.qs.tileimpl.IgnorableChildLinearLayout>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="@style/TextAppearance.Dialog.Title"
|
||||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||||
android:text="@string/screenrecord_permission_dialog_title"
|
android:text="@string/screenrecord_permission_dialog_title"
|
||||||
android:layout_marginTop="22dp"
|
android:layout_marginTop="22dp"
|
||||||
@@ -56,8 +57,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/screenrecord_permission_dialog_warning_entire_screen"
|
android:text="@string/screenrecord_permission_dialog_warning_entire_screen"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="@style/TextAppearance.Dialog.Body.Message"
|
||||||
android:textColor="?android:textColorSecondary"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:layout_marginBottom="20dp"/>
|
android:layout_marginBottom="20dp"/>
|
||||||
|
|
||||||
@@ -81,6 +81,7 @@
|
|||||||
android:minHeight="48dp"
|
android:minHeight="48dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:popupBackground="@drawable/screenrecord_spinner_background"
|
android:popupBackground="@drawable/screenrecord_spinner_background"
|
||||||
|
android:textColor="?androidprv:attr/materialColorOnSurface"
|
||||||
android:dropDownWidth="274dp"
|
android:dropDownWidth="274dp"
|
||||||
android:prompt="@string/screenrecord_audio_label"/>
|
android:prompt="@string/screenrecord_audio_label"/>
|
||||||
<Switch
|
<Switch
|
||||||
@@ -117,7 +118,7 @@
|
|||||||
android:text="@string/screenrecord_taps_label"
|
android:text="@string/screenrecord_taps_label"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?androidprv:attr/materialColorOnSurface"
|
||||||
android:importantForAccessibility="no"/>
|
android:importantForAccessibility="no"/>
|
||||||
<Switch
|
<Switch
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@@ -36,14 +36,13 @@
|
|||||||
android:layout_width="@dimen/screenrecord_logo_size"
|
android:layout_width="@dimen/screenrecord_logo_size"
|
||||||
android:layout_height="@dimen/screenrecord_logo_size"
|
android:layout_height="@dimen/screenrecord_logo_size"
|
||||||
android:src="@drawable/ic_media_projection_permission"
|
android:src="@drawable/ic_media_projection_permission"
|
||||||
android:tint="?androidprv:attr/colorAccentPrimaryVariant"
|
android:tint="?androidprv:attr/materialColorPrimary"
|
||||||
android:importantForAccessibility="no"/>
|
android:importantForAccessibility="no"/>
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/screen_share_dialog_title"
|
android:id="@+id/screen_share_dialog_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="@style/TextAppearance.Dialog.Title"
|
||||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
|
||||||
android:layout_marginTop="@dimen/screenrecord_title_margin_top"
|
android:layout_marginTop="@dimen/screenrecord_title_margin_top"
|
||||||
android:gravity="center"/>
|
android:gravity="center"/>
|
||||||
<Spinner
|
<Spinner
|
||||||
@@ -64,8 +63,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/screenrecord_permission_dialog_warning_entire_screen"
|
android:text="@string/screenrecord_permission_dialog_warning_entire_screen"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
style="@style/TextAppearance.Dialog.Body.Message"
|
||||||
android:textColor="?android:textColorSecondary"
|
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:lineHeight="@dimen/screenrecord_warning_line_height"/>
|
android:lineHeight="@dimen/screenrecord_warning_line_height"/>
|
||||||
|
|
||||||
|
|||||||
@@ -118,8 +118,25 @@
|
|||||||
<attr name="wallpaperTextColorSecondary" format="reference|color" />
|
<attr name="wallpaperTextColorSecondary" format="reference|color" />
|
||||||
<attr name="wallpaperTextColorAccent" format="reference|color" />
|
<attr name="wallpaperTextColorAccent" format="reference|color" />
|
||||||
<attr name="backgroundProtectedStyle" format="reference" />
|
<attr name="backgroundProtectedStyle" format="reference" />
|
||||||
<attr name="offStateColor" format="reference|color" />
|
|
||||||
<attr name="underSurfaceColor" format="reference|color" />
|
<!-- color attribute tokens for QS -->
|
||||||
|
<attr name="isQsTheme" format="boolean" />
|
||||||
|
<attr name="underSurface" format="reference|color"/>
|
||||||
|
<attr name="shadeActive" format="reference|color" />
|
||||||
|
<attr name="onShadeActive" format="reference|color" />
|
||||||
|
<attr name="onShadeActiveVariant" format="reference|color" />
|
||||||
|
<attr name="shadeInactive" format="reference|color" />
|
||||||
|
<attr name="onShadeInactive" format="reference|color" />
|
||||||
|
<attr name="onShadeInactiveVariant" format="reference|color" />
|
||||||
|
<attr name="shadeDisabled" format="reference|color" />
|
||||||
|
<attr name="surfaceBright" format="reference|color" />
|
||||||
|
<attr name="scHigh" format="reference|color" />
|
||||||
|
<attr name="tertiary" format="reference|color" />
|
||||||
|
<attr name="onSurface" format="reference|color" />
|
||||||
|
<attr name="onSurfaceVariant" format="reference|color" />
|
||||||
|
<attr name="outline" format="reference|color" />
|
||||||
|
<attr name="primary" format="reference|color" />
|
||||||
|
|
||||||
|
|
||||||
<declare-styleable name="SmartReplyView">
|
<declare-styleable name="SmartReplyView">
|
||||||
<attr name="spacing" format="dimension" />
|
<attr name="spacing" format="dimension" />
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
<style name="TextAppearance.QS">
|
<style name="TextAppearance.QS">
|
||||||
<item name="android:textStyle">normal</item>
|
<item name="android:textStyle">normal</item>
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?attr/onShadeInactive</item>
|
||||||
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
|
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
|
|
||||||
<style name="TextAppearance.QS.DetailItemSecondary">
|
<style name="TextAppearance.QS.DetailItemSecondary">
|
||||||
<item name="android:textSize">@dimen/qs_tile_text_size</item>
|
<item name="android:textSize">@dimen/qs_tile_text_size</item>
|
||||||
<item name="android:textColor">?android:attr/colorAccent</item>
|
<item name="android:textColor">?attr/shadeActive</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.QS.Introduction">
|
<style name="TextAppearance.QS.Introduction">
|
||||||
@@ -117,11 +117,11 @@
|
|||||||
|
|
||||||
<style name="TextAppearance.QS.DataUsage.Usage">
|
<style name="TextAppearance.QS.DataUsage.Usage">
|
||||||
<item name="android:textSize">@dimen/qs_data_usage_usage_text_size</item>
|
<item name="android:textSize">@dimen/qs_data_usage_usage_text_size</item>
|
||||||
<item name="android:textColor">?android:attr/colorAccent</item>
|
<item name="android:textColor">?attr/shadeActive</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.QS.DataUsage.Secondary">
|
<style name="TextAppearance.QS.DataUsage.Secondary">
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?attr/onShadeInactiveVariant</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.QS.TileLabel">
|
<style name="TextAppearance.QS.TileLabel">
|
||||||
@@ -137,31 +137,31 @@
|
|||||||
|
|
||||||
<style name="TextAppearance.QS.UserSwitcher">
|
<style name="TextAppearance.QS.UserSwitcher">
|
||||||
<item name="android:textSize">@dimen/qs_tile_text_size</item>
|
<item name="android:textSize">@dimen/qs_tile_text_size</item>
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- This is hard coded to be sans-serif-condensed to match the icons -->
|
<!-- This is hard coded to be sans-serif-condensed to match the icons -->
|
||||||
|
|
||||||
<style name="TextAppearance.QS.Status">
|
<style name="TextAppearance.QS.Status">
|
||||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?attr/onSurface</item>
|
||||||
<item name="android:textSize">14sp</item>
|
<item name="android:textSize">14sp</item>
|
||||||
<item name="android:letterSpacing">0.01</item>
|
<item name="android:letterSpacing">0.01</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.QS.SecurityFooter" parent="@style/TextAppearance.QS.Status">
|
<style name="TextAppearance.QS.SecurityFooter" parent="@style/TextAppearance.QS.Status">
|
||||||
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
|
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?attr/onSurface</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.QS.Status.Carriers" />
|
<style name="TextAppearance.QS.Status.Carriers" />
|
||||||
|
|
||||||
<style name="TextAppearance.QS.Status.Carriers.NoCarrierText">
|
<style name="TextAppearance.QS.Status.Carriers.NoCarrierText">
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?attr/onSurfaceVariant</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.QS.Status.Build">
|
<style name="TextAppearance.QS.Status.Build">
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?attr/onSurfaceVariant</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.DeviceManagementDialog.Title" parent="@android:style/TextAppearance.DeviceDefault.DialogWindowTitle"/>
|
<style name="TextAppearance.DeviceManagementDialog.Title" parent="@android:style/TextAppearance.DeviceDefault.DialogWindowTitle"/>
|
||||||
@@ -278,10 +278,10 @@
|
|||||||
|
|
||||||
<style name="DeviceManagementDialogTitle">
|
<style name="DeviceManagementDialogTitle">
|
||||||
<item name="android:gravity">center</item>
|
<item name="android:gravity">center</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.DeviceManagementDialog.Title</item>
|
<item name="android:textAppearance">@style/TextAppearance.Dialog.Title</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.DeviceManagementDialog.Content" parent="@*android:style/TextAppearance.DeviceDefault.Subhead"/>
|
<style name="TextAppearance.DeviceManagementDialog.Content" parent="@style/TextAppearance.Dialog.Body.Message"/>
|
||||||
|
|
||||||
<style name="BaseBrightnessDialogContainer" parent="@style/Theme.SystemUI">
|
<style name="BaseBrightnessDialogContainer" parent="@style/Theme.SystemUI">
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
@@ -371,14 +371,30 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.SystemUI.QuickSettings" parent="@*android:style/Theme.DeviceDefault">
|
<style name="Theme.SystemUI.QuickSettings" parent="@*android:style/Theme.DeviceDefault">
|
||||||
|
<item name="isQsTheme">true</item>
|
||||||
<item name="lightIconTheme">@style/QSIconTheme</item>
|
<item name="lightIconTheme">@style/QSIconTheme</item>
|
||||||
<item name="darkIconTheme">@style/QSIconTheme</item>
|
<item name="darkIconTheme">@style/QSIconTheme</item>
|
||||||
<item name="android:colorError">@*android:color/error_color_material_dark</item>
|
<item name="android:colorError">@*android:color/error_color_material_dark</item>
|
||||||
<item name="android:windowIsFloating">true</item>
|
<item name="android:windowIsFloating">true</item>
|
||||||
<item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
|
<item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
|
||||||
<item name="offStateColor">@color/material_dynamic_neutral20</item>
|
|
||||||
<item name="underSurfaceColor">@color/material_dynamic_neutral0</item>
|
<item name="surfaceBright">?androidprv:attr/materialColorSurfaceBright</item>
|
||||||
<item name="android:colorBackground">@color/material_dynamic_neutral10</item>
|
<item name="android:colorBackground">?attr/surfaceBright</item>
|
||||||
|
<item name="scHigh">?androidprv:attr/materialColorSurfaceContainerHigh</item>
|
||||||
|
<item name="primary">?androidprv:attr/materialColorPrimary</item>
|
||||||
|
<item name="tertiary">?androidprv:attr/materialColorTertiary</item>
|
||||||
|
<item name="onSurface">?androidprv:attr/materialColorOnSurface</item>
|
||||||
|
<item name="onSurfaceVariant">?androidprv:attr/materialColorOnSurfaceVariant</item>
|
||||||
|
<item name="outline">?androidprv:attr/materialColorOutline</item>
|
||||||
|
|
||||||
|
<item name="shadeActive">@color/material_dynamic_primary90</item>
|
||||||
|
<item name="onShadeActive">@color/material_dynamic_primary10</item>
|
||||||
|
<item name="onShadeActiveVariant">@color/material_dynamic_primary30</item>
|
||||||
|
<item name="shadeInactive">@color/material_dynamic_neutral20</item>
|
||||||
|
<item name="onShadeInactive">@color/material_dynamic_neutral90</item>
|
||||||
|
<item name="onShadeInactiveVariant">@color/material_dynamic_neutral_variant80</item>
|
||||||
|
<item name="shadeDisabled">@color/shade_disabled</item>
|
||||||
|
<item name="underSurface">@color/material_dynamic_neutral0</item>
|
||||||
<item name="android:itemTextAppearance">@style/Control.MenuItem</item>
|
<item name="android:itemTextAppearance">@style/Control.MenuItem</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -390,8 +406,15 @@
|
|||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.SystemUI.QuickSettings.Dialog" parent="@android:style/Theme.DeviceDefault.Dialog">
|
<style name="Theme.SystemUI.QuickSettings.Dialog" parent="@style/Theme.SystemUI.Dialog.QuickSettings">
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Parent style overrides style in the dot inheritance -->
|
||||||
|
<style name="Theme.SystemUI.Dialog.QuickSettings" parent="@style/Theme.SystemUI.QuickSettings">
|
||||||
<item name="android:dialogCornerRadius">@dimen/notification_corner_radius</item>
|
<item name="android:dialogCornerRadius">@dimen/notification_corner_radius</item>
|
||||||
|
<item name="android:buttonBarPositiveButtonStyle">@style/Widget.Dialog.Button.QuickSettings</item>
|
||||||
|
<item name="android:buttonBarNegativeButtonStyle">@style/Widget.Dialog.Button.QuickSettings</item>
|
||||||
|
<item name="android:buttonBarNeutralButtonStyle">@style/Widget.Dialog.Button.QuickSettings</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Overridden by values-television/styles.xml with tv-specific settings -->
|
<!-- Overridden by values-television/styles.xml with tv-specific settings -->
|
||||||
@@ -406,7 +429,7 @@
|
|||||||
<item name="android:buttonBarPositiveButtonStyle">@style/Widget.Dialog.Button</item>
|
<item name="android:buttonBarPositiveButtonStyle">@style/Widget.Dialog.Button</item>
|
||||||
<item name="android:buttonBarNegativeButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
|
<item name="android:buttonBarNegativeButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
|
||||||
<item name="android:buttonBarNeutralButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
|
<item name="android:buttonBarNeutralButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
|
||||||
<item name="android:colorBackground">?androidprv:attr/colorSurface</item>
|
<item name="android:colorBackground">?androidprv:attr/materialColorSurfaceBright</item>
|
||||||
<item name="android:alertDialogStyle">@style/ScrollableAlertDialogStyle</item>
|
<item name="android:alertDialogStyle">@style/ScrollableAlertDialogStyle</item>
|
||||||
<item name="android:buttonBarStyle">@style/ButtonBarStyle</item>
|
<item name="android:buttonBarStyle">@style/ButtonBarStyle</item>
|
||||||
<item name="android:buttonBarButtonStyle">@style/Widget.Dialog.Button.Large</item>
|
<item name="android:buttonBarButtonStyle">@style/Widget.Dialog.Button.Large</item>
|
||||||
@@ -605,11 +628,11 @@
|
|||||||
<item name="android:letterSpacing">0.01</item>
|
<item name="android:letterSpacing">0.01</item>
|
||||||
<item name="android:lineHeight">20sp</item>
|
<item name="android:lineHeight">20sp</item>
|
||||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?attr/onSurfaceVariant</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="QSCustomizeToolbar" parent="@*android:style/Widget.DeviceDefault.Toolbar">
|
<style name="QSCustomizeToolbar" parent="@*android:style/Widget.DeviceDefault.Toolbar">
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?attr/onSurface</item>
|
||||||
<item name="android:elevation">10dp</item>
|
<item name="android:elevation">10dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -1055,7 +1078,7 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.Dialog.Title" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
<style name="TextAppearance.Dialog.Title" parent="@android:style/TextAppearance.DeviceDefault.Large">
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
|
||||||
<item name="android:textSize">@dimen/dialog_title_text_size</item>
|
<item name="android:textSize">@dimen/dialog_title_text_size</item>
|
||||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||||
<item name="android:lineHeight">32sp</item>
|
<item name="android:lineHeight">32sp</item>
|
||||||
@@ -1064,7 +1087,7 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.Dialog.Body" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
<style name="TextAppearance.Dialog.Body" parent="@android:style/TextAppearance.DeviceDefault.Medium">
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item>
|
||||||
<item name="android:textSize">14sp</item>
|
<item name="android:textSize">14sp</item>
|
||||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||||
<item name="android:lineHeight">20sp</item>
|
<item name="android:lineHeight">20sp</item>
|
||||||
@@ -1092,7 +1115,7 @@
|
|||||||
<style name="Widget.Dialog.Button">
|
<style name="Widget.Dialog.Button">
|
||||||
<item name="android:buttonCornerRadius">28dp</item>
|
<item name="android:buttonCornerRadius">28dp</item>
|
||||||
<item name="android:background">@drawable/qs_dialog_btn_filled</item>
|
<item name="android:background">@drawable/qs_dialog_btn_filled</item>
|
||||||
<item name="android:textColor">?androidprv:attr/textColorOnAccent</item>
|
<item name="android:textColor">?androidprv:attr/materialColorOnPrimary</item>
|
||||||
<item name="android:textSize">14sp</item>
|
<item name="android:textSize">14sp</item>
|
||||||
<item name="android:lineHeight">20sp</item>
|
<item name="android:lineHeight">20sp</item>
|
||||||
<item name="android:fontFamily">@*android:string/config_bodyFontFamilyMedium</item>
|
<item name="android:fontFamily">@*android:string/config_bodyFontFamilyMedium</item>
|
||||||
@@ -1102,12 +1125,18 @@
|
|||||||
|
|
||||||
<style name="Widget.Dialog.Button.BorderButton">
|
<style name="Widget.Dialog.Button.BorderButton">
|
||||||
<item name="android:background">@drawable/qs_dialog_btn_outline</item>
|
<item name="android:background">@drawable/qs_dialog_btn_outline</item>
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Dialog.Button.Large">
|
<style name="Widget.Dialog.Button.Large">
|
||||||
<item name="android:background">@drawable/qs_dialog_btn_filled_large</item>
|
<item name="android:background">@drawable/qs_dialog_btn_filled_large</item>
|
||||||
<item name="android:minHeight">56dp</item>
|
<item name="android:minHeight">56dp</item>
|
||||||
|
<item name="android:textColor">?androidprv:attr/materialColorOnPrimaryFixed</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="Widget.Dialog.Button.QuickSettings">
|
||||||
|
<item name="android:textColor">?attr/primary</item>
|
||||||
|
<item name="android:background">?android:attr/selectableItemBackground</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="MainSwitch.Settingslib" parent="@android:style/Theme.DeviceDefault">
|
<style name="MainSwitch.Settingslib" parent="@android:style/Theme.DeviceDefault">
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs.external
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.drawable.Icon
|
import android.graphics.drawable.Icon
|
||||||
|
import android.view.ContextThemeWrapper
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
@@ -66,7 +67,8 @@ class TileRequestDialog(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createTileView(tileData: TileData): QSTileView {
|
private fun createTileView(tileData: TileData): QSTileView {
|
||||||
val tile = QSTileViewImpl(context, QSIconViewImpl(context), true)
|
val themedContext = ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings)
|
||||||
|
val tile = QSTileViewImpl(themedContext, QSIconViewImpl(themedContext), true)
|
||||||
val state = QSTile.BooleanState().apply {
|
val state = QSTile.BooleanState().apply {
|
||||||
label = tileData.label
|
label = tileData.label
|
||||||
handlesLongClick = false
|
handlesLongClick = false
|
||||||
|
|||||||
@@ -244,8 +244,8 @@ class FooterActionsViewBinder @Inject constructor() {
|
|||||||
|
|
||||||
val backgroundResource =
|
val backgroundResource =
|
||||||
when (model.backgroundColor) {
|
when (model.backgroundColor) {
|
||||||
R.attr.offStateColor -> R.drawable.qs_footer_action_circle
|
R.attr.shadeInactive -> R.drawable.qs_footer_action_circle
|
||||||
com.android.internal.R.attr.colorAccent -> R.drawable.qs_footer_action_circle_color
|
R.attr.shadeActive -> R.drawable.qs_footer_action_circle_color
|
||||||
else -> error("Unsupported icon background resource ${model.backgroundColor}")
|
else -> error("Unsupported icon background resource ${model.backgroundColor}")
|
||||||
}
|
}
|
||||||
buttonView.setBackgroundResource(backgroundResource)
|
buttonView.setBackgroundResource(backgroundResource)
|
||||||
|
|||||||
@@ -145,8 +145,12 @@ class FooterActionsViewModel(
|
|||||||
R.drawable.ic_settings,
|
R.drawable.ic_settings,
|
||||||
ContentDescription.Resource(R.string.accessibility_quick_settings_settings)
|
ContentDescription.Resource(R.string.accessibility_quick_settings_settings)
|
||||||
),
|
),
|
||||||
iconTint = null,
|
iconTint =
|
||||||
backgroundColor = R.attr.offStateColor,
|
Utils.getColorAttrDefaultColor(
|
||||||
|
context,
|
||||||
|
R.attr.onShadeInactiveVariant,
|
||||||
|
),
|
||||||
|
backgroundColor = R.attr.shadeInactive,
|
||||||
this::onSettingsButtonClicked,
|
this::onSettingsButtonClicked,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -162,9 +166,9 @@ class FooterActionsViewModel(
|
|||||||
iconTint =
|
iconTint =
|
||||||
Utils.getColorAttrDefaultColor(
|
Utils.getColorAttrDefaultColor(
|
||||||
context,
|
context,
|
||||||
com.android.internal.R.attr.textColorOnAccent,
|
R.attr.onShadeActive,
|
||||||
),
|
),
|
||||||
backgroundColor = com.android.internal.R.attr.colorAccent,
|
backgroundColor = R.attr.shadeActive,
|
||||||
this::onPowerButtonClicked,
|
this::onPowerButtonClicked,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@@ -264,7 +268,7 @@ class FooterActionsViewModel(
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
iconTint = null,
|
iconTint = null,
|
||||||
backgroundColor = R.attr.offStateColor,
|
backgroundColor = R.attr.shadeInactive,
|
||||||
onClick = this::onUserSwitcherClicked,
|
onClick = this::onUserSwitcherClicked,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,13 +248,11 @@ public class QSIconViewImpl extends QSIconView {
|
|||||||
*/
|
*/
|
||||||
private static int getIconColorForState(Context context, QSTile.State state) {
|
private static int getIconColorForState(Context context, QSTile.State state) {
|
||||||
if (state.disabledByPolicy || state.state == Tile.STATE_UNAVAILABLE) {
|
if (state.disabledByPolicy || state.state == Tile.STATE_UNAVAILABLE) {
|
||||||
return Utils.getColorAttrDefaultColor(
|
return Utils.getColorAttrDefaultColor(context, R.attr.outline);
|
||||||
context, com.android.internal.R.attr.textColorTertiary);
|
|
||||||
} else if (state.state == Tile.STATE_INACTIVE) {
|
} else if (state.state == Tile.STATE_INACTIVE) {
|
||||||
return Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimary);
|
return Utils.getColorAttrDefaultColor(context, R.attr.onShadeInactiveVariant);
|
||||||
} else if (state.state == Tile.STATE_ACTIVE) {
|
} else if (state.state == Tile.STATE_ACTIVE) {
|
||||||
return Utils.getColorAttrDefaultColor(context,
|
return Utils.getColorAttrDefaultColor(context, R.attr.onShadeActive);
|
||||||
com.android.internal.R.attr.textColorOnAccent);
|
|
||||||
} else {
|
} else {
|
||||||
Log.e("QSIconView", "Invalid state " + state);
|
Log.e("QSIconView", "Invalid state " + state);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import android.os.Trace
|
|||||||
import android.service.quicksettings.Tile
|
import android.service.quicksettings.Tile
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import android.util.TypedValue
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -92,24 +93,21 @@ open class QSTileViewImpl @JvmOverloads constructor(
|
|||||||
updateHeight()
|
updateHeight()
|
||||||
}
|
}
|
||||||
|
|
||||||
private val colorActive = Utils.getColorAttrDefaultColor(context,
|
private val colorActive = Utils.getColorAttrDefaultColor(context, R.attr.shadeActive)
|
||||||
com.android.internal.R.attr.colorAccentPrimary)
|
private val colorInactive = Utils.getColorAttrDefaultColor(context, R.attr.shadeInactive)
|
||||||
private val colorInactive = Utils.getColorAttrDefaultColor(context, R.attr.offStateColor)
|
private val colorUnavailable = Utils.getColorAttrDefaultColor(context, R.attr.shadeDisabled)
|
||||||
private val colorUnavailable = Utils.applyAlpha(UNAVAILABLE_ALPHA, colorInactive)
|
|
||||||
|
|
||||||
private val colorLabelActive =
|
private val colorLabelActive = Utils.getColorAttrDefaultColor(context, R.attr.onShadeActive)
|
||||||
Utils.getColorAttrDefaultColor(context, com.android.internal.R.attr.textColorOnAccent)
|
private val colorLabelInactive = Utils.getColorAttrDefaultColor(context, R.attr.onShadeInactive)
|
||||||
private val colorLabelInactive =
|
|
||||||
Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimary)
|
|
||||||
private val colorLabelUnavailable =
|
private val colorLabelUnavailable =
|
||||||
Utils.getColorAttrDefaultColor(context, com.android.internal.R.attr.textColorTertiary)
|
Utils.getColorAttrDefaultColor(context, R.attr.outline)
|
||||||
|
|
||||||
private val colorSecondaryLabelActive =
|
private val colorSecondaryLabelActive =
|
||||||
Utils.getColorAttrDefaultColor(context, android.R.attr.textColorSecondaryInverse)
|
Utils.getColorAttrDefaultColor(context, R.attr.onShadeActiveVariant)
|
||||||
private val colorSecondaryLabelInactive =
|
private val colorSecondaryLabelInactive =
|
||||||
Utils.getColorAttrDefaultColor(context, android.R.attr.textColorSecondary)
|
Utils.getColorAttrDefaultColor(context, R.attr.onShadeInactiveVariant)
|
||||||
private val colorSecondaryLabelUnavailable =
|
private val colorSecondaryLabelUnavailable =
|
||||||
Utils.getColorAttrDefaultColor(context, com.android.internal.R.attr.textColorTertiary)
|
Utils.getColorAttrDefaultColor(context, R.attr.outline)
|
||||||
|
|
||||||
private lateinit var label: TextView
|
private lateinit var label: TextView
|
||||||
protected lateinit var secondaryLabel: TextView
|
protected lateinit var secondaryLabel: TextView
|
||||||
@@ -151,6 +149,11 @@ open class QSTileViewImpl @JvmOverloads constructor(
|
|||||||
private val locInScreen = IntArray(2)
|
private val locInScreen = IntArray(2)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
val typedValue = TypedValue()
|
||||||
|
if (!getContext().theme.resolveAttribute(R.attr.isQsTheme, typedValue, true)) {
|
||||||
|
throw IllegalStateException("QSViewImpl must be inflated with a theme that contains " +
|
||||||
|
"Theme.SystemUI.QuickSettings")
|
||||||
|
}
|
||||||
setId(generateViewId())
|
setId(generateViewId())
|
||||||
orientation = LinearLayout.HORIZONTAL
|
orientation = LinearLayout.HORIZONTAL
|
||||||
gravity = Gravity.CENTER_VERTICAL or Gravity.START
|
gravity = Gravity.CENTER_VERTICAL or Gravity.START
|
||||||
|
|||||||
@@ -15,9 +15,11 @@ package com.android.systemui.qs
|
|||||||
|
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
|
import android.testing.TestableContext
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
import android.testing.TestableLooper.RunWithLooper
|
import android.testing.TestableLooper.RunWithLooper
|
||||||
import android.testing.ViewUtils
|
import android.testing.ViewUtils
|
||||||
|
import android.view.ContextThemeWrapper
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
||||||
import android.view.accessibility.AccessibilityNodeInfo
|
import android.view.accessibility.AccessibilityNodeInfo
|
||||||
@@ -55,19 +57,24 @@ class QSPanelTest : SysuiTestCase() {
|
|||||||
|
|
||||||
private lateinit var footer: View
|
private lateinit var footer: View
|
||||||
|
|
||||||
|
private val themedContext = TestableContext(
|
||||||
|
ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings)
|
||||||
|
)
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@Throws(Exception::class)
|
@Throws(Exception::class)
|
||||||
fun setup() {
|
fun setup() {
|
||||||
MockitoAnnotations.initMocks(this)
|
MockitoAnnotations.initMocks(this)
|
||||||
testableLooper = TestableLooper.get(this)
|
testableLooper = TestableLooper.get(this)
|
||||||
|
// Apply only the values of the theme that are not defined
|
||||||
|
|
||||||
testableLooper.runWithLooper {
|
testableLooper.runWithLooper {
|
||||||
qsPanel = QSPanel(context, null)
|
qsPanel = QSPanel(themedContext, null)
|
||||||
qsPanel.mUsingMediaPlayer = true
|
qsPanel.mUsingMediaPlayer = true
|
||||||
|
|
||||||
qsPanel.initialize(qsLogger)
|
qsPanel.initialize(qsLogger)
|
||||||
// QSPanel inflates a footer inside of it, mocking it here
|
// QSPanel inflates a footer inside of it, mocking it here
|
||||||
footer = LinearLayout(context).apply { id = R.id.qs_footer }
|
footer = LinearLayout(themedContext).apply { id = R.id.qs_footer }
|
||||||
qsPanel.addView(footer, MATCH_PARENT, 100)
|
qsPanel.addView(footer, MATCH_PARENT, 100)
|
||||||
qsPanel.onFinishInflate()
|
qsPanel.onFinishInflate()
|
||||||
// Provides a parent with non-zero size for QSPanel
|
// Provides a parent with non-zero size for QSPanel
|
||||||
@@ -105,12 +112,12 @@ class QSPanelTest : SysuiTestCase() {
|
|||||||
qsPanel.tileLayout?.addTile(
|
qsPanel.tileLayout?.addTile(
|
||||||
QSPanelControllerBase.TileRecord(
|
QSPanelControllerBase.TileRecord(
|
||||||
mock(QSTile::class.java),
|
mock(QSTile::class.java),
|
||||||
QSTileViewImpl(context, QSIconViewImpl(context))
|
QSTileViewImpl(themedContext, QSIconViewImpl(themedContext))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
val mediaView = FrameLayout(context)
|
val mediaView = FrameLayout(themedContext)
|
||||||
mediaView.addView(View(context), MATCH_PARENT, 800)
|
mediaView.addView(View(themedContext), MATCH_PARENT, 800)
|
||||||
|
|
||||||
qsPanel.setUsingHorizontalLayout(/* horizontal */ true, mediaView, /* force */ true)
|
qsPanel.setUsingHorizontalLayout(/* horizontal */ true, mediaView, /* force */ true)
|
||||||
qsPanel.measure(
|
qsPanel.measure(
|
||||||
@@ -135,12 +142,12 @@ class QSPanelTest : SysuiTestCase() {
|
|||||||
qsPanel.tileLayout?.addTile(
|
qsPanel.tileLayout?.addTile(
|
||||||
QSPanelControllerBase.TileRecord(
|
QSPanelControllerBase.TileRecord(
|
||||||
mock(QSTile::class.java),
|
mock(QSTile::class.java),
|
||||||
QSTileViewImpl(context, QSIconViewImpl(context))
|
QSTileViewImpl(themedContext, QSIconViewImpl(themedContext))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
val mediaView = FrameLayout(context)
|
val mediaView = FrameLayout(themedContext)
|
||||||
mediaView.addView(View(context), MATCH_PARENT, 800)
|
mediaView.addView(View(themedContext), MATCH_PARENT, 800)
|
||||||
|
|
||||||
qsPanel.setUsingHorizontalLayout(/* horizontal */ true, mediaView, /* force */ true)
|
qsPanel.setUsingHorizontalLayout(/* horizontal */ true, mediaView, /* force */ true)
|
||||||
qsPanel.measure(
|
qsPanel.measure(
|
||||||
@@ -161,7 +168,10 @@ class QSPanelTest : SysuiTestCase() {
|
|||||||
@Test
|
@Test
|
||||||
fun testBottomPadding() {
|
fun testBottomPadding() {
|
||||||
val padding = 10
|
val padding = 10
|
||||||
context.orCreateTestableResources.addOverride(R.dimen.qs_panel_padding_bottom, padding)
|
themedContext.orCreateTestableResources.addOverride(
|
||||||
|
R.dimen.qs_panel_padding_bottom,
|
||||||
|
padding
|
||||||
|
)
|
||||||
qsPanel.updatePadding()
|
qsPanel.updatePadding()
|
||||||
assertThat(qsPanel.paddingBottom).isEqualTo(padding)
|
assertThat(qsPanel.paddingBottom).isEqualTo(padding)
|
||||||
}
|
}
|
||||||
@@ -170,8 +180,11 @@ class QSPanelTest : SysuiTestCase() {
|
|||||||
fun testTopPadding() {
|
fun testTopPadding() {
|
||||||
val padding = 10
|
val padding = 10
|
||||||
val paddingCombined = 100
|
val paddingCombined = 100
|
||||||
context.orCreateTestableResources.addOverride(R.dimen.qs_panel_padding_top, padding)
|
themedContext.orCreateTestableResources.addOverride(R.dimen.qs_panel_padding_top, padding)
|
||||||
context.orCreateTestableResources.addOverride(R.dimen.qs_panel_padding_top, paddingCombined)
|
themedContext.orCreateTestableResources.addOverride(
|
||||||
|
R.dimen.qs_panel_padding_top,
|
||||||
|
paddingCombined
|
||||||
|
)
|
||||||
|
|
||||||
qsPanel.updatePadding()
|
qsPanel.updatePadding()
|
||||||
assertThat(qsPanel.paddingTop).isEqualTo(paddingCombined)
|
assertThat(qsPanel.paddingTop).isEqualTo(paddingCombined)
|
||||||
|
|||||||
@@ -26,12 +26,14 @@ import static org.mockito.Mockito.mock;
|
|||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.test.suitebuilder.annotation.SmallTest;
|
import android.test.suitebuilder.annotation.SmallTest;
|
||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
|
import android.view.ContextThemeWrapper;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.accessibility.AccessibilityNodeInfo;
|
import android.view.accessibility.AccessibilityNodeInfo;
|
||||||
|
|
||||||
@@ -56,14 +58,17 @@ public class TileLayoutTest extends SysuiTestCase {
|
|||||||
private Resources mResources;
|
private Resources mResources;
|
||||||
private int mLayoutSizeForOneTile;
|
private int mLayoutSizeForOneTile;
|
||||||
private TileLayout mTileLayout; // under test
|
private TileLayout mTileLayout; // under test
|
||||||
|
private Context mSpyContext;
|
||||||
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
Context context = Mockito.spy(mContext);
|
mSpyContext = Mockito.spy(
|
||||||
mResources = Mockito.spy(context.getResources());
|
new ContextThemeWrapper(mContext, R.style.Theme_SystemUI_QuickSettings));
|
||||||
Mockito.when(mContext.getResources()).thenReturn(mResources);
|
mResources = Mockito.spy(mSpyContext.getResources());
|
||||||
|
when(mSpyContext.getResources()).thenReturn(mResources);
|
||||||
|
|
||||||
mTileLayout = new TileLayout(context);
|
mTileLayout = new TileLayout(mSpyContext);
|
||||||
// Layout needs to leave space for the tile margins. Three times the margin size is
|
// Layout needs to leave space for the tile margins. Three times the margin size is
|
||||||
// sufficient for any number of columns.
|
// sufficient for any number of columns.
|
||||||
mLayoutSizeForOneTile =
|
mLayoutSizeForOneTile =
|
||||||
@@ -73,7 +78,7 @@ public class TileLayoutTest extends SysuiTestCase {
|
|||||||
private QSPanelControllerBase.TileRecord createTileRecord() {
|
private QSPanelControllerBase.TileRecord createTileRecord() {
|
||||||
return new QSPanelControllerBase.TileRecord(
|
return new QSPanelControllerBase.TileRecord(
|
||||||
mock(QSTile.class),
|
mock(QSTile.class),
|
||||||
spy(new QSTileViewImpl(mContext, new QSIconViewImpl(mContext))));
|
spy(new QSTileViewImpl(mSpyContext, new QSIconViewImpl(mSpyContext))));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -161,7 +166,7 @@ public class TileLayoutTest extends SysuiTestCase {
|
|||||||
.layout(left2.capture(), top2.capture(), right2.capture(), bottom2.capture());
|
.layout(left2.capture(), top2.capture(), right2.capture(), bottom2.capture());
|
||||||
|
|
||||||
// We assume two tiles will always fit side-by-side.
|
// We assume two tiles will always fit side-by-side.
|
||||||
assertTrue(mContext.getResources().getInteger(R.integer.quick_settings_num_columns) > 1);
|
assertTrue(mSpyContext.getResources().getInteger(R.integer.quick_settings_num_columns) > 1);
|
||||||
|
|
||||||
// left <= right, top <= bottom
|
// left <= right, top <= bottom
|
||||||
assertTrue(left1.getValue() <= right1.getValue());
|
assertTrue(left1.getValue() <= right1.getValue());
|
||||||
@@ -218,16 +223,16 @@ public class TileLayoutTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void resourcesChanged_updateResources_returnsTrue() {
|
public void resourcesChanged_updateResources_returnsTrue() {
|
||||||
Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1);
|
when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1);
|
||||||
mTileLayout.updateResources(); // setup with 1
|
mTileLayout.updateResources(); // setup with 1
|
||||||
Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(2);
|
when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(2);
|
||||||
|
|
||||||
assertEquals(true, mTileLayout.updateResources());
|
assertEquals(true, mTileLayout.updateResources());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void resourcesSame_updateResources_returnsFalse() {
|
public void resourcesSame_updateResources_returnsFalse() {
|
||||||
Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1);
|
when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1);
|
||||||
mTileLayout.updateResources(); // setup with 1
|
mTileLayout.updateResources(); // setup with 1
|
||||||
|
|
||||||
assertEquals(false, mTileLayout.updateResources());
|
assertEquals(false, mTileLayout.updateResources());
|
||||||
@@ -250,7 +255,7 @@ public class TileLayoutTest extends SysuiTestCase {
|
|||||||
QSPanelControllerBase.TileRecord tileRecord = createTileRecord();
|
QSPanelControllerBase.TileRecord tileRecord = createTileRecord();
|
||||||
mTileLayout.addTile(tileRecord);
|
mTileLayout.addTile(tileRecord);
|
||||||
|
|
||||||
FakeTileView tileView = new FakeTileView(mContext);
|
FakeTileView tileView = new FakeTileView(mSpyContext);
|
||||||
QSTile.State state = new QSTile.State();
|
QSTile.State state = new QSTile.State();
|
||||||
state.label = "TEST LABEL";
|
state.label = "TEST LABEL";
|
||||||
state.secondaryLabel = "TEST SECONDARY LABEL";
|
state.secondaryLabel = "TEST SECONDARY LABEL";
|
||||||
@@ -276,9 +281,10 @@ public class TileLayoutTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void changeFontScaling(float scale) {
|
private void changeFontScaling(float scale) {
|
||||||
Configuration configuration = new Configuration(mContext.getResources().getConfiguration());
|
Configuration configuration =
|
||||||
|
new Configuration(mSpyContext.getResources().getConfiguration());
|
||||||
configuration.fontScale = scale;
|
configuration.fontScale = scale;
|
||||||
// updateConfiguration could help update on both resource configuration and displayMetrics
|
// updateConfiguration could help update on both resource configuration and displayMetrics
|
||||||
mContext.getResources().updateConfiguration(configuration, null, null);
|
mSpyContext.getResources().updateConfiguration(configuration, null, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import android.os.UserManager
|
|||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
import android.testing.TestableLooper.RunWithLooper
|
import android.testing.TestableLooper.RunWithLooper
|
||||||
|
import android.view.ContextThemeWrapper
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.settingslib.Utils
|
import com.android.settingslib.Utils
|
||||||
import com.android.settingslib.drawable.UserIconDrawable
|
import com.android.settingslib.drawable.UserIconDrawable
|
||||||
@@ -63,6 +64,8 @@ class FooterActionsViewModelTest : SysuiTestCase() {
|
|||||||
private val testScope = TestScope()
|
private val testScope = TestScope()
|
||||||
private lateinit var utils: FooterActionsTestUtils
|
private lateinit var utils: FooterActionsTestUtils
|
||||||
|
|
||||||
|
private val themedContext = ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings)
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
utils = FooterActionsTestUtils(context, TestableLooper.get(this), testScope.testScheduler)
|
utils = FooterActionsTestUtils(context, TestableLooper.get(this), testScope.testScheduler)
|
||||||
@@ -84,8 +87,14 @@ class FooterActionsViewModelTest : SysuiTestCase() {
|
|||||||
ContentDescription.Resource(R.string.accessibility_quick_settings_settings)
|
ContentDescription.Resource(R.string.accessibility_quick_settings_settings)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assertThat(settings.backgroundColor).isEqualTo(R.attr.offStateColor)
|
assertThat(settings.backgroundColor).isEqualTo(R.attr.shadeInactive)
|
||||||
assertThat(settings.iconTint).isNull()
|
assertThat(settings.iconTint)
|
||||||
|
.isEqualTo(
|
||||||
|
Utils.getColorAttrDefaultColor(
|
||||||
|
themedContext,
|
||||||
|
R.attr.onShadeInactiveVariant,
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -105,12 +114,12 @@ class FooterActionsViewModelTest : SysuiTestCase() {
|
|||||||
ContentDescription.Resource(R.string.accessibility_quick_settings_power_menu)
|
ContentDescription.Resource(R.string.accessibility_quick_settings_power_menu)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assertThat(power.backgroundColor).isEqualTo(com.android.internal.R.attr.colorAccent)
|
assertThat(power.backgroundColor).isEqualTo(R.attr.shadeActive)
|
||||||
assertThat(power.iconTint)
|
assertThat(power.iconTint)
|
||||||
.isEqualTo(
|
.isEqualTo(
|
||||||
Utils.getColorAttrDefaultColor(
|
Utils.getColorAttrDefaultColor(
|
||||||
context,
|
themedContext,
|
||||||
com.android.internal.R.attr.textColorOnAccent,
|
R.attr.onShadeActive,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -170,7 +179,7 @@ class FooterActionsViewModelTest : SysuiTestCase() {
|
|||||||
assertThat(userSwitcher).isNotNull()
|
assertThat(userSwitcher).isNotNull()
|
||||||
assertThat(userSwitcher!!.icon)
|
assertThat(userSwitcher!!.icon)
|
||||||
.isEqualTo(Icon.Loaded(picture, ContentDescription.Loaded("Signed in as foo")))
|
.isEqualTo(Icon.Loaded(picture, ContentDescription.Loaded("Signed in as foo")))
|
||||||
assertThat(userSwitcher.backgroundColor).isEqualTo(R.attr.offStateColor)
|
assertThat(userSwitcher.backgroundColor).isEqualTo(R.attr.shadeInactive)
|
||||||
|
|
||||||
// Change the current user name.
|
// Change the current user name.
|
||||||
userSwitcherControllerWrapper.currentUserName = "bar"
|
userSwitcherControllerWrapper.currentUserName = "bar"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import android.service.quicksettings.Tile
|
|||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
|
import android.view.ContextThemeWrapper
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.accessibility.AccessibilityNodeInfo
|
import android.view.accessibility.AccessibilityNodeInfo
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
@@ -386,7 +387,11 @@ class QSTileViewImplTest : SysuiTestCase() {
|
|||||||
context: Context,
|
context: Context,
|
||||||
icon: QSIconView,
|
icon: QSIconView,
|
||||||
collapsed: Boolean
|
collapsed: Boolean
|
||||||
) : QSTileViewImpl(context, icon, collapsed) {
|
) : QSTileViewImpl(
|
||||||
|
ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings),
|
||||||
|
icon,
|
||||||
|
collapsed
|
||||||
|
) {
|
||||||
fun changeState(state: QSTile.State) {
|
fun changeState(state: QSTile.State) {
|
||||||
handleStateChanged(state)
|
handleStateChanged(state)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS
|
|||||||
import android.provider.Settings.Global.ZEN_MODE_OFF
|
import android.provider.Settings.Global.ZEN_MODE_OFF
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
|
import android.view.ContextThemeWrapper
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.internal.logging.MetricsLogger
|
import com.android.internal.logging.MetricsLogger
|
||||||
@@ -110,7 +111,9 @@ class DndTileTest : SysuiTestCase() {
|
|||||||
|
|
||||||
whenever(qsHost.userId).thenReturn(DEFAULT_USER)
|
whenever(qsHost.userId).thenReturn(DEFAULT_USER)
|
||||||
|
|
||||||
val wrappedContext = object : ContextWrapper(context) {
|
val wrappedContext = object : ContextWrapper(
|
||||||
|
ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings)
|
||||||
|
) {
|
||||||
override fun getSharedPreferences(file: File?, mode: Int): SharedPreferences {
|
override fun getSharedPreferences(file: File?, mode: Int): SharedPreferences {
|
||||||
return sharedPreferences
|
return sharedPreferences
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,10 @@ import static org.junit.Assert.assertEquals;
|
|||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
|
import android.view.ContextThemeWrapper;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@@ -48,7 +50,9 @@ public class ShadeCarrierTest extends SysuiTestCase {
|
|||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
mTestableLooper = TestableLooper.get(this);
|
mTestableLooper = TestableLooper.get(this);
|
||||||
LayoutInflater inflater = LayoutInflater.from(mContext);
|
Context themedContext =
|
||||||
|
new ContextThemeWrapper(mContext, R.style.Theme_SystemUI_QuickSettings);
|
||||||
|
LayoutInflater inflater = LayoutInflater.from(themedContext);
|
||||||
mContext.ensureTestableResources();
|
mContext.ensureTestableResources();
|
||||||
mTestableLooper.runWithLooper(() ->
|
mTestableLooper.runWithLooper(() ->
|
||||||
mShadeCarrier = (ShadeCarrier) inflater.inflate(R.layout.shade_carrier, null));
|
mShadeCarrier = (ShadeCarrier) inflater.inflate(R.layout.shade_carrier, null));
|
||||||
|
|||||||
Reference in New Issue
Block a user