diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 9d5aafba3d..b52aecf397 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -5320,9 +5320,19 @@ public class ConnectivityService extends IConnectivityManager.Stub { setAlarm(samplingIntervalInSeconds * 1000, mSampleIntervalElapsedIntent); } + /** + * Sets a network sampling alarm. + */ void setAlarm(int timeoutInMilliseconds, PendingIntent intent) { long wakeupTime = SystemClock.elapsedRealtime() + timeoutInMilliseconds; - mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, wakeupTime, intent); + int alarmType; + if (Resources.getSystem().getBoolean( + R.bool.config_networkSamplingWakesDevice)) { + alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP; + } else { + alarmType = AlarmManager.ELAPSED_REALTIME; + } + mAlarmManager.set(alarmType, wakeupTime, intent); } private final HashMap mNetworkFactoryInfos =