diff options
author | Michael Chan <chanm@google.com> | 2012-04-29 13:31:22 -0700 |
---|---|---|
committer | Michael Chan <chanm@google.com> | 2012-05-01 18:03:52 -0700 |
commit | c3f54281b3b4a1646923a726c9a1731bd39324a0 (patch) | |
tree | 1b9133f3bded7358bf5de6cea87c0a2f669d928d | |
parent | 0332925aa9db8c4826327edd85030a4791b7a8e6 (diff) | |
download | android_packages_providers_CalendarProvider-c3f54281b3b4a1646923a726c9a1731bd39324a0.tar.gz android_packages_providers_CalendarProvider-c3f54281b3b4a1646923a726c9a1731bd39324a0.tar.bz2 android_packages_providers_CalendarProvider-c3f54281b3b4a1646923a726c9a1731bd39324a0.zip |
Keep the device awake while we schedule the next alarm
Bug: 5777855
Change-Id: I59e97ce69e0dcbaf1b8eaa25407f2d3234140b98
-rw-r--r-- | src/com/android/providers/calendar/CalendarProvider2.java | 1 | ||||
-rw-r--r-- | src/com/android/providers/calendar/CalendarReceiver.java | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/providers/calendar/CalendarProvider2.java b/src/com/android/providers/calendar/CalendarProvider2.java index 7174d10..4b0d547 100644 --- a/src/com/android/providers/calendar/CalendarProvider2.java +++ b/src/com/android/providers/calendar/CalendarProvider2.java @@ -4798,6 +4798,7 @@ public class CalendarProvider2 extends SQLiteContentProvider implements OnAccoun sCalendarAlertsProjectionMap.put(CalendarAlerts.BEGIN, "begin"); sCalendarAlertsProjectionMap.put(CalendarAlerts.END, "end"); sCalendarAlertsProjectionMap.put(CalendarAlerts.ALARM_TIME, "alarmTime"); + sCalendarAlertsProjectionMap.put(CalendarAlerts.NOTIFY_TIME, "notifyTime"); sCalendarAlertsProjectionMap.put(CalendarAlerts.STATE, "state"); sCalendarAlertsProjectionMap.put(CalendarAlerts.MINUTES, "minutes"); diff --git a/src/com/android/providers/calendar/CalendarReceiver.java b/src/com/android/providers/calendar/CalendarReceiver.java index 6fccbb9..5f1acd3 100644 --- a/src/com/android/providers/calendar/CalendarReceiver.java +++ b/src/com/android/providers/calendar/CalendarReceiver.java @@ -20,6 +20,7 @@ import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; +import android.os.PowerManager; import android.util.Log; import java.util.concurrent.ExecutorService; @@ -37,9 +38,17 @@ public class CalendarReceiver extends BroadcastReceiver { static final String SCHEDULE = "com.android.providers.calendar.SCHEDULE_ALARM"; private final ExecutorService executor = Executors.newCachedThreadPool(); + private PowerManager.WakeLock mWakeLock; @Override public void onReceive(Context context, Intent intent) { + if (mWakeLock == null) { + PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); + mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "CalendarReceiver_Provider"); + mWakeLock.setReferenceCounted(true); + } + mWakeLock.acquire(); + final String action = intent.getAction(); final ContentResolver cr = context.getContentResolver(); final PendingResult result = goAsync(); @@ -53,6 +62,7 @@ public class CalendarReceiver extends BroadcastReceiver { removeScheduledAlarms(cr); } result.finish(); + mWakeLock.release(); } }); } |