Commit Graph

1654 Commits

Author SHA1 Message Date
Paul Lawrence
6ee7d25010 Revert "Don't prompt at boot if we already did that when decrypting"
This reverts commit 493e3e7e65.

Should fixes

Bug: 13611885
Bug: 13656830
Change-Id: I117c988bb6679f44f8add4fcc18f45cb8238dfb4
2014-03-26 22:31:04 +00:00
Dianne Hackborn
43111e897b Merge "Battery stats: wake locks, radio active, cleanup." 2014-03-24 20:42:31 +00:00
Dianne Hackborn
4590e52f3d Battery stats: wake locks, radio active, cleanup.
- Improve wake lock work source updates to also update the current
  history tag, in case the new work source gets recorded in the
  history.

- Fix bug in recording radio active time that was not distributing
  any time to apps.

- No longer hold a wake lock while dispatching data conn active call,
  since it comes with its own timestamp.

- Fix issue where the top app was not being cleared while the screen
  was off.

- Remove obsolete STATS_LAST stats type.

- Fix bug that was not clearing the total run time when resetting
  the stats.

Change-Id: Iabe17a9edf34f762374ae09fcffb8a819cf72e30
2014-03-24 13:36:46 -07:00
Chad Brubaker
ff3bb2fe95 am 7f623d6b: am 9506e84b: am c7726147: am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev
* commit '7f623d6b9459bc982c49f0a74aa2c9911f8e1dd8':
  Include the interface for clearDnsInterfaceForUidRange
2014-03-24 19:35:20 +00:00
Dianne Hackborn
a1bd79268b Battery stats: track actually running time
Use the uptime while creating the battery stats history to
generate a new event indicating when the CPU is actually running.
We can do this in combination with the new event reporting when
the CPU comes awake, looking at the difference between the
uptime and elapsed time at that point to determine when it last
when to sleep.

Also use this information to generate a new set of aggregated
states, the uptime caused by each wake reason.

Finally use new radio down timestamp to adjust the times we
compute for radio use.  Note that this information is not (yet)
being used to adjust how these are recorded in the history.

Change-Id: I723b3b526c8e7d64de0cac9d1193e04132d5a3e4
2014-03-21 16:14:59 -07:00
Chad Brubaker
9506e84b6f am c7726147: am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev
* commit 'c77261471432e1577586395dd0a6a481ef7431b5':
  Include the interface for clearDnsInterfaceForUidRange
2014-03-21 21:09:41 +00:00
Chad Brubaker
c772614714 am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev
* commit '1fce89d946760a1bcf3a733f55494f963eab00c2':
  Include the interface for clearDnsInterfaceForUidRange
2014-03-21 21:02:43 +00:00
Chad Brubaker
1fce89d946 am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev
* commit 'de4e7b4947998638e0345ab9a181bf35a8827bef':
  Include the interface for clearDnsInterfaceForUidRange
2014-03-21 20:56:37 +00:00
Paul Lawrence
717e0f5db7 Merge "Don't prompt at boot if we already did that when decrypting" 2014-03-21 20:40:46 +00:00
Paul Lawrence
8f1b194887 Merge "BatteryProperty: Add battery capacity property" 2014-03-20 18:11:29 +00:00
Paul Lawrence
5a43cc6ddd BatteryProperty: Add battery capacity property
Match change in native code
  https://googleplex-android-review.git.corp.google.com/#/c/427553/

Change-Id: I0049ccbbef59fbbc0e14b50b9af7481d87a6d48c
2014-03-20 18:10:06 +00:00
Dianne Hackborn
40c8725804 batstats: fix wake lock tracking, service bug
- Fix bug I introduced in handling wake lock changes where
  we weren't iterating over the new work sources correctly.
- Fix bug in ActiveServices that would wtf too much.
- Prepare to start tracking uptime in the battery history.

Change-Id: Ia94316be51bc6eab7b02f214a5c40c08e99cc3b1
2014-03-19 17:13:43 -07:00
John Spurlock
a1bfe65daa Fix javadoc @links in Vibrator.
Change-Id: I5143334735a1bcdf8252687e703c74656ff9d126
2014-03-19 19:29:34 -04:00
John Spurlock
07cf4da1d0 Merge "Add stream-level suppression to vibrate/audio services." 2014-03-19 21:58:19 +00:00
Jeff Sharkey
1be762c1ba Define an OEM directory, scan features and APKs.
To support OEM customizations, define a new top-level directory
that roughly mirrors the layout of the system partition.  Scan this
location for (non-privileged) apps, and for additional features.

Bug: 13340779
Change-Id: Idb6d6626655061ee31ad952cab734d30ea6130b9
2014-03-19 12:44:48 -07:00
John Spurlock
1af30c7ac4 Add stream-level suppression to vibrate/audio services.
- Add new audio restriction layer to app-ops.  Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled.  Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
2014-03-19 15:32:51 -04:00
Doug Zongker
dd23853e63 am 06fe82d8: am 2e6d960c: am cdf00888: add option to shutdown after factory reset
* commit '06fe82d8e01780b7b6c16364f81f8dd75d467420':
  add option to shutdown after factory reset
2014-03-18 21:00:04 +00:00
Doug Zongker
2e6d960c85 am cdf00888: add option to shutdown after factory reset
* commit 'cdf008883921c2eb7daf10c82687e9a36461eb16':
  add option to shutdown after factory reset
2014-03-18 20:49:12 +00:00
Doug Zongker
cdf0088839 add option to shutdown after factory reset
Add a new hidden method to recovery system to trigger a factory reset
followed by a shutdown, rather than a reboot back to the regular
system.  Use this flag when the MASTER_CLEAR intent is broadcast with
a boolean extra "shutdown" set to true.

Change-Id: I2ceb25b715d9f0ef492a75b3d287d1e17cec89ef
2014-03-18 12:52:04 -07:00
Dianne Hackborn
10ad98223f Start enforcing explicit intents for Context.bindService()
No longer prints a warning, now throws an exception.

Also fix a bug in UserManagerService that was causing an
exception while booting.

Change-Id: I3b43cfe08067da840b6850b9bed58664d36d34f1
2014-03-17 11:28:36 -07:00
Chad Brubaker
1b66923148 Include the interface for clearDnsInterfaceForUidRange
With netd allowing overlapping rules for uid range rules the interface
name is needed to make sure only the correct rule is removed.

Bug: 12134439
Change-Id: I94f77f154f49ca8d5f6cf49683a4473cc92c3eb7
2014-03-15 15:31:47 -07:00
Paul Lawrence
493e3e7e65 Don't prompt at boot if we already did that when decrypting
vold will store password securely until KeyGuard requests it
and hands it on to KeyStore.

Needs matching vold changes from
 https://googleplex-android-review.git.corp.google.com/#/c/432050/

Bug: 12990752
Change-Id: I930ed8180cf0b8feb1e58db043d5fb6dff1bab20
2014-03-13 13:48:19 -07:00
John Spurlock
f0b56b5805 am 2fcac8ba: am b41c951f: am cb5f813b: am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs
* commit '2fcac8ba6fe870d78eca7b75c0e846a229f08819':
  Fix doc typos in Vibrator.java
2014-03-12 15:19:23 +00:00
John Spurlock
b41c951fb1 am cb5f813b: am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs
* commit 'cb5f813bb642e72777643dcd2bcbd92cc2039388':
  Fix doc typos in Vibrator.java
2014-03-11 19:18:59 +00:00
John Spurlock
cb5f813bb6 am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs
* commit '0a3cb2ce1b2472b7e4ca6739eaeaa50975abf6ab':
  Fix doc typos in Vibrator.java
2014-03-11 17:43:46 +00:00
Dianne Hackborn
e5167ca61e Reduce wake lock noise in battery history.
When the work source of a wake lock was changed, this would
cause the old wake lock to be released in battery stats before
the new one was acquired (the power manager would correctly
keep holding the associated wake lock).  This resulted in a
pointless entry in the battery history showing the last wake
lock being released and a new one acquired.

This change adds a new path in to battery stats to report
when a wake lock has changed, allowing it to acquire the
new wake locks first before the old ones, so it can't drop
down to zero wake locks.  This also provides better timing
information, as the same current time can be used for both
operations.

In addition, added a new kind of history entry for the
current time, so you can tell when in actual world clock
time the battery data is happening.

Change-Id: Ibbf2eed83bb93f31f60267889b7bc5b9e71e355f
2014-03-11 10:02:40 -07:00
Paul Lawrence
2bc6857532 Merge "Clean up a few minor issues" 2014-03-10 16:41:22 +00:00
John Spurlock
0a3cb2ce1b am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs
* commit 'b2bd63f00631b68df3595a4369ec4802e6443bc7':
  Fix doc typos in Vibrator.java
2014-03-10 16:24:31 +00:00
John Spurlock
0f49c28e7a Fix doc typos in Vibrator.java
Change-Id: Ie95cd7fa16042897e6acf94badec98bc19bde57a
2014-03-10 11:29:35 -04:00
Dianne Hackborn
c51cf03cf2 Start recording wakeup reasons in battery history.
Depends on a modification to libsuspend so that we can get
a callback each time the device wakes up, to read the current
wakeup reasons from the kernel.  These are then stuffed in
to a new field in the battery history.

Also add new dump options --history-start and --charged
to better control what is dumped.

Finally the alarm manager uses a "*walarm*" tag for history
item wake locks that are coming from a wakeup alarm.

Change-Id: I457571973d5b2b5fdc4e4b63ab16275db20d7edd
2014-03-07 15:18:45 -08:00
Dianne Hackborn
97ae538554 Formalize time bases in battery stats.
Battery stats used to revolve around a single time base
it maintained, "battery uptime and realtime."  This is derived
from the system's uptime and realtime, but only increments while
the device is on battery.  It is used to update its timers for
things like the screen being on, wake locks, etc only while the
device is not plugged in to power.

This change formalizes that time base into a separate class that
maintains all of its state.  This is used to introduce a new
time base, "battery screen off," which only increments while the
device is on battery *and* the screen is off.  Wake locks are now
based on this time base, so we don't count them while the screen
is on -- it is misleading to have them increment while the screen
is on because the device is defined to always stay awake anyway
during that time, so what they are doing is irrelevant.

Change-Id: I020e20c930d8dca2953c6c3ddef1dc93c24161a5
2014-03-05 21:48:07 -08:00
Jeff Brown
15e0e8e514 Merge "Detect invalid uses of Message." 2014-03-04 00:05:25 +00:00
Jeff Brown
9867ed7aa9 Detect invalid uses of Message.
Throw an exception when an application attempts to recycle or
resend messages that are still in-use.

Change-Id: I7096e8b7bd5bec41b7b8ef0c798c55ce3db6827e
2014-03-03 15:36:36 -08:00
Patrick Tjin
36c96866f3 Merge "Fix typo in documentation" 2014-03-03 17:16:01 +00:00
Dianne Hackborn
77b987f1a1 Hold a wake lock while dispatching network activity events.
Also add new API for determining whether the current data network
is active, and thus better scheduling network operations.  This
API is designed to not be tied to a mobile network -- regardless
of the network, apps can use it to determine whether they should
initiate activity or wait.  On non-mobile networks, it simply always
reports as the network being active.

This changed involved reworking how the idle timers are done so
that we only register an idle timer with the current default
network.  This way, we can know whether we currently expect to
get callbacks about the network being active, or should just always
report that it is active.  (Ultimately we need to be getting this
radio active data from the radio itself.)

Change-Id: Iaf6cc91a960d7542a70b72f87a7db26d12c4ea8e
2014-02-28 15:19:39 -08:00
Dianne Hackborn
d45665bf0b Collect per-uid mobile radio usage.
We now compute radio active time per application, by distributing
the active time across all applications each time the radio goes
down, weighting it by the number of packets transferred.

Per-app radio power use is now computed using this radio active
time.

This also gives us a new metric "ms per packet", which give an
idea of how effectively an application is using the radio.  This
is collected and reported as a new set of stats in the human-
readable checkin.  (It can be computed from the raw checkin data).

Also improve sync reporting to include the sync source as used
in wake locks, not just the component name.

Change-Id: I0b0185fadd1e47ae749090ed36728ab78ac24c5e
2014-02-26 15:53:44 -08:00
Patrick Tjin
72fa3ed1a0 Fix typo in documentation
Change-Id: Ida827957623cf49981e5a0c2c9193ef4efe8d1ce
2014-02-25 14:52:23 -08:00
Dianne Hackborn
a1f1a3c573 More battery stats.
- Add events for sync.
- Add more descriptive tags for wake events.
- Fix battery reset.
- Fix tracking of wifi data.

Change-Id: Ic07f2a86a5ed33e7da57eb1108c31c777ecd801f
2014-02-25 13:20:07 -08:00
John Spurlock
a77cf87354 Merge "Tabs -> spaces in frameworks/base." 2014-02-25 19:57:33 +00:00
John Spurlock
8a985d24ce Tabs -> spaces in frameworks/base.
Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
2014-02-25 09:49:29 -05:00
Kenny Guy
1a447535ce Hide managed profiles from user switchers.
Hide managed profiles from lockscreen user switcher on tablets.
Hide managed profiles from power menu user switcher on phones.
Add flag to enable multi user ui turned off by default.

Change-Id: I4c69a6f7b0f39c249fc85fd940318df1ddab073f
2014-02-24 19:24:42 +00:00
Greg Hackmann
4418372b21 am 5f652b9f: am 0cab896a: resolved conflicts for merge of 9e413bf4 to klp-modular-dev-plus-aosp
* commit '5f652b9fdfbcc279353955f7ef86b72d2ef9f5fb':
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-02-22 00:46:52 +00:00
Greg Hackmann
0cab896a98 resolved conflicts for merge of 9e413bf4 to klp-modular-dev-plus-aosp
Change-Id: Ibc41f0248235afca9546829e00b31003d09f4f7e
2014-02-21 16:35:52 -08:00
Greg Hackmann
bbfc08b3ab Merge changes I6d4fdada,Ia34899a4
* changes:
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-02-21 21:01:00 +00:00
Greg Hackmann
38bf514668 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>
2014-02-21 09:53:19 -08:00
Elliott Hughes
5784f159ab am 48dcf9d5: am d7d37256: am b2f07b27: am 4a809272: Merge "Fix documentation for Parcel.readException()."
* commit '48dcf9d5f59acf53a3ac0eda141ec323534a3321':
  Fix documentation for Parcel.readException().
2014-02-21 17:37:58 +00:00
Elliott Hughes
d7d37256c4 am b2f07b27: am 4a809272: Merge "Fix documentation for Parcel.readException()."
* commit 'b2f07b27725bed9716114c46df2cf636eb366f6f':
  Fix documentation for Parcel.readException().
2014-02-21 17:28:54 +00:00
Elliott Hughes
4a80927241 Merge "Fix documentation for Parcel.readException()." 2014-02-21 17:21:52 +00:00
Jeff Brown
10102e4c0e resolved conflicts for merge of baaa080b to master
Change-Id: I3ee12321e298f7a2ea577a99f30c49f3bb497fae
2014-02-20 18:05:03 -08:00
Jeff Brown
90506a41c6 am 07e6d1b9: Merge "Add a new "doze mode" based on Dream components." into klp-modular-dev
* commit '07e6d1b9a5f81ff5a5bf91f2b260ee487d5f2b65':
  Add a new "doze mode" based on Dream components.
2014-02-20 21:47:08 +00:00