Commit Graph

387 Commits

Author SHA1 Message Date
Dianne Hackborn
1f377298e2 am 58e0eefe: Improve power tracking of WIFI use.
Merge commit '58e0eefeb5e2e270e2b04369bbf29fc22abda8d5' into gingerbread-plus-aosp

* commit '58e0eefeb5e2e270e2b04369bbf29fc22abda8d5':
  Improve power tracking of WIFI use.
2010-09-17 15:20:10 -07:00
Dianne Hackborn
58e0eefeb5 Improve power tracking of WIFI use.
We now distribute "wifi started" time across all apps that are
holding WIFI locks that cause it to be started.  But only when
WIFI would not normally be running.  Also have a mechanism to
distribute other WIFI work that has happened across those processes
based on their use.

Also fixed a bug where we were not retaining the CPU speed step
stats across boots...!

Change-Id: I00e3153b98429166273750512cc37e7975211ab9
2010-09-17 15:14:57 -07:00
Dianne Hackborn
264e727775 am 934516e1: Merge "Fix issue #2999795: Runtime restart on Crespo" into gingerbread
Merge commit '934516e10150874fd1db5ab9e0be3ae793441fd8' into gingerbread-plus-aosp

* commit '934516e10150874fd1db5ab9e0be3ae793441fd8':
  Fix issue #2999795: Runtime restart on Crespo
2010-09-14 11:54:28 -07:00
Dianne Hackborn
934516e101 Merge "Fix issue #2999795: Runtime restart on Crespo" into gingerbread 2010-09-14 11:50:51 -07:00
Dianne Hackborn
83770289f8 Fix issue #2999795: Runtime restart on Crespo
Change-Id: I7138b031298a234f3f35aec4a003d25cf86a57ff
2010-09-14 11:45:44 -07:00
Brad Fitzpatrick
f26ac1f8ed am 96d6c345: Merge "Unify some duplicate StrictMode-enabling code." into gingerbread
Merge commit '96d6c3454c3550486a2efa25ca0c83732b5e2eaf' into gingerbread-plus-aosp

* commit '96d6c3454c3550486a2efa25ca0c83732b5e2eaf':
  Unify some duplicate StrictMode-enabling code.
2010-09-14 11:39:54 -07:00
Brad Fitzpatrick
96d6c3454c Merge "Unify some duplicate StrictMode-enabling code." into gingerbread 2010-09-14 11:37:13 -07:00
Romain Guy
282315e154 am 52e19d59: Merge "Change the keep alive time for excess idle threads." into gingerbread
Merge commit '52e19d5917b8f057131c1dc8b3eb772febd791d9' into gingerbread-plus-aosp

* commit '52e19d5917b8f057131c1dc8b3eb772febd791d9':
  Change the keep alive time for excess idle threads.
2010-09-14 11:36:55 -07:00
Romain Guy
52e19d5917 Merge "Change the keep alive time for excess idle threads." into gingerbread 2010-09-14 11:34:01 -07:00
Romain Guy
6b424f4770 Change the keep alive time for excess idle threads.
Change-Id: Ie076544df5ee8df185f0824333fdc62203a565c2
2010-09-14 11:30:27 -07:00
Brad Fitzpatrick
50d66f9fcd Unify some duplicate StrictMode-enabling code.
Change-Id: Ifb92f35d9e245dbdb5e201597d8be702bce9e8b8
2010-09-14 08:22:30 -07:00
Dianne Hackborn
53686433a9 am 7e9f4eb2: Track client requests through location manager.
Merge commit '7e9f4eb2608148436cef36c9969bf8a599b39e72' into gingerbread-plus-aosp

* commit '7e9f4eb2608148436cef36c9969bf8a599b39e72':
  Track client requests through location manager.
2010-09-13 14:34:22 -07:00
Dianne Hackborn
7e9f4eb260 Track client requests through location manager.
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like...  say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).

To solve this, we introduce a new class WorkSource representing
the source of some work.  Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.

For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.

This should also be used elsewhere, such as in the GPS provider,
but this is a good start.

Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
2010-09-13 14:20:48 -07:00
Jeff Brown
0f0541e40c am b88102f5: Input dispatcher ANR handling enhancements.
Merge commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1' into gingerbread-plus-aosp

* commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1':
  Input dispatcher ANR handling enhancements.
2010-09-12 17:05:38 -07:00
Jeff Brown
b88102f5b7 Input dispatcher ANR handling enhancements.
This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in.  Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.

Added a .5 second deadline for processing app switch keys.  This behavior
predates Gingerbread but had not previously been ported.

Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.

Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR.  This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.

Added more comments to describe the tricky parts of PollLoop.

Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
2010-09-12 16:52:03 -07:00
Dianne Hackborn
195dc210cb am a4ce31f5: Merge "Small fixes to battery stats." into gingerbread
Merge commit 'a4ce31f5e080eae6c97e6f37040db0c7f0fc78f2' into gingerbread-plus-aosp

* commit 'a4ce31f5e080eae6c97e6f37040db0c7f0fc78f2':
  Small fixes to battery stats.
2010-09-09 21:34:33 -07:00
Dianne Hackborn
b8071d790a Small fixes to battery stats.
Change-Id: Ibbf7c548a8e787a046de3659094cea64908e3deb
2010-09-09 16:45:15 -07:00
Dianne Hackborn
5fdacb8a28 am ee455f5a: Merge "People holding partial wake locks now get blamed for CPU usage." into gingerbread
Merge commit 'ee455f5a9572bc0d23c3328f6c22da91dc109a50' into gingerbread-plus-aosp

* commit 'ee455f5a9572bc0d23c3328f6c22da91dc109a50':
  People holding partial wake locks now get blamed for CPU usage.
2010-09-08 14:34:41 -07:00
Dianne Hackborn
0d903a84d0 People holding partial wake locks now get blamed for CPU usage.
For the duration of the wake lock, 50% of all CPU usage is now
accounted against the app(s) holding partial wake locks, evenly
distributed between them.  This is only while the device is on
battery and screen off.

Change-Id: I3e5c978b792b6ef17bf8540705bfe8343dadd464
2010-09-08 12:41:24 -07:00
Dianne Hackborn
75f0024cf4 am 6e86915e: Merge "Fixes to battery stats debug output." into gingerbread
Merge commit '6e86915e8f5dfffa60ae5d1a4ca9aa74912fd026' into gingerbread-plus-aosp

* commit '6e86915e8f5dfffa60ae5d1a4ca9aa74912fd026':
  Fixes to battery stats debug output.
2010-09-07 14:15:17 -07:00
Dianne Hackborn
b5e3165129 Fixes to battery stats debug output.
Change-Id: I32e7cad9633b8c517a74573069e426d9f835a83d
2010-09-07 14:09:36 -07:00
Brad Fitzpatrick
28130baefb resolved conflicts for merge of 6b50986a to gingerbread-plus-aosp
Change-Id: I7c5ec7ae717e75ad242e2c1ad4537052e4eea718
2010-08-27 12:08:40 -07:00
Brad Fitzpatrick
333b8cba99 SharedPreferences$Editor.startCommit()
Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.

This commit adds the implementation.  The previous commit added the
interface and docs:

   previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
        git commit: edf32d0131

In addition, this change:

-- adds a generic "runPendingWorkFinishers" mechanism to
   ActivityThread to wait on async operations that are still
   in flight and use it for this.

-- ties runPendingWorkFinishers into Activity.onPause,
   BroadcastReceiver, and Service.

-- makes sSharedPreferences keyed on name, not File, to avoid
   unnnecessary allocations

-- documents and guarantees what thread
   OnSharedPreferenceChangeListener callbacks run on

-- makes a few things in frameworks/base use startCommit(), notably
   Preference.java (which was ignoring the return value anyway)

Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
2010-08-27 09:10:11 -07:00
Brad Fitzpatrick
6cf1a8bfb0 am b1bbe99a: Merge "Some StrictMode API changes." into gingerbread
Merge commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7' into gingerbread-plus-aosp

* commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7':
  Some StrictMode API changes.
2010-08-24 14:18:26 -07:00
Brad Fitzpatrick
97461bd25c Some StrictMode API changes.
* rename setThreadBlockingPolicy to setThreadPolicy (opens the way to
  using StrictMode for non-blocking-related things in the future?)

* add allowThreadDiskWrites() and allowThreadDiskReads() to modify the
  current policy mask and return the old one.  this will allow turning
  off part of StrictMode during certain regions of code.  (for
  instance, writing to disk in Activity onPause...)

Change-Id: Ia1878153713f79299971fdab567fa15b3cb9d56c
2010-08-24 11:47:19 -07:00
Kenny Root
485de781f6 am 06c81f29: Merge changes I8a257579,I82d16312 into gingerbread
Merge commit '06c81f29a61ad3568a77f111b6be93e1f437f5bd' into gingerbread-plus-aosp

* commit '06c81f29a61ad3568a77f111b6be93e1f437f5bd':
  Add AStorageManager API to NDK
  Reorganize MountService IPC
2010-08-20 15:09:58 -07:00
Kenny Root
06c81f29a6 Merge changes I8a257579,I82d16312 into gingerbread
* changes:
  Add AStorageManager API to NDK
  Reorganize MountService IPC
2010-08-20 15:07:34 -07:00
Dianne Hackborn
a3ece8bde3 am 32519259: Merge "Fix a few small battery stats problems:" into gingerbread
Merge commit '325192593b057f4360e1abddf490b4fae7d60b12' into gingerbread-plus-aosp

* commit '325192593b057f4360e1abddf490b4fae7d60b12':
  Fix a few small battery stats problems:
2010-08-20 14:13:22 -07:00
Dianne Hackborn
99d0452ddc Fix a few small battery stats problems:
- Actually aggregate discharge amounts.
- Actually print the unplugged battery info when currently plugged in.

Change-Id: I22dd6feb73ac1364eb169d3239ce403b0755bb6c
2010-08-20 13:43:00 -07:00
Kenny Root
be857d4284 Reorganize MountService IPC
Remove auto-generated AIDL files and replace them with manually edited
.java and .cpp/.h files so that binder calls can be made from either
Java or C++.

Update the makefiles to not attempt to generate the AIDL files and also
remove the old auto-generated .java files.

Put all the storage-related C++ things in libstorage so that we don't
pollute other libraries.

Change-Id: I82d1631295452709f12ff1270f36c3100e652806
2010-08-20 13:17:12 -07:00
Kenny Root
821afa9aec am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread
Merge commit '54d41379357d1d800d0a7bd7c5dc56111710482a' into gingerbread-plus-aosp

* commit '54d41379357d1d800d0a7bd7c5dc56111710482a':
  Add OBB flags to support overlays
2010-08-19 09:11:31 -07:00
Kenny Root
02ca31fbae Add OBB flags to support overlays
* Add flags field in OBB footer to support overlays.

* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
  later be supported in the "flags" field of the OBB footer).

* Add notes to document OBB classes before shipping.

Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
2010-08-18 09:34:58 -07:00
Doug Zongker
bb33d6fd98 am 997dc32b: Merge "add an api for getting a device serial number" into gingerbread
Merge commit '997dc32b6bef1c9cc8ac6d4d598698507b2c4934' into gingerbread-plus-aosp

* commit '997dc32b6bef1c9cc8ac6d4d598698507b2c4934':
  add an api for getting a device serial number
2010-08-16 13:20:05 -07:00
Doug Zongker
997dc32b6b Merge "add an api for getting a device serial number" into gingerbread 2010-08-16 09:19:40 -07:00
Doug Zongker
7d2e3df60d add an api for getting a device serial number
Add a constant to android.os.Build that returns a device-specific
alphanumeric serial number.  It's optional -- it may be blank --
though CTS will require it to be present for non-telephony devices.

Change-Id: I338ae5f43ba679a5e98f2f437dc4efdaef0c835d
2010-08-16 09:18:50 -07:00
Dianne Hackborn
2e47052fc4 am 567722ee: Merge "Fix problems with determining when to kill apps for wake usage." into gingerbread
Merge commit '567722eee190f7cf88dc7ea95167db76d5514842' into gingerbread-plus-aosp

* commit '567722eee190f7cf88dc7ea95167db76d5514842':
  Fix problems with determining when to kill apps for wake usage.
2010-08-15 17:34:49 -07:00
Dianne Hackborn
1ebccf531d Fix problems with determining when to kill apps for wake usage.
Also improve debug printing of various times.

Change-Id: Ifcc288fd1bcbf44c069875ba97925b9e7ffe9a48
2010-08-15 17:27:29 -07:00
Dianne Hackborn
66b0343e9e am a8d9291d: Merge "Various battery info things:" into gingerbread
Merge commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177' into gingerbread-plus-aosp

* commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177':
  Various battery info things:
2010-08-13 16:00:44 -07:00
Dianne Hackborn
9adb9c3b10 Various battery info things:
- Now track wake locks in battery history.
- Now track sensors in battery history.
- Some filtering of sensory data.
- Fixes to some data that wasn't cleared when resetting battery stats.
- Print amount discharged since last charge.

And the big part -- keep track of wake locks held per process,
and kill processes that hold wake locks too much while they are in
the background.  This includes information in the battery stats
about the process being killed, which will be available to the
developer if the app is reported.

Change-Id: I97202e94d00aafe0526ba2db74a03212e7539c54
2010-08-13 15:17:49 -07:00
Jeff Brown
f66f8a58cc am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread
Merge commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066' into gingerbread-plus-aosp

* commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066':
  Add support for the PointerLocation overlay.
2010-08-11 16:18:36 -07:00
Jeff Brown
95af0c14a6 Merge "Add support for the PointerLocation overlay." into gingerbread 2010-08-11 16:15:48 -07:00
Jeff Brown
a41ca77fab Add support for the PointerLocation overlay.
This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications.  The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
2010-08-11 14:46:32 -07:00
Kenny Root
f5ee5358c1 am ac9717ab: Merge "Move OBB file reading to DefaultContainerService" into gingerbread
Merge commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e' into gingerbread-plus-aosp

* commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e':
  Move OBB file reading to DefaultContainerService
2010-08-11 14:10:18 -07:00
Kenny Root
a02b8b05dd Move OBB file reading to DefaultContainerService
The system_server shouldn't touch files on the SD card. This change
moves the things that touch the SD card out to the
DefaultContainerService so that it will get killed if the SD card goes
away instead of the system_server.

Change-Id: I0aefa085be4b194768527195532ee6dddc801cfc
2010-08-11 11:20:53 -07:00
Brad Fitzpatrick
e2d33bbc49 am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread
Merge commit 'd2165cfce7911dac66d1195ed9123e79b086d22b' into gingerbread-plus-aosp

* commit 'd2165cfce7911dac66d1195ed9123e79b086d22b':
  StrictMode: time violations in Binder calls
2010-07-30 15:23:19 -07:00
Brad Fitzpatrick
cb9ceb1029 StrictMode: time violations in Binder calls
Change-Id: I5796993dce98be722cf679b78acaf0c9de0ba461
2010-07-30 14:28:55 -07:00
Brad Fitzpatrick
245cb7846c am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
Merge commit '84c924a6c53cb63ca018013c9fda0077413d0005' into gingerbread-plus-aosp

* commit '84c924a6c53cb63ca018013c9fda0077413d0005':
  Replace several IPCThreadState::get() lookups with one.
2010-07-27 14:02:01 -07:00
Brad Fitzpatrick
84c924a6c5 Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread 2010-07-27 13:59:47 -07:00
Brad Fitzpatrick
7bcad8a315 Replace several IPCThreadState::get() lookups with one.
Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
2010-07-27 12:28:57 -07:00
Joe Onorato
070433edee am 76d9bf52: am 8c65ee2d: Merge "Add a method to let a properly permissioned app directly manipulate the user activity timeout. We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone
Merge commit '76d9bf52f31b8f31f64348b736422861c90ab463' into gingerbread-plus-aosp

* commit '76d9bf52f31b8f31f64348b736422861c90ab463':
  Add a method to let a properly permissioned app directly
2010-07-27 09:19:48 -07:00