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)