Merge "Initializing charging state in AlarmManager" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1853eddeab
@@ -348,7 +348,8 @@ public class AlarmManagerService extends SystemService {
|
|||||||
new SparseArray<>();
|
new SparseArray<>();
|
||||||
|
|
||||||
private AppStateTrackerImpl mAppStateTracker;
|
private AppStateTrackerImpl mAppStateTracker;
|
||||||
private boolean mAppStandbyParole;
|
@VisibleForTesting
|
||||||
|
boolean mAppStandbyParole;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A container to keep rolling window history of previous times when an alarm was sent to
|
* A container to keep rolling window history of previous times when an alarm was sent to
|
||||||
@@ -1891,6 +1892,9 @@ public class AlarmManagerService extends SystemService {
|
|||||||
(AppStateTrackerImpl) LocalServices.getService(AppStateTracker.class);
|
(AppStateTrackerImpl) LocalServices.getService(AppStateTracker.class);
|
||||||
mAppStateTracker.addListener(mForceAppStandbyListener);
|
mAppStateTracker.addListener(mForceAppStandbyListener);
|
||||||
|
|
||||||
|
final BatteryManager bm = getContext().getSystemService(BatteryManager.class);
|
||||||
|
mAppStandbyParole = bm.isCharging();
|
||||||
|
|
||||||
mClockReceiver.scheduleTimeTickEvent();
|
mClockReceiver.scheduleTimeTickEvent();
|
||||||
mClockReceiver.scheduleDateChangedEvent();
|
mClockReceiver.scheduleDateChangedEvent();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,6 +217,8 @@ public class AlarmManagerServiceTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private AppOpsManager mAppOpsManager;
|
private AppOpsManager mAppOpsManager;
|
||||||
@Mock
|
@Mock
|
||||||
|
private BatteryManager mBatteryManager;
|
||||||
|
@Mock
|
||||||
private DeviceIdleInternal mDeviceIdleInternal;
|
private DeviceIdleInternal mDeviceIdleInternal;
|
||||||
@Mock
|
@Mock
|
||||||
private PermissionManagerServiceInternal mPermissionManagerInternal;
|
private PermissionManagerServiceInternal mPermissionManagerInternal;
|
||||||
@@ -453,6 +455,7 @@ public class AlarmManagerServiceTest {
|
|||||||
eq(Manifest.permission.USE_EXACT_ALARM), anyInt(), anyInt(), anyString()));
|
eq(Manifest.permission.USE_EXACT_ALARM), anyInt(), anyInt(), anyString()));
|
||||||
|
|
||||||
when(mMockContext.getSystemService(Context.APP_OPS_SERVICE)).thenReturn(mAppOpsManager);
|
when(mMockContext.getSystemService(Context.APP_OPS_SERVICE)).thenReturn(mAppOpsManager);
|
||||||
|
when(mMockContext.getSystemService(BatteryManager.class)).thenReturn(mBatteryManager);
|
||||||
|
|
||||||
registerAppIds(new String[]{TEST_CALLING_PACKAGE},
|
registerAppIds(new String[]{TEST_CALLING_PACKAGE},
|
||||||
new Integer[]{UserHandle.getAppId(TEST_CALLING_UID)});
|
new Integer[]{UserHandle.getAppId(TEST_CALLING_UID)});
|
||||||
@@ -477,6 +480,8 @@ public class AlarmManagerServiceTest {
|
|||||||
|
|
||||||
// Other boot phases don't matter
|
// Other boot phases don't matter
|
||||||
mService.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY);
|
mService.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY);
|
||||||
|
|
||||||
|
verify(mBatteryManager).isCharging();
|
||||||
setTareEnabled(false);
|
setTareEnabled(false);
|
||||||
mAppStandbyWindow = mService.mConstants.APP_STANDBY_WINDOW;
|
mAppStandbyWindow = mService.mConstants.APP_STANDBY_WINDOW;
|
||||||
mAllowWhileIdleWindow = mService.mConstants.ALLOW_WHILE_IDLE_WINDOW;
|
mAllowWhileIdleWindow = mService.mConstants.ALLOW_WHILE_IDLE_WINDOW;
|
||||||
@@ -1101,6 +1106,7 @@ public class AlarmManagerServiceTest {
|
|||||||
new Intent(parole ? BatteryManager.ACTION_CHARGING
|
new Intent(parole ? BatteryManager.ACTION_CHARGING
|
||||||
: BatteryManager.ACTION_DISCHARGING));
|
: BatteryManager.ACTION_DISCHARGING));
|
||||||
assertAndHandleMessageSync(CHARGING_STATUS_CHANGED);
|
assertAndHandleMessageSync(CHARGING_STATUS_CHANGED);
|
||||||
|
assertEquals(parole, mService.mAppStandbyParole);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user