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

Commit 7da465dc authored by John Li's avatar John Li Committed by Android (Google) Code Review
Browse files

Merge "Provide BatteryControllerImpl" into rvc-dev

parents a23a9dc8 67fde31e
Loading
Loading
Loading
Loading
+15 −3
Original line number 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 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
+15 −3
Original line number 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 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
+5 −0
Original line number Diff line number Diff line
@@ -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.
     */
+8 −5
Original line number Diff line number Diff line
@@ -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:");
+1 −0
Original line number Diff line number Diff line
@@ -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