Merge "Provide BatteryControllerImpl" into rvc-dev

This commit is contained in:
John Li
2020-05-08 17:24:12 +00:00
committed by Android (Google) Code Review
5 changed files with 44 additions and 11 deletions

View File

@@ -20,8 +20,11 @@ import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME
import static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME;
import android.content.Context;
import android.os.Handler;
import android.os.PowerManager;
import com.android.keyguard.KeyguardViewController;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.car.CarDeviceProvisionedController;
import com.android.systemui.car.CarDeviceProvisionedControllerImpl;
import com.android.systemui.car.keyguard.CarKeyguardViewController;
@@ -30,6 +33,8 @@ import com.android.systemui.car.statusbar.CarStatusBarKeyguardViewManager;
import com.android.systemui.car.statusbar.DummyNotificationShadeWindowController;
import com.android.systemui.car.volume.CarVolumeDialogComponent;
import com.android.systemui.dagger.SystemUIRootComponent;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManagerImpl;
import com.android.systemui.plugins.qs.QSFactory;
@@ -113,10 +118,17 @@ public abstract class CarSystemUIModule {
abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);
@Binds
@Provides
@Singleton
public abstract BatteryController provideBatteryController(
BatteryControllerImpl controllerImpl);
static BatteryController provideBatteryController(Context context,
EnhancedEstimates enhancedEstimates, PowerManager powerManager,
BroadcastDispatcher broadcastDispatcher, @Main Handler mainHandler,
@Background Handler bgHandler) {
BatteryController bC = new BatteryControllerImpl(context, enhancedEstimates, powerManager,
broadcastDispatcher, mainHandler, bgHandler);
bC.init();
return bC;
}
@Binds
@Singleton

View File

@@ -20,10 +20,15 @@ import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME
import static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME;
import android.content.Context;
import android.os.Handler;
import android.os.PowerManager;
import androidx.annotation.Nullable;
import com.android.keyguard.KeyguardViewController;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManagerImpl;
import com.android.systemui.plugins.qs.QSFactory;
@@ -81,10 +86,17 @@ public abstract class SystemUIDefaultModule {
abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);
@Binds
@Provides
@Singleton
public abstract BatteryController provideBatteryController(
BatteryControllerImpl controllerImpl);
static BatteryController provideBatteryController(Context context,
EnhancedEstimates enhancedEstimates, PowerManager powerManager,
BroadcastDispatcher broadcastDispatcher, @Main Handler mainHandler,
@Background Handler bgHandler) {
BatteryController bC = new BatteryControllerImpl(context, enhancedEstimates, powerManager,
broadcastDispatcher, mainHandler, bgHandler);
bC.init();
return bC;
}
@Binds
@Singleton

View File

@@ -52,6 +52,11 @@ public interface BatteryController extends DemoMode, Dumpable,
*/
boolean isAodPowerSave();
/**
* Initializes the class.
*/
default void init() { }
/**
* Returns {@code true} if reverse is supported.
*/

View File

@@ -80,7 +80,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
@VisibleForTesting
@Inject
protected BatteryControllerImpl(Context context, EnhancedEstimates enhancedEstimates,
public BatteryControllerImpl(Context context, EnhancedEstimates enhancedEstimates,
PowerManager powerManager, BroadcastDispatcher broadcastDispatcher,
@Main Handler mainHandler, @Background Handler bgHandler) {
mContext = context;
@@ -89,10 +89,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
mPowerManager = powerManager;
mEstimates = enhancedEstimates;
mBroadcastDispatcher = broadcastDispatcher;
registerReceiver();
updatePowerSave();
updateEstimate();
}
private void registerReceiver() {
@@ -103,6 +99,13 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
mBroadcastDispatcher.registerReceiver(this, filter);
}
@Override
public void init() {
registerReceiver();
updatePowerSave();
updateEstimate();
}
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("BatteryController state:");

View File

@@ -55,6 +55,7 @@ public class BatteryControllerTest extends SysuiTestCase {
MockitoAnnotations.initMocks(this);
mBatteryController = new BatteryControllerImpl(getContext(), mock(EnhancedEstimates.class),
mPowerManager, mBroadcastDispatcher, new Handler(), new Handler());
mBatteryController.init();
}
@Test