diff options
6 files changed, 23 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java index 7fc81231c90b..a5fdc68226e8 100644 --- a/packages/SystemUI/src/com/android/systemui/Dependency.java +++ b/packages/SystemUI/src/com/android/systemui/Dependency.java @@ -103,7 +103,6 @@ import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.SystemUIDialogManager; import com.android.systemui.statusbar.policy.AccessibilityController; import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; -import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.ConfigurationController; @@ -253,7 +252,6 @@ public class Dependency { @Inject Lazy<UserInfoController> mUserInfoController; @Inject Lazy<KeyguardStateController> mKeyguardMonitor; @Inject Lazy<KeyguardUpdateMonitor> mKeyguardUpdateMonitor; - @Inject Lazy<BatteryController> mBatteryController; @Inject Lazy<NightDisplayListener> mNightDisplayListener; @Inject Lazy<ReduceBrightColorsController> mReduceBrightColorsController; @Inject Lazy<ManagedProfileController> mManagedProfileController; @@ -404,8 +402,6 @@ public class Dependency { mProviders.put(UserInfoController.class, mUserInfoController::get); - mProviders.put(BatteryController.class, mBatteryController::get); - mProviders.put(NightDisplayListener.class, mNightDisplayListener::get); mProviders.put(ReduceBrightColorsController.class, mReduceBrightColorsController::get); diff --git a/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java index fbfc94af683e..a99669970a34 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java @@ -35,6 +35,7 @@ import com.android.systemui.demomode.DemoModeController; import com.android.systemui.dock.DockManager; import com.android.systemui.dock.DockManagerImpl; import com.android.systemui.doze.DozeHost; +import com.android.systemui.dump.DumpManager; import com.android.systemui.media.dagger.MediaModule; import com.android.systemui.navigationbar.gestural.GestureModule; import com.android.systemui.plugins.qs.QSFactory; @@ -126,6 +127,7 @@ public abstract class ReferenceSystemUIModule { PowerManager powerManager, BroadcastDispatcher broadcastDispatcher, DemoModeController demoModeController, + DumpManager dumpManager, @Main Handler mainHandler, @Background Handler bgHandler) { BatteryController bC = new BatteryControllerImpl( @@ -134,6 +136,7 @@ public abstract class ReferenceSystemUIModule { powerManager, broadcastDispatcher, demoModeController, + dumpManager, mainHandler, bgHandler); bC.init(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java index 753e94015751..149ed0a71b91 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java @@ -19,14 +19,17 @@ package com.android.systemui.statusbar.policy; import android.annotation.Nullable; import android.view.View; -import com.android.systemui.Dumpable; import com.android.systemui.demomode.DemoMode; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; import java.io.PrintWriter; import java.lang.ref.WeakReference; -public interface BatteryController extends DemoMode, Dumpable, +/** + * Controller for battery related information, including the charge level, power save mode, + * and time remaining information + */ +public interface BatteryController extends DemoMode, CallbackController<BatteryStateChangeCallback> { /** * Prints the current state of the {@link BatteryController} to the given {@link PrintWriter}. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java index 33ddf7eed006..c7ad76722929 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java @@ -38,11 +38,13 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.fuelgauge.BatterySaverUtils; import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.utils.PowerUtil; +import com.android.systemui.Dumpable; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; +import com.android.systemui.dump.DumpManager; import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.util.Assert; @@ -56,7 +58,8 @@ import java.util.concurrent.atomic.AtomicReference; * Default implementation of a {@link BatteryController}. This controller monitors for battery * level change events that are broadcasted by the system. */ -public class BatteryControllerImpl extends BroadcastReceiver implements BatteryController { +public class BatteryControllerImpl extends BroadcastReceiver implements BatteryController, + Dumpable { private static final String TAG = "BatteryController"; private static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST"; @@ -70,6 +73,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC private final ArrayList<EstimateFetchCompletion> mFetchCallbacks = new ArrayList<>(); private final PowerManager mPowerManager; private final DemoModeController mDemoModeController; + private final DumpManager mDumpManager; private final Handler mMainHandler; private final Handler mBgHandler; protected final Context mContext; @@ -101,6 +105,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC PowerManager powerManager, BroadcastDispatcher broadcastDispatcher, DemoModeController demoModeController, + DumpManager dumpManager, @Main Handler mainHandler, @Background Handler bgHandler) { mContext = context; @@ -110,6 +115,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC mEstimates = enhancedEstimates; mBroadcastDispatcher = broadcastDispatcher; mDemoModeController = demoModeController; + mDumpManager = dumpManager; } private void registerReceiver() { @@ -134,6 +140,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC } } mDemoModeController.addCallback(this); + mDumpManager.registerDumpable(TAG, this); updatePowerSave(); updateEstimateInBackground(); } diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java index 27746c024dad..00ed3d635fa1 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java @@ -36,6 +36,7 @@ import com.android.systemui.demomode.DemoModeController; import com.android.systemui.dock.DockManager; import com.android.systemui.dock.DockManagerImpl; import com.android.systemui.doze.DozeHost; +import com.android.systemui.dump.DumpManager; import com.android.systemui.navigationbar.gestural.GestureModule; import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.statusbar.StatusBarStateController; @@ -116,9 +117,12 @@ public abstract class TvSystemUIModule { static BatteryController provideBatteryController(Context context, EnhancedEstimates enhancedEstimates, PowerManager powerManager, BroadcastDispatcher broadcastDispatcher, DemoModeController demoModeController, + DumpManager dumpManager, @Main Handler mainHandler, @Background Handler bgHandler) { BatteryController bC = new BatteryControllerImpl(context, enhancedEstimates, powerManager, - broadcastDispatcher, demoModeController, mainHandler, bgHandler); + broadcastDispatcher, demoModeController, + dumpManager, + mainHandler, bgHandler); bC.init(); return bC; } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java index fda80a2f9ed8..43d0fe9559b6 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java @@ -42,6 +42,7 @@ import com.android.settingslib.fuelgauge.BatterySaverUtils; import com.android.systemui.SysuiTestCase; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.demomode.DemoModeController; +import com.android.systemui.dump.DumpManager; import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; @@ -80,6 +81,7 @@ public class BatteryControllerTest extends SysuiTestCase { mPowerManager, mBroadcastDispatcher, mDemoModeController, + mock(DumpManager.class), new Handler(), new Handler()); // Can throw if updateEstimate is called on the main thread |