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 static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.os.PowerManager;
import com.android.keyguard.KeyguardViewController; import com.android.keyguard.KeyguardViewController;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.car.CarDeviceProvisionedController; import com.android.systemui.car.CarDeviceProvisionedController;
import com.android.systemui.car.CarDeviceProvisionedControllerImpl; import com.android.systemui.car.CarDeviceProvisionedControllerImpl;
import com.android.systemui.car.keyguard.CarKeyguardViewController; 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.statusbar.DummyNotificationShadeWindowController;
import com.android.systemui.car.volume.CarVolumeDialogComponent; import com.android.systemui.car.volume.CarVolumeDialogComponent;
import com.android.systemui.dagger.SystemUIRootComponent; 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.DockManager;
import com.android.systemui.dock.DockManagerImpl; import com.android.systemui.dock.DockManagerImpl;
import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.qs.QSFactory;
@@ -113,10 +118,17 @@ public abstract class CarSystemUIModule {
abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager( abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
NotificationLockscreenUserManagerImpl notificationLockscreenUserManager); NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);
@Binds @Provides
@Singleton @Singleton
public abstract BatteryController provideBatteryController( static BatteryController provideBatteryController(Context context,
BatteryControllerImpl controllerImpl); 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 @Binds
@Singleton @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 static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.os.PowerManager;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.android.keyguard.KeyguardViewController; 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.DockManager;
import com.android.systemui.dock.DockManagerImpl; import com.android.systemui.dock.DockManagerImpl;
import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.qs.QSFactory;
@@ -81,10 +86,17 @@ public abstract class SystemUIDefaultModule {
abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager( abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
NotificationLockscreenUserManagerImpl notificationLockscreenUserManager); NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);
@Binds @Provides
@Singleton @Singleton
public abstract BatteryController provideBatteryController( static BatteryController provideBatteryController(Context context,
BatteryControllerImpl controllerImpl); 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 @Binds
@Singleton @Singleton

View File

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

View File

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

View File

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