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

Commit 9094f6ac authored by Robert Horvath's avatar Robert Horvath
Browse files

Mock BatterySaverStateMachine in PowerManagerServiceTests

Mock out BatterySaverStateMachine, so that PowerManagerServiceTests
don't depend on implementation of the class.
BatterySaverStateMachine lead to a crash on a device with over 1 day uptime,
because it called a method that couldn't be mocked on a BatterySaverController mock.

Test: atest com.android.server.power.PowerManagerServiceTest
Bug: 151828714
Change-Id: I6bdf0ae98f58b99f617ea3ae6addcc484aeb30a6
parent 711ba268
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -780,6 +780,11 @@ public final class PowerManagerService extends SystemService
                    batterySaverPolicy, batterySavingStats);
        }

        BatterySaverStateMachine createBatterySaverStateMachine(Object lock, Context context,
                BatterySaverController batterySaverController) {
            return new BatterySaverStateMachine(lock, context, batterySaverController);
        }

        NativeWrapper createNativeWrapper() {
            return new NativeWrapper();
        }
@@ -864,8 +869,8 @@ public final class PowerManagerService extends SystemService
                mInjector.createBatterySaverPolicy(mLock, mContext, mBatterySavingStats);
        mBatterySaverController = mInjector.createBatterySaverController(mLock, mContext,
                mBatterySaverPolicy, mBatterySavingStats);
        mBatterySaverStateMachine = new BatterySaverStateMachine(
                mLock, mContext, mBatterySaverController);
        mBatterySaverStateMachine = mInjector.createBatterySaverStateMachine(mLock, mContext,
                mBatterySaverController);

        mInattentiveSleepWarningOverlayController =
                mInjector.createInattentiveSleepWarningController();
+8 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ import com.android.server.power.PowerManagerService.NativeWrapper;
import com.android.server.power.PowerManagerService.UserSwitchedReceiver;
import com.android.server.power.batterysaver.BatterySaverController;
import com.android.server.power.batterysaver.BatterySaverPolicy;
import com.android.server.power.batterysaver.BatterySaverStateMachine;
import com.android.server.power.batterysaver.BatterySavingStats;

import org.junit.After;
@@ -109,6 +110,7 @@ public class PowerManagerServiceTest {

    @Mock private BatterySaverController mBatterySaverControllerMock;
    @Mock private BatterySaverPolicy mBatterySaverPolicyMock;
    @Mock private BatterySaverStateMachine mBatterySaverStateMachineMock;
    @Mock private LightsManager mLightsManagerMock;
    @Mock private DisplayManagerInternal mDisplayManagerInternalMock;
    @Mock private BatteryManagerInternal mBatteryManagerInternalMock;
@@ -215,6 +217,12 @@ public class PowerManagerServiceTest {
                return mBatterySaverControllerMock;
            }

            @Override
            BatterySaverStateMachine createBatterySaverStateMachine(Object lock, Context context,
                    BatterySaverController batterySaverController) {
                return mBatterySaverStateMachineMock;
            }

            @Override
            NativeWrapper createNativeWrapper() {
                return mNativeWrapperMock;