Merge "Use an exact alarm for location timeout." into sc-dev
This commit is contained in:
@@ -3941,6 +3941,10 @@ public class DeviceIdleController extends SystemService
|
|||||||
if (idleUntil) {
|
if (idleUntil) {
|
||||||
mAlarmManager.setIdleUntil(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
mAlarmManager.setIdleUntil(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||||
mNextAlarmTime, "DeviceIdleController.deep", mDeepAlarmListener, mHandler);
|
mNextAlarmTime, "DeviceIdleController.deep", mDeepAlarmListener, mHandler);
|
||||||
|
} else if (mState == STATE_LOCATING) {
|
||||||
|
// Use setExact so we don't keep the GPS active for too long.
|
||||||
|
mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||||
|
mNextAlarmTime, "DeviceIdleController.deep", mDeepAlarmListener, mHandler);
|
||||||
} else {
|
} else {
|
||||||
if (mConstants.USE_WINDOW_ALARMS) {
|
if (mConstants.USE_WINDOW_ALARMS) {
|
||||||
mAlarmManager.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
mAlarmManager.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||||
|
|||||||
@@ -323,6 +323,7 @@ public class DeviceIdleControllerTest {
|
|||||||
when(mPowerManager.newWakeLock(anyInt(), anyString())).thenReturn(mWakeLock);
|
when(mPowerManager.newWakeLock(anyInt(), anyString())).thenReturn(mWakeLock);
|
||||||
doNothing().when(mWakeLock).acquire();
|
doNothing().when(mWakeLock).acquire();
|
||||||
doNothing().when(mAlarmManager).set(anyInt(), anyLong(), anyString(), any(), any());
|
doNothing().when(mAlarmManager).set(anyInt(), anyLong(), anyString(), any(), any());
|
||||||
|
doNothing().when(mAlarmManager).setExact(anyInt(), anyLong(), anyString(), any(), any());
|
||||||
doNothing().when(mAlarmManager)
|
doNothing().when(mAlarmManager)
|
||||||
.setWindow(anyInt(), anyLong(), anyLong(), anyString(), any(), any());
|
.setWindow(anyInt(), anyLong(), anyLong(), anyString(), any(), any());
|
||||||
doReturn(mock(Sensor.class)).when(mSensorManager)
|
doReturn(mock(Sensor.class)).when(mSensorManager)
|
||||||
|
|||||||
Reference in New Issue
Block a user