History log of /frameworks/base/core/java/android/app/AlarmManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e3de6cacaffcfeda4d6353be61e2f1f9ed80705 30-Jul-2015 Dianne Hackborn <hackbod@google.com> Change MNC codename to just M.

Change-Id: I4281d200ff6560791c47cf9073ceea1cb509361e
/frameworks/base/core/java/android/app/AlarmManager.java
14c5ab4cb90c9b10e34fabf0a6b60a68b74fd5fe 10-Jul-2015 Dianne Hackborn <hackbod@google.com> Improve alarm manager docs.

Change-Id: I7547b48327a709783d908509efc7afd1a3f1a06a
/frameworks/base/core/java/android/app/AlarmManager.java
3d1933c45fe9ba2389ebd166d96abeceab1971d1 11-Jun-2015 Dianne Hackborn <hackbod@google.com> Implement some control over ALLOW_WHILE_IDLE alarms.

Since these alarms allow you to bypass the idle restrictions,
we don't want them to be so open-ended like other alarms. This
implements a policy where the alarm manager will only deliver these
types of alarms every X minutes to each application. For this
initial implementation, X is 1 minute under normal operation and
15 minutes when in idle mode.

To do this, I needed to introduce a new internal allow-while-idle
flag for system alarms, which applications can't get, and doesn't
have these new restrictions.

Also tweaked how the alarm manager handles the alarm window, so it
doesn't change if the alarm gets rescheduld; the window is now always
what as computed based on the time when the alarm was first
given to it.

Finally, fix TimeUtils to be able to correctly print times that
are > 999 days.

Change-Id: Ibad8c6a7c14b0624b54e82267be23224b4c31e84
/frameworks/base/core/java/android/app/AlarmManager.java
8d66b3fbf5d8036e25d64a8472bcd2b6b7892a1a 09-May-2015 Dianne Hackborn <hackbod@google.com> Implement device idle in power manager.

When in device idle mode, we now prevent most apps
from being able to hold partial wake locks. The
device idle controller now pushes its white list of
app uids into the power manager, so it can apply this
policy correctly to only apps that are not whitelisted.

The implementation adds a new "disabled" flag to a wake
lock which is set when we want to apply this policy. When
set, we ensure that we tell battery stats that the wake lock
is not being held and ignore that wake lock when computing
the power state summary.

Also add new SDK APIs to schedule alarms that are allowed
to execute while in idle mode.

Finally add new dumpsys commands to the device idle controller
to completely disable and re-enable its operation, to use
for testing.

Change-Id: I1f16672c6ac06d03bb538f9854d5843db9aa6f27
/frameworks/base/core/java/android/app/AlarmManager.java
a78240ba5f891c3fd0acb62a1b13b6dc1bbe9705 24-Apr-2015 Narayan Kamath <narayan@google.com> AlarmManager: Reject non-olson timezones for targetSdk >= M

This has caused a lot of grief, confusion and outright broken
behaviour due to the fact that the Posix spec and the Java spec
define conflicting interpretations of "custom" timezones like
GMT+5:30 (eastern hemisphere for java, western for posix).

bug: 19987403
bug: 19106773
Change-Id: Ia9b007067bb175b0805d4262f17390a0bd98d927
/frameworks/base/core/java/android/app/AlarmManager.java
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/AlarmManager.java
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/AlarmManager.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/app/AlarmManager.java
c20b795cf05b48fe5e024c19dab9c7e4b18cd10f 04-Sep-2014 David Christie <dnchrist@google.com> Add @SystemApi annotations to methods used by GmsCore.
-Currently these methods are called using reflection for location.
Bug: 17371392
Change-Id: I6546f5b485415beff69164ba0d526757ee831f69
/frameworks/base/core/java/android/app/AlarmManager.java
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/AlarmManager.java
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/AlarmManager.java
109e4db47187adc484dbbf23ceaaa4295c6df105 26-Oct-2013 Christopher Tate <ctate@google.com> Un-deprecate setInexactRepeating() and tweak docs

Bug 10461371

Change-Id: Ic62a0e94c83c0c7b50e21a7bee19c3d92255d231
/frameworks/base/core/java/android/app/AlarmManager.java
062bce7d87e34f85dc0972c03c59f37d6df15c39 25-Oct-2013 Christopher Tate <ctate@google.com> DOCS: document API 19+ Alarm Manager API and behaviors

Bug 9941334

Change-Id: I65473bd62f7113c74ed6277d61db56c76441ff1b
/frameworks/base/core/java/android/app/AlarmManager.java
e8222dddaf2e3da14380101e818d4254899e0c0d 05-Sep-2013 Chet Haase <chet@google.com> Change build version from KEY_LIME_PIE to KITKAT

Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
/frameworks/base/core/java/android/app/AlarmManager.java
ebe51fc0d860077245c44bfb00130be62da001e1 26-Jul-2013 David Christie <dnchrist@google.com> Add WorkSource capability to AlarmManager.

Change-Id: I663ea3078d405f0fa667a04bdaa376ae6652e994
/frameworks/base/core/java/android/app/AlarmManager.java
56cfa244128402ca288be5726cc0eb9b2d668295 31-Jul-2013 Christopher Tate <ctate@google.com> Temporary stay of execution

Change-Id: I5d3b4213233f6326a8f7ee4891f1f71539649b8d
/frameworks/base/core/java/android/app/AlarmManager.java
5f221e8f93fff70f8a2e192976aac587b8c9c026 31-Jul-2013 Christopher Tate <ctate@google.com> If you set an alarm before the epoch, you're gonna have a bad time

For apps build against the KLP+ SDK, this will now throw an illegal argument
exception. Legacy apps will simply see the alarm delivered immediately.

Bug 9965704

Change-Id: Ia103d9529d32640098be324820fe228efa95431d
/frameworks/base/core/java/android/app/AlarmManager.java
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/AlarmManager.java
02600fb66b805c161e35f6c787372e4074f2213f 25-Jul-2013 David Christie <dnchrist@google.com> Add WorkSource capability to AlarmManager

Change-Id: Ibcff01a9f54a89fde6e7e5b7658e9a90b9a2445b
/frameworks/base/core/java/android/app/AlarmManager.java
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/AlarmManager.java
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/AlarmManager.java
79074cd935854b497cb894046da13bb08a113982 23-Dec-2011 Jesse Wilson <jessewilson@google.com> Explicitly specify 'milliseconds' as alarm manager's time unit.

Change-Id: Ic247c1a17283f7b1aa51cae8a2b43e987208aa8a
/frameworks/base/core/java/android/app/AlarmManager.java
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/AlarmManager.java
a34df8a2ba450b2c2ad83ccbbac30b80e2706bb2 03-Apr-2009 Chris Tate <> AI 144405: am: CL 144307 am: CL 144306 Fix SDK issue 1716562 - Broadcast mechanism documentation should be improved.
Original author: ctate
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144405
/frameworks/base/core/java/android/app/AlarmManager.java
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/AlarmManager.java
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/AlarmManager.java
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/AlarmManager.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/app/AlarmManager.java