From 8e6066f5d692e348585ccdf06df6d08641623dd8 Mon Sep 17 00:00:00 2001 From: Zaiyue Xue Date: Mon, 18 Nov 2024 13:57:57 +0800 Subject: [PATCH] [PixelCare] Catalyst migration for battery header NO_IFTTT=initialization Bug: 372774754 Test: manual Flag: com.android.settings.flags.catalyst_power_usage_summary_screen Change-Id: Icc1c46069147830b3360a467ffc2e666dadd3ddd --- res/xml/power_usage_summary.xml | 1 + .../fuelgauge/BatteryHeaderPreference.kt | 95 +++++++++++++++++++ .../BatteryHeaderPreferenceController.java | 2 + .../batteryusage/PowerUsageSummaryScreen.kt | 7 +- ...BatteryHeaderPreferenceControllerTest.java | 2 + .../fuelgauge/BatteryHeaderPreferenceTest.kt | 85 +++++++++++++++++ 6 files changed, 190 insertions(+), 2 deletions(-) create mode 100644 src/com/android/settings/fuelgauge/BatteryHeaderPreference.kt create mode 100644 tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceTest.kt diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml index 21a836d6d9a..c7cf873f017 100644 --- a/res/xml/power_usage_summary.xml +++ b/res/xml/power_usage_summary.xml @@ -26,6 +26,7 @@ android:title="@string/summary_placeholder" android:selectable="false" android:paddingBottom="0px" + android:persistent="false" settings:controller="com.android.settings.fuelgauge.BatteryHeaderPreferenceController" /> () + private val mockBatteryBroadcastReceiver = mock() + private val batteryHeaderPreference = BatteryHeaderPreference() + + private val context: Context = + object : ContextWrapper(ApplicationProvider.getApplicationContext()) { + override fun registerReceiver(receiver: BroadcastReceiver?, filter: IntentFilter?) = + Intent(Intent.ACTION_BATTERY_CHANGED) + .putExtra(EXTRA_LEVEL, 60) + .putExtra(EXTRA_SCALE, 100) + } + + @Test + fun createAndBindWidget_selectableIsFalse() { + val usageProgressBarPreference = + batteryHeaderPreference.createAndBindWidget(context) + + assertThat(usageProgressBarPreference.isSelectable).isFalse() + } + + @Test + fun onCreate_createBatteryBroadcastReceiver() { + batteryHeaderPreference.onCreate(mockLifecycleContext) + + assertThat(batteryHeaderPreference.batteryBroadcastReceiver).isNotNull() + } + + @Test + fun onStart_invokeRegisterMethod() { + batteryHeaderPreference.batteryBroadcastReceiver = mockBatteryBroadcastReceiver + + batteryHeaderPreference.onStart(mockLifecycleContext) + + verify(mockBatteryBroadcastReceiver).register() + } + + @Test + fun onStop_invokeUnRegisterMethod() { + batteryHeaderPreference.batteryBroadcastReceiver = mockBatteryBroadcastReceiver + + batteryHeaderPreference.onStop(mockLifecycleContext) + + verify(mockBatteryBroadcastReceiver).unRegister() + } +} +// LINT.ThenChange(BatteryHeaderPreferenceControllerTest.java)