[Expressive Battery] Refactor pref with anomaly hint.

- WarningFramePreference & warning_frame_preference.xml is a battery customized layout which looks like a standard Preference layout with an optional app icon & warning chip.
- PowerGaugePreference extends the WarningFramePreference to display the app Preference with optional warning chip in Battery > Battery Usage.
- PowerUsageTimePreference extends the WarningFramePreference to display the usage time with optional warning chip in Battery > Battery Usage > App battery usage.

Bug: 349652542
Test: atest BatteryUsageBreakdownControllerTest PowerGaugePreferenceTest PowerUsageTimeControllerTest
Flag: com.android.settingslib.widget.theme.flags.is_expressive_design_enabled
Change-Id: I5d22703ccc487c54a2bbbc1d9737b92a2de54ba5
This commit is contained in:
mxyyiyi
2025-02-07 14:43:15 +08:00
parent 8efba3fee5
commit a2bdafaf5e
11 changed files with 178 additions and 260 deletions

View File

@@ -1,49 +0,0 @@
<?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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical">
<TextView
android:id="@+id/time_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:textAlignment="viewStart"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:id="@+id/time_summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="4dp"
android:textAlignment="viewStart"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary" />
<include layout="@layout/power_anomaly_hints"
android:visibility="gone"
android:id="@+id/anomaly_hints"
android:paddingBottom="20dp"/>
</LinearLayout>

View File

@@ -22,7 +22,7 @@
<include layout="@layout/preference_app"/>
<LinearLayout
android:id="@+id/warning_chip"
android:id="@+id/warning_chip_frame"
android:visibility="gone"
android:clickable="false"
android:layout_width="match_parent"
@@ -32,13 +32,12 @@
android:orientation="horizontal"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<Space
android:id="@+id/warning_padding_placeholder"
android:layout_width="@dimen/secondary_app_icon_size"
android:layout_height="wrap_content"
android:layout_height="1px"
android:layout_marginEnd="16dp"/>
<include layout="@layout/power_anomaly_hints" />
<include layout="@layout/power_anomaly_hints"/>
</LinearLayout>
</LinearLayout>