Merge "Use onBootPhase for PowerManagerService bring-up"
This commit is contained in:
committed by
Android (Google) Code Review
commit
99b6c0fbd7
@@ -1177,7 +1177,10 @@ public final class PowerManagerService extends SystemService
|
||||
@Override
|
||||
public void onBootPhase(int phase) {
|
||||
synchronized (mLock) {
|
||||
if (phase == PHASE_THIRD_PARTY_APPS_CAN_START) {
|
||||
if (phase == PHASE_SYSTEM_SERVICES_READY) {
|
||||
systemReady();
|
||||
|
||||
} else if (phase == PHASE_THIRD_PARTY_APPS_CAN_START) {
|
||||
incrementBootCount();
|
||||
|
||||
} else if (phase == PHASE_BOOT_COMPLETED) {
|
||||
@@ -1203,7 +1206,7 @@ public final class PowerManagerService extends SystemService
|
||||
}
|
||||
}
|
||||
|
||||
public void systemReady() {
|
||||
private void systemReady() {
|
||||
synchronized (mLock) {
|
||||
mSystemReady = true;
|
||||
mDreamManager = getLocalService(DreamManagerInternal.class);
|
||||
|
||||
@@ -276,7 +276,7 @@ public class BatterySaverPolicy extends ContentObserver implements
|
||||
}
|
||||
|
||||
/**
|
||||
* Called by {@link PowerManagerService#systemReady}, *with no lock held.*
|
||||
* Called by {@link PowerManagerService#onBootPhase}, *with no lock held.*
|
||||
*/
|
||||
public void systemReady() {
|
||||
ConcurrentUtils.wtfIfLockHeld(TAG, mLock);
|
||||
|
||||
@@ -2707,15 +2707,6 @@ public final class SystemServer implements Dumpable {
|
||||
systemTheme.rebase();
|
||||
}
|
||||
|
||||
t.traceBegin("MakePowerManagerServiceReady");
|
||||
try {
|
||||
// TODO: use boot phase
|
||||
mPowerManagerService.systemReady();
|
||||
} catch (Throwable e) {
|
||||
reportWtf("making Power Manager Service ready", e);
|
||||
}
|
||||
t.traceEnd();
|
||||
|
||||
// Permission policy service
|
||||
t.traceBegin("StartPermissionPolicyService");
|
||||
mSystemServiceManager.startService(PermissionPolicyService.class);
|
||||
|
||||
@@ -263,7 +263,7 @@ public class PowerManagerServiceMockingTest {
|
||||
@Test
|
||||
public void testUserActivityOnDeviceStateChange() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY);
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
|
||||
final DisplayInfo info = new DisplayInfo();
|
||||
|
||||
@@ -321,7 +321,7 @@ public class PowerManagerServiceTest {
|
||||
}
|
||||
|
||||
private void startSystem() {
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY);
|
||||
|
||||
// Grab the BatteryReceiver
|
||||
ArgumentCaptor<BatteryReceiver> batCaptor = ArgumentCaptor.forClass(BatteryReceiver.class);
|
||||
@@ -439,7 +439,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testGetDesiredScreenPolicy_WithVR() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
// Brighten up the screen
|
||||
mService.setWakefulnessLocked(Display.DEFAULT_DISPLAY_GROUP, WAKEFULNESS_AWAKE, 0, 0, 0, 0,
|
||||
null, null);
|
||||
@@ -627,8 +627,7 @@ public class PowerManagerServiceTest {
|
||||
public void testWasDeviceIdleFor_true() {
|
||||
int interval = 1000;
|
||||
createService();
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
startSystem();
|
||||
mService.onUserActivity();
|
||||
advanceTime(interval + 1 /* just a little more */);
|
||||
assertThat(mService.wasDeviceIdleForInternal(interval)).isTrue();
|
||||
@@ -638,8 +637,7 @@ public class PowerManagerServiceTest {
|
||||
public void testWasDeviceIdleFor_false() {
|
||||
int interval = 1000;
|
||||
createService();
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
startSystem();
|
||||
mService.onUserActivity();
|
||||
assertThat(mService.wasDeviceIdleForInternal(interval)).isFalse();
|
||||
}
|
||||
@@ -647,8 +645,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testForceSuspend_putsDeviceToSleep() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
startSystem();
|
||||
|
||||
// Verify that we start awake
|
||||
assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
|
||||
@@ -693,8 +690,7 @@ public class PowerManagerServiceTest {
|
||||
//
|
||||
// TEST STARTS HERE
|
||||
//
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
startSystem();
|
||||
|
||||
// Verify that we start awake
|
||||
assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
|
||||
@@ -792,7 +788,7 @@ public class PowerManagerServiceTest {
|
||||
createService();
|
||||
assertTrue(isAcquired[0]);
|
||||
|
||||
mService.systemReady();
|
||||
mService.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY);
|
||||
assertTrue(isAcquired[0]);
|
||||
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
@@ -1231,7 +1227,7 @@ public class PowerManagerServiceTest {
|
||||
public void testQuiescentBoot_WakeKeyBeforeBootCompleted_AwakeAfterBootCompleted() {
|
||||
when(mSystemPropertiesMock.get(eq(SYSTEM_PROPERTY_QUIESCENT), any())).thenReturn("1");
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
|
||||
mService.getBinderServiceInstance().wakeUp(mClock.now(),
|
||||
PowerManager.WAKE_REASON_UNKNOWN, "testing IPowerManager.wakeUp()", "pkg.name");
|
||||
@@ -1444,7 +1440,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testSetPowerBoost_redirectsCallToNativeWrapper() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
|
||||
mService.getBinderServiceInstance().setPowerBoost(Boost.INTERACTION, 1234);
|
||||
|
||||
@@ -1454,7 +1450,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testSetPowerMode_redirectsCallToNativeWrapper() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
|
||||
// Enabled launch boost in BatterySaverController to allow setting launch mode.
|
||||
when(mBatterySaverControllerMock.isLaunchBoostDisabled()).thenReturn(false);
|
||||
@@ -1470,7 +1466,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testSetPowerMode_withLaunchBoostDisabledAndModeLaunch_ignoresCallToEnable() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
|
||||
// Disables launch boost in BatterySaverController.
|
||||
when(mBatterySaverControllerMock.isLaunchBoostDisabled()).thenReturn(true);
|
||||
@@ -1486,7 +1482,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testSetPowerModeChecked_returnsNativeCallResult() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
|
||||
// Disables launch boost in BatterySaverController.
|
||||
when(mBatterySaverControllerMock.isLaunchBoostDisabled()).thenReturn(true);
|
||||
@@ -1649,7 +1645,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testGetFullPowerSavePolicy_returnsStateMachineResult() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
BatterySaverPolicyConfig mockReturnConfig = new BatterySaverPolicyConfig.Builder().build();
|
||||
when(mBatterySaverStateMachineMock.getFullBatterySaverPolicy())
|
||||
.thenReturn(mockReturnConfig);
|
||||
@@ -1664,7 +1660,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testSetFullPowerSavePolicy_callsStateMachine() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
BatterySaverPolicyConfig mockSetPolicyConfig =
|
||||
new BatterySaverPolicyConfig.Builder().build();
|
||||
when(mBatterySaverStateMachineMock.setFullBatterySaverPolicy(any())).thenReturn(true);
|
||||
@@ -1678,7 +1674,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testLowPowerStandby_whenInactive_FgsWakeLockEnabled() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
WakeLock wakeLock = acquireWakeLock("fgsWakeLock", PowerManager.PARTIAL_WAKE_LOCK);
|
||||
mService.updateUidProcStateInternal(wakeLock.mOwnerUid, PROCESS_STATE_FOREGROUND_SERVICE);
|
||||
mService.setDeviceIdleModeInternal(true);
|
||||
@@ -1689,7 +1685,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testLowPowerStandby_whenActive_FgsWakeLockDisabled() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
WakeLock wakeLock = acquireWakeLock("fgsWakeLock", PowerManager.PARTIAL_WAKE_LOCK);
|
||||
mService.updateUidProcStateInternal(wakeLock.mOwnerUid, PROCESS_STATE_FOREGROUND_SERVICE);
|
||||
mService.setDeviceIdleModeInternal(true);
|
||||
@@ -1701,7 +1697,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testLowPowerStandby_whenActive_FgsWakeLockEnabledIfAllowlisted() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
WakeLock wakeLock = acquireWakeLock("fgsWakeLock", PowerManager.PARTIAL_WAKE_LOCK);
|
||||
mService.updateUidProcStateInternal(wakeLock.mOwnerUid, PROCESS_STATE_FOREGROUND_SERVICE);
|
||||
mService.setDeviceIdleModeInternal(true);
|
||||
@@ -1714,7 +1710,7 @@ public class PowerManagerServiceTest {
|
||||
@Test
|
||||
public void testLowPowerStandby_whenActive_BoundTopWakeLockDisabled() {
|
||||
createService();
|
||||
mService.systemReady();
|
||||
startSystem();
|
||||
WakeLock wakeLock = acquireWakeLock("BoundTopWakeLock", PowerManager.PARTIAL_WAKE_LOCK);
|
||||
mService.updateUidProcStateInternal(wakeLock.mOwnerUid, PROCESS_STATE_BOUND_TOP);
|
||||
mService.setDeviceIdleModeInternal(true);
|
||||
|
||||
Reference in New Issue
Block a user