From 9ed6eccb75bb1ea183680014ef9a1813603fa462 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Thu, 6 Jul 2023 15:53:46 +0800 Subject: [PATCH] Remove context from batteryStatusFeatureProvider BatteryStatusFeatureProvider is created by using application context, no need pass context in when get. Bug: 286764889 Test: m Settings Change-Id: Ie5f39c3f074a1937526461eba45f11f7ec212cba --- .../fuelgauge/BatteryHeaderPreferenceController.java | 5 ++--- .../fuelgauge/TopLevelBatteryPreferenceController.java | 6 +++--- src/com/android/settings/overlay/FeatureFactory.kt | 4 +--- src/com/android/settings/overlay/FeatureFactoryImpl.kt | 8 +++----- .../android/settings/testutils/FakeFeatureFactory.java | 3 ++- .../com/android/settings/testutils/FakeFeatureFactory.kt | 6 ++---- .../android/settings/testutils/FakeFeatureFactory.java | 3 ++- 7 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java index c910e6967b4..92292facde3 100644 --- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java @@ -18,7 +18,6 @@ package com.android.settings.fuelgauge; import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.icu.text.NumberFormat; import android.os.BatteryManager; import android.os.PowerManager; @@ -67,8 +66,8 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController public BatteryHeaderPreferenceController(Context context, String key) { super(context, key); mPowerManager = context.getSystemService(PowerManager.class); - mBatteryStatusFeatureProvider = FeatureFactory.getFactory(context) - .getBatteryStatusFeatureProvider(context); + mBatteryStatusFeatureProvider = FeatureFactory.getFeatureFactory() + .getBatteryStatusFeatureProvider(); } public void setActivity(Activity activity) { diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java index 254cf046bb8..f44972366fe 100644 --- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java +++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java @@ -27,10 +27,10 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.Utils; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; -import com.android.settingslib.Utils; import com.android.settingslib.utils.ThreadUtils; public class TopLevelBatteryPreferenceController extends BasePreferenceController implements @@ -66,8 +66,8 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle }, true /* shortString */); }); - mBatteryStatusFeatureProvider = FeatureFactory.getFactory(context) - .getBatteryStatusFeatureProvider(context); + mBatteryStatusFeatureProvider = FeatureFactory.getFeatureFactory() + .getBatteryStatusFeatureProvider(); } @Override diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt index 5b559b54a39..3e0d088dedc 100644 --- a/src/com/android/settings/overlay/FeatureFactory.kt +++ b/src/com/android/settings/overlay/FeatureFactory.kt @@ -73,9 +73,7 @@ abstract class FeatureFactory { /** * Retrieves implementation for Battery Status feature. */ - abstract fun getBatteryStatusFeatureProvider( - context: Context - ): BatteryStatusFeatureProvider + abstract val batteryStatusFeatureProvider: BatteryStatusFeatureProvider /** * Gets implementation for Battery Settings provider. diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.kt b/src/com/android/settings/overlay/FeatureFactoryImpl.kt index 590d8f2fc0c..9955e638fe3 100644 --- a/src/com/android/settings/overlay/FeatureFactoryImpl.kt +++ b/src/com/android/settings/overlay/FeatureFactoryImpl.kt @@ -81,10 +81,6 @@ open class FeatureFactoryImpl : FeatureFactory() { private val powerUsageFeatureProvider by lazy { PowerUsageFeatureProviderImpl(appContext) } - private val batteryStatusFeatureProvider by lazy { - BatteryStatusFeatureProviderImpl(appContext) - } - private val userFeatureProvider by lazy { UserFeatureProviderImpl(appContext) } private val contextualCardFeatureProvider by lazy { @@ -98,7 +94,9 @@ open class FeatureFactoryImpl : FeatureFactory() { override fun getPowerUsageFeatureProvider(context: Context) = powerUsageFeatureProvider - override fun getBatteryStatusFeatureProvider(context: Context) = batteryStatusFeatureProvider + override val batteryStatusFeatureProvider by lazy { + BatteryStatusFeatureProviderImpl(appContext) + } override val batterySettingsFeatureProvider by lazy { BatterySettingsFeatureProviderImpl() } diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java index c50d6b9381b..5bac5226d05 100644 --- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -151,8 +151,9 @@ public class FakeFeatureFactory extends FeatureFactory { return metricsFeatureProvider; } + @NotNull @Override - public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(Context context) { + public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider() { return batteryStatusFeatureProvider; } diff --git a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt index 5b47e1397f7..2f3885b8a02 100644 --- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt +++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt @@ -36,7 +36,6 @@ import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider import com.android.settings.localepicker.LocaleFeatureProvider import com.android.settings.overlay.DockUpdaterFeatureProvider import com.android.settings.overlay.FeatureFactory -import com.android.settings.overlay.SupportFeatureProvider import com.android.settings.overlay.SurveyFeatureProvider import com.android.settings.panel.PanelFeatureProvider import com.android.settings.search.SearchFeatureProvider @@ -72,9 +71,8 @@ class FakeFeatureFactory : FeatureFactory() { TODO("Not yet implemented") } - override fun getBatteryStatusFeatureProvider(context: Context): BatteryStatusFeatureProvider { - TODO("Not yet implemented") - } + override val batteryStatusFeatureProvider: BatteryStatusFeatureProvider + get() = TODO("Not yet implemented") override val batterySettingsFeatureProvider: BatterySettingsFeatureProvider get() = TODO("Not yet implemented") diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java index 897cf9ad6ff..ad62cd7c8cd 100644 --- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -150,8 +150,9 @@ public class FakeFeatureFactory extends FeatureFactory { return metricsFeatureProvider; } + @NotNull @Override - public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(Context context) { + public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider() { return batteryStatusFeatureProvider; }