Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e30a90c9 authored by John Li's avatar John Li Committed by Automerger Merge Worker
Browse files

Merge "Provide BatteryControllerImpl" into rvc-d1-dev am: 7779b39c

Change-Id: I2a22edc2c0907eea5f0c87ad8c0cd0c5b6e0cb7b
parents 947ae339 7779b39c
Loading
Loading
Loading
Loading
+15 −2
Original line number Original line Diff line number Diff line
@@ -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,9 +118,17 @@ public abstract class CarSystemUIModule {
    abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
    abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
            NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);
            NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);


    @Binds
    @Provides
    @Singleton
    @Singleton
    public abstract BatteryController bindBatteryController(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
    @Binds
    @Singleton
    @Singleton
+15 −2
Original line number Original line Diff line number Diff line
@@ -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,9 +86,17 @@ public abstract class SystemUIDefaultModule {
    abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
    abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager(
            NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);
            NotificationLockscreenUserManagerImpl notificationLockscreenUserManager);


    @Binds
    @Provides
    @Singleton
    @Singleton
    public abstract BatteryController bindBatteryController(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
    @Binds
    @Singleton
    @Singleton
+5 −0
Original line number Original line Diff line number Diff line
@@ -52,6 +52,11 @@ public interface BatteryController extends DemoMode, Dumpable,
     */
     */
    boolean isAodPowerSave();
    boolean isAodPowerSave();


    /**
     * Initializes the class.
     */
    default void init() { }

    /**
    /**
     * Returns {@code true} if the device is currently in wireless charging mode.
     * Returns {@code true} if the device is currently in wireless charging mode.
     */
     */
+8 −5
Original line number Original line Diff line number Diff line
@@ -81,7 +81,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;
@@ -90,10 +90,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() {
@@ -104,6 +100,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:");
+1 −0
Original line number Original line Diff line number Diff line
@@ -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