From 8360e4e3802685e48f282b7f4192078b407dde33 Mon Sep 17 00:00:00 2001 From: John Li Date: Thu, 20 Feb 2020 19:21:47 +0800 Subject: [PATCH] Add interfaces for reverse to BatteryController Bug: 146984142 Test: manual Change-Id: Ie8f6c0aedb89069a9b33719834e767df179acdef Merged-In: Ie8f6c0aedb89069a9b33719834e767df179acdef (cherry picked from commit 733162cc1607f0f6c346dc98879bd1cae6567f76) --- .../src/com/android/systemui/CarSystemUIModule.java | 7 +++++++ .../com/android/systemui/dagger/DependencyBinder.java | 8 -------- .../android/systemui/dagger/SystemUIDefaultModule.java | 7 +++++++ .../systemui/statusbar/policy/BatteryController.java | 9 +++++++++ .../systemui/statusbar/policy/BatteryControllerImpl.java | 6 +++--- 5 files changed, 26 insertions(+), 11 deletions(-) diff --git a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java index 22c3acf6f1eb9..8292d304af2d1 100644 --- a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java +++ b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java @@ -47,6 +47,8 @@ import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; +import com.android.systemui.statusbar.policy.BatteryController; +import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.HeadsUpManager; @@ -99,6 +101,11 @@ abstract class CarSystemUIModule { abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager( NotificationLockscreenUserManagerImpl notificationLockscreenUserManager); + @Binds + @Singleton + public abstract BatteryController provideBatteryController( + BatteryControllerImpl controllerImpl); + @Binds abstract DockManager bindDockManager(DockManagerImpl dockManager); diff --git a/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java b/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java index 2877ed0454797..5b3d5c565472a 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java @@ -44,8 +44,6 @@ import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; -import com.android.systemui.statusbar.policy.BatteryController; -import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.BluetoothControllerImpl; import com.android.systemui.statusbar.policy.CastController; @@ -176,12 +174,6 @@ public abstract class DependencyBinder { public abstract UserInfoController provideUserInfoContrller( UserInfoControllerImpl controllerImpl); - /** - */ - @Binds - public abstract BatteryController provideBatteryController( - BatteryControllerImpl controllerImpl); - /** */ @Binds diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java index b4e51258763c4..956b4aa177eab 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java @@ -43,6 +43,8 @@ import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.ShadeControllerImpl; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; +import com.android.systemui.statusbar.policy.BatteryController; +import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl; @@ -77,6 +79,11 @@ public abstract class SystemUIDefaultModule { abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager( NotificationLockscreenUserManagerImpl notificationLockscreenUserManager); + @Binds + @Singleton + public abstract BatteryController provideBatteryController( + BatteryControllerImpl controllerImpl); + @Binds abstract DockManager bindDockManager(DockManagerImpl dockManager); 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 cf9d8e1d85ecd..24b96855377fb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java @@ -52,6 +52,12 @@ public interface BatteryController extends DemoMode, Dumpable, */ boolean isAodPowerSave(); + /** + * Set reverse state. + * @param isReverse true if turn on reverse, false otherwise + */ + default void setReverseState(boolean isReverse) {} + /** * A listener that will be notified whenever a change in battery level or power save mode has * occurred. @@ -63,6 +69,9 @@ public interface BatteryController extends DemoMode, Dumpable, default void onPowerSaveChanged(boolean isPowerSave) { } + + default void onReverseChanged(boolean isReverse, int level, String name) { + } } /** 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 d3e6f53098754..35954d88391a3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java @@ -59,13 +59,13 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC private final EnhancedEstimates mEstimates; private final BroadcastDispatcher mBroadcastDispatcher; - private final ArrayList + protected final ArrayList mChangeCallbacks = new ArrayList<>(); private final ArrayList mFetchCallbacks = new ArrayList<>(); private final PowerManager mPowerManager; private final Handler mMainHandler; private final Handler mBgHandler; - private final Context mContext; + protected final Context mContext; private int mLevel; private boolean mPluggedIn; @@ -80,7 +80,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC @VisibleForTesting @Inject - BatteryControllerImpl(Context context, EnhancedEstimates enhancedEstimates, + protected BatteryControllerImpl(Context context, EnhancedEstimates enhancedEstimates, PowerManager powerManager, BroadcastDispatcher broadcastDispatcher, @Main Handler mainHandler, @Background Handler bgHandler) { mContext = context;