From 39a9ec20d4cb149f1a8f8e4806aded3d67d6bd66 Mon Sep 17 00:00:00 2001 From: Aaron Whyte Date: Thu, 10 Jul 2014 14:05:35 -0700 Subject: [PATCH] Allow overlays to configure ConnectivityService's network sampling to not wake the device. This can increase clockwork device battery life. Bug:15455204 Change-Id: Ifc551e6a522627dc8e5cfdfb8f56d4e3cbeea936 --- .../java/com/android/server/ConnectivityService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 8e08583979..aa14da136b 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -5038,8 +5038,18 @@ 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); } }