History log of /frameworks/base/core/java/android/app/IAlarmManager.aidl
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f70faed503c8482266e6acb94dd5281488a9117e 21-Apr-2015 Dianne Hackborn <hackbod@google.com> Work on issue #20401752: device idle and alarms.

Main change is to fix problems in the alarm manager where it
was not doing a good job at scheduling the device idle wakeup
before an alarm. To fix this, we now keep explicit track of
the next "wake from idle" alarm so we can consistently use that
to adjust the time of the device idle alarm if needed.

Also a bunch of debugging stuff to help further diagnose this
problem:

- Alarm summary now includes the last time the alarm went off.
- Improved dumpsys output of alarms.
- New event log tags for changes related to idle state.

Change-Id: Idd2c8d24ae23379f7c75815ddbc6835c2a04656c
/frameworks/base/core/java/android/app/IAlarmManager.aidl
4870e9d5eba59fb257a87f97f1adf0b734cf48d3 09-Apr-2015 Dianne Hackborn <hackbod@google.com> More work on device idle mode and other power stuff.

Add idle mode support to the alarm manager. Introduce
a new concept of flags associated with alarms to tell
the alarm manager how to treat the alarm -- they allow
everything from the alarm that will bring us out of idle
mode, to alarms that are allowed when idle or should
also bring us out of idle. The standalone boolean is
now also a flag.

(Note there is currently no protection from user space
setting the flags however it wants; I will be working
on that in a follow-up change.)

When in idle mode, the alarm manager pushes all alarms
that shouldn't execute during that time over to a
separate list that is not executed until out of idle.
To help with this, I reworked a bit how Alarm objects
are managed, so that when rebatching or moving between
lists we don't have to allocated new objects but can
just use the same existing instance.

Also tweaked the sync manager to deal with idle mode,
which currently just means doing the same thing as when
low on storage -- turning off sync.

Add new ACTION_CHARGING and ACTION_DISCHARGING broadcasts
that apps can listen for to know when the device is actively
charging and discharging. These are better than the old
POWER_CONNECTED and POWER_DISCONNECTED ones because we only
report charging when we actually see that there is enough
power being provided to charge the battery (and will report
discharging if there is not enough power).

The job controller uses these new actions for scheduling
jobs that want to run while plugged in. Removed the
"stable charging" stuff while doing so, since the new
charging state serves as an even better signal for that.

Introduced two new process states: FOREGROUND_SERVICE and
TOP_SLEEPING. This will allow us to treat foreground services
specially (such as still allowing network access to them for
background music playback) while not mixing them together with
whatever happens to be the top activity while the device is
asleep.

Also some other small cleanup here and there.

Change-Id: I7a9808b578bad6f50deb8e1baf919298512a0d3a
/frameworks/base/core/java/android/app/IAlarmManager.aidl
235510e67210f90de30c2d5582a2077ccc589619 13-Aug-2014 Jose Lima <joselima@google.com> Made AlarmClockInfo a nested class in AlarmManager

Bug: 16959028
Change-Id: I150eaaff765d1e214c3621c1bf50162ec0dac8ec
/frameworks/base/core/java/android/app/IAlarmManager.aidl
c42a1e1071937ae48b7aa5d6291a32c29078b74b 07-Jul-2014 Adrian Roos <roosa@google.com> Add AlarmClock API to AlarmManager

Adds a new kind of alarm that represents an alarm clock and
a way to query the next scheduled alarm clock.

Deprecates Settings.System.NEXT_ALARM_FORMATTED.

Bug: 14589952
Change-Id: I297eeeff36d07adcda010afac183d0f5ee37dc99
/frameworks/base/core/java/android/app/IAlarmManager.aidl
38bf51466881b726f42832743d8cca6ee67bb148 20-Feb-2014 Greg Hackmann <ghackmann@google.com> Move time setting code from SystemClock to AlarmManagerService

On devices using /dev/rtc instead of /dev/alarm, updating the
time-of-day clock and RTC are separate syscalls. Hence the clock and
RTC could be left in inconsistent states if two threads called
SystemClock.setCurrentTimeMillis() simultaneously.

By moving this code into AlarmManagerService, we can put a global lock
around AlarmManagerService.setTime() and prevent the race condition.

Note that access to SystemClock.setCurrentTimeMillis() is now gated by
android.permission.SET_TIME, where before it was gated by filesystem
permissions (i.e., could the process write to /dev/alarm or /dev/rtc).

Change-Id: Ia34899a4cde983656305fd2ef466dfe908ed23c8
Signed-off-by: Greg Hackmann <ghackmann@google.com>
/frameworks/base/core/java/android/app/IAlarmManager.aidl
ebe51fc0d860077245c44bfb00130be62da001e1 26-Jul-2013 David Christie <dnchrist@google.com> Add WorkSource capability to AlarmManager.

Change-Id: I663ea3078d405f0fa667a04bdaa376ae6652e994
/frameworks/base/core/java/android/app/IAlarmManager.aidl
f10f9ea06c9de12db18896643d30bef7d8a89cb5 26-Jul-2013 David Christie <dnchrist@google.com> Revert "Add WorkSource capability to AlarmManager"

This reverts commit 02600fb66b805c161e35f6c787372e4074f2213f.

Broke some tests.

Change-Id: Ic47b23a935bf90aba817073c27cd247306db7d5f
/frameworks/base/core/java/android/app/IAlarmManager.aidl
02600fb66b805c161e35f6c787372e4074f2213f 25-Jul-2013 David Christie <dnchrist@google.com> Add WorkSource capability to AlarmManager

Change-Id: Ibcff01a9f54a89fde6e7e5b7658e9a90b9a2445b
/frameworks/base/core/java/android/app/IAlarmManager.aidl
57ceaaa0aa1fece02ff82cd903a26bdf65131c56 20-Jul-2013 Christopher Tate <ctate@google.com> Add AlarmManager.setWindow(...) for supplying an explicit delivery window

Bug 9532215

Change-Id: I0efe32cbaaae8ce6ab223041eed116c3470a7326
/frameworks/base/core/java/android/app/IAlarmManager.aidl
e0a22b324d0e3157e570ea5f71cc682fa9696e01 11-Jul-2013 Christopher Tate <ctate@google.com> Batch alarms to reduce device wakeups

The default Alarm Manager behavior for KLP+ apps will be to aggressively
coalesce alarms, trading exact timeliness of delivery for minimizing the
number of alarm-delivery points, especially wakeup points.

There is new API in AlarmManager, setExact() and setExactRepeating(),
for use by apps that absolutely *must* get their alarms at a specific
point in time.

Bug 9532215

Change-Id: I40b4eea90220211cc958172d2629664b921ff051
/frameworks/base/core/java/android/app/IAlarmManager.aidl
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
/frameworks/base/core/java/android/app/IAlarmManager.aidl
97e44947282b3918ee0bed2d16b33b983f882580 05-Feb-2010 Dan Egnor <egnor@google.com> Add an AlarmManager API to set the system time (with the proper permissions).
/frameworks/base/core/java/android/app/IAlarmManager.aidl
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/IAlarmManager.aidl
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/IAlarmManager.aidl
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/app/IAlarmManager.aidl
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/app/IAlarmManager.aidl