Commit Graph

1588 Commits

Author SHA1 Message Date
Dianne Hackborn
e8d916c04c Merge "More battery history improvements." 2014-02-03 21:32:33 +00:00
Dianne Hackborn
71fc13eb58 More battery history improvements.
- Better batching of history items.  Fixed problems where empty
  entries would be created because state toggles got lost.
- The string pool is now a HistoryTag pool, containing both a string
  and uid; now an entry only requires 16 bits in the history data.
- Acquiring the first wake lock also now includes a HistoryTag
  identifying who did the aquisition.
- Cleaned up printing of signal strengths and cell radio types.
- There was code that tried to allow you to add new history entries
  while iterating the history...  but these should never happen
  together, so turned that into a failure...  and fixed an issue
  where we could leave the battery stats in a state where it
  thinks it is continually iterating.

Change-Id: I1afa57ee2d66b186932c502dbdd633cdd4aed353
2014-02-03 10:58:50 -08:00
Narayan Kamath
fd6a44d0b5 am ff62e966: am 149510e0: am b9f960e0: Merge "Fixed cancel() not working correctly"
* commit 'ff62e966b60bb20dc7c3384485816b1e7bf06057':
  Fixed cancel() not working correctly
2014-01-31 16:41:42 +00:00
Narayan Kamath
ff62e966b6 am 149510e0: am b9f960e0: Merge "Fixed cancel() not working correctly"
* commit '149510e010b46a445355a8d7fcdb8401125b92c3':
  Fixed cancel() not working correctly
2014-01-31 16:29:16 +00:00
jl1990
3cd12a5155 Fixed cancel() not working correctly
The method handleMessage(Message msg) from mHandler variable was
not checking if the timer was cancelled, so
sendMessageDelayed(obtainMessage(MSG), delay) was keeping the
timer alive. The patch simply adds a boolean and checks if the
CountDownTimer was cancelled before calling
sendMessageDelayed(obtainMessage(MSG), delay)

bug: https://code.google.com/p/android/issues/detail?id=58668

Change-Id: Ic6bbb9d33a3616f8503db222513cc14ad2270cb8
Signed-off-by: jl1990 <jlcarrasco1990@gmail.com>
2014-01-30 13:46:44 +00:00
Narayan Kamath
ef099b7183 am 4a587146: am 09d07d0d: am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit '4a58714606fdeb2e740b0ce51ea5074783e2ecf4':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 12:50:02 +00:00
Narayan Kamath
4a58714606 am 09d07d0d: am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit '09d07d0d33d44fc87c02a8f607ecb7b96dbb4145':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:54:26 +00:00
Narayan Kamath
09d07d0d33 am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit 'e3e4b40577032f6fad38bfbeb9c2b40df89f0ef9':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:51:51 +00:00
Narayan Kamath
e3e4b40577 am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit '9846fb695a3c41aabde4ca0061d583b35f9621d1':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:48:52 +00:00
Dianne Hackborn
5f4a5f9536 Add "start time" timestamp to battery stats.
Change-Id: I902269b98b40b2421245bfd8971f34df5ff9214e
2014-01-24 17:27:02 -08:00
Ashok Bhat
8ab665dda4 AArch64: Make Binder and Parcel 64-bit compatible
Changes include
[x] Long is used to store native pointers

[x] Added new method obtain(long obj) to Parcel. Binder
    uses this method instead of obtain(int obj).

[x] obtain(int) has been changed to throw unsupported
    operation exception.

Change-Id: I408e0f2a24deb28c9277d86670653a51eb314266
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-23 16:25:19 +00:00
Narayan Kamath
b34a4615f8 Hide android.os.Parcel.obtain(int).
This will break on 64 bit because 64 bit pointers are
wider than java int.

Also, this method technically isn't a public API because
it's a protected method on a final class. It shows up in
our api.txt files because of a quirk in the API generation
system.

Change-Id: I2b574943008ed34696b048195c0cac6af1aa0a3b
2014-01-23 14:26:29 +00:00
Dianne Hackborn
39e79006cf Merge "Battery stats improvements." 2014-01-22 22:18:13 +00:00
Dianne Hackborn
099bc627c4 Battery stats improvements.
- Adjust total power use when there is unaccounted power so that our
  percentages don't end up > 100%.
- Fix accounting of isolated uids to be against the owning real app
  uids.
- Rework how we put cpu use into the battery stats to no longer need
  this uid name cache that can confuse the uid it is associated with.
- Finish implementing events in the history, adding a string pool and
  reading/writing/dumping them.
- Add first two events: processes starting and finishing.
- Fix alarm manager reporting of wakeup alarms to be adjusted by the
  WorkSource associated with the alarm, so they are blamed on the
  correct app.
- New "--history" dump option allows you to perform a checkin of
  only the history data.
- Fixed BitDescription bug that would cause incorrect printing of
  changes in some states.

Change-Id: Ifbdd0740132ed178033851c58f165adc0d50f716
2014-01-22 14:09:02 -08:00
Jeff Brown
509cc13b70 am e2c9cd58: Merge "Refactor display manager service to new pattern." into klp-modular-dev
* commit 'e2c9cd583f4f706b48270b8cbe84df627c69af24':
  Refactor display manager service to new pattern.
2014-01-18 01:53:32 +00:00
Jeff Brown
4ccb823a9f Refactor display manager service to new pattern.
Transform DisplayManagerService into a SystemService and start cleaning
up other local services that it uses from window manager and input manager.

Clean up service thread initialization.

Remove unnecessary static variables from ActivityManagerService.

It's starting to become clear that we really need a better way to manage
service dependencies.  Boot phases don't quite cut it.

Change-Id: If319dbd7cbfbd4812fe55ece969e818d4b20755b
2014-01-16 22:16:42 -08:00
Jeff Sharkey
a17059b787 Merge "Run finalizers before counting for StrictMode." 2014-01-16 23:15:17 +00:00
Doug Zongker
3b0218b0ae boot into recovery via the pre-recovery service
Change PowerManagerService to start the pre-recovery service rather
than rebooting directly, when requested to reboot into recovery.  Add
a new RECOVERY permission which a caller needs (in addition to REBOOT)
in order to go to recovery.

Bug: 12188746
Change-Id: I39121b701c4724558fe751adfbad79f8567faa43
2014-01-16 12:54:59 -08:00
Jeff Sharkey
6f3a38f3af Run finalizers before counting for StrictMode.
Otherwise we sometimes end up counting objects strongly referenced
by the finalizer queue, and falsely detecting an instance leak.

Bug: 12533002
Change-Id: I144c941a3dfb0cbb837b98e80d2f49ffc9ca13c7
2014-01-16 12:46:43 -08:00
Jeff Brown
09d30981f8 resolved conflicts for merge of 6f357d32 to master
Change-Id: I1979e6ed1acddbe656f5010114fd900f10865e75
2014-01-16 11:44:20 -08:00
Jeff Brown
6f357d3284 Start untangling system server early bootstrapping.
Refactored SystemServer to get rid of a bunch of legacy cruft related
to how the ServerThread used to be started up.

Create system context first when system server starts.  This removes
the tangled initialization order dependency that forced us to start
the activity manager service before most anything else.

Moved factory test related constants into the FactoryTest class.

Partially migrated Installer, ActivityManagerService, and
PowerManagerService to the new SystemService pattern.  There's more
work to be done here, particularly around the lifecycle of the
power manager.

Bug: 12172368
Change-Id: Ia527dd56e3b3fd90f9eeb41289dbe044921230d4
2014-01-16 11:24:58 -08:00
Narayan Kamath
ab8643452a Track AArch64 changes from AOSP.
mPtr is now long, not int.

Change-Id: I75297cbef3571f8f0cc02a35a06c1bc1f4fbe416
2014-01-16 16:01:22 +00:00
Narayan Kamath
5875c94c59 am 275586aa: am 7471dfc4: am 42defa02: am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"
* commit '275586aa53889a851e0b739e408896861d76e3a8':
  AArch64: Use long for pointers in android/os/MessageQueue
2014-01-16 15:58:04 +00:00
Narayan Kamath
1bf3ab08db am c45068e4: am d7a54c65: am 31f10bb2: am 80b3dd0d: am 27a647bf: Merge "AArch64: Use long for pointers in android/os/MemoryFile"
* commit 'c45068e4a48053447413783e549be7273e38ea97':
  AArch64: Use long for pointers in android/os/MemoryFile
2014-01-16 15:57:29 +00:00
Narayan Kamath
7471dfc4a8 am 42defa02: am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"
* commit '42defa02337b94d25714fe737f749f2c3300c790':
  AArch64: Use long for pointers in android/os/MessageQueue
2014-01-16 15:38:29 +00:00
Narayan Kamath
d7a54c6574 am 31f10bb2: am 80b3dd0d: am 27a647bf: Merge "AArch64: Use long for pointers in android/os/MemoryFile"
* commit '31f10bb21b24824c5dbf60b420239513f02b9e55':
  AArch64: Use long for pointers in android/os/MemoryFile
2014-01-16 15:38:00 +00:00
Narayan Kamath
42defa0233 am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"
* commit 'faa62aaca5f4a149f20487d42279fefc7d356428':
  AArch64: Use long for pointers in android/os/MessageQueue
2014-01-16 07:35:20 -08:00
Narayan Kamath
31f10bb21b am 80b3dd0d: am 27a647bf: Merge "AArch64: Use long for pointers in android/os/MemoryFile"
* commit '80b3dd0d8e333905e9f2a3a844bc524d41df7da2':
  AArch64: Use long for pointers in android/os/MemoryFile
2014-01-16 07:34:53 -08:00
Narayan Kamath
84ee7930bb Merge "AArch64: Use long for pointers in android/os/MessageQueue" 2014-01-16 12:12:15 +00:00
Narayan Kamath
27a647bf38 Merge "AArch64: Use long for pointers in android/os/MemoryFile" 2014-01-16 12:11:47 +00:00
Dianne Hackborn
c46809e997 Whoops add a line separator.
Change-Id: Ie596527a39319fcf3f80a444fed9e62f90163ea5
2014-01-15 17:53:02 -08:00
Dianne Hackborn
c8345b32c9 Merge "Add battery power use reporting to batterystats service." 2014-01-16 01:39:06 +00:00
Jeff Sharkey
4ca728c064 Detect removable and emulated secondary storage.
Also rename existing secondary storage API to match naming
convention in rest of class.

Bug: 11536709
Change-Id: I2684c817de4982b414893d2d9927a21e3f171d53
2014-01-15 17:00:56 -08:00
Dianne Hackborn
a7c837f043 Add battery power use reporting to batterystats service.
Move the BatteryStatsHelper class (which computes power use based
on the raw battery stats) out of the settings app and in to the
framework.  It is now used by batterystats dump output to print
the computed power information from its current stats.

This involved a lot of refactoring of the BatteryStatsHelper code
to remove all of the UI dependencies.  I also did a bunch of cleanup
in it, such as making all power computations be in terms of mAh.

Change-Id: I8ccf2c9789dc9ad34904917ef57050371a59dc28
2014-01-15 16:20:44 -08:00
Jeff Hao
70216e599e am ac20b469: am 6c13f384: am 56b11064: am 9a5005a3: am f6730d26: Merge "Add sample profiling interface to startMethodTracing."
* commit 'ac20b469259129df948bae1fa5434098b1801185':
  Add sample profiling interface to startMethodTracing.
2014-01-15 19:50:53 +00:00
Jeff Hao
6c13f38474 am 56b11064: am 9a5005a3: am f6730d26: Merge "Add sample profiling interface to startMethodTracing."
* commit '56b110649424534de36ca41b3e352a73b6bdf3c0':
  Add sample profiling interface to startMethodTracing.
2014-01-15 19:45:06 +00:00
Jeff Hao
56b1106494 am 9a5005a3: am f6730d26: Merge "Add sample profiling interface to startMethodTracing."
* commit '9a5005a3bfa419cb856a83ca34a67556d9fd5b74':
  Add sample profiling interface to startMethodTracing.
2014-01-15 11:41:30 -08:00
Jeff Hao
d02e60fbd4 Add sample profiling interface to startMethodTracing.
Frameworks base side of this change. Also changed art and libcore.

Change-Id: Ib5ba0445163dca714d1ae66430750346ff8811be
2014-01-15 11:27:24 -08:00
John Spurlock
88926a5482 am 4b67b88e: am cce06eda: am b3436359: am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs
* commit '4b67b88e344a147317fc6b32e5364d4cfabf1e1d':
  Docfixes: three typos and escape */*.
2014-01-14 20:04:25 +00:00
John Spurlock
cce06eda6b am b3436359: am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs
* commit 'b34363590953e4efd70168cdf03386d1e469a548':
  Docfixes: three typos and escape */*.
2014-01-14 19:57:02 +00:00
John Spurlock
b343635909 am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs
* commit 'e05190eae74be57dd517bb5afbccf901543329bf':
  Docfixes: three typos and escape */*.
2014-01-14 11:54:25 -08:00
John Spurlock
e05190eae7 am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs
* commit '85f98508366e8422f71553d2a5e682eb804c7419':
  Docfixes: three typos and escape */*.
2014-01-14 19:50:38 +00:00
John Spurlock
5002b8c972 Use custom classloader if provided for Serializables.
If an explicit classloader is provided during unparcel, use it
when deserializing java serializables.

Change-Id: I2b354f0b55359201528234b8095aa0bc102928ec
2014-01-10 13:34:00 -05:00
Ashok Bhat
63a3715323 AArch64: Use long for pointers in android/os/MessageQueue
Long is used in android/os/MessageQueue class to store
pointers as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I7e901b8515a5b5e3afe1dadaaf3e5c186955c2a0
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-10 15:36:16 +00:00
Ashok Bhat
c20cadbdad AArch64: Use long for pointers in android/os/MemoryFile
Long is used in android/os/MemoryFile class to store
pointers as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I07afc010524c16b5c852273b89becb0c08ff27d7
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-10 15:14:46 +00:00
John Spurlock
3390018c6b Docfixes: three typos and escape */*.
Change-Id: I418d855b5d08a1a20eaca3d8e4d2e5d0fca23dd5
2014-01-06 11:44:42 -05:00
Todd Poynor
91ecb36df5 ActivityManagerService use lmkd low memory killer daemon -- DO NOT MERGE
Change-Id: Ie2f8af1e411c28d7f03be56c356ec39e1d71558e
2014-01-03 16:30:25 -08:00
David Christie
a8cf4f2fd1 Document that Handler.postDelayed uses uptimeMillis() based counting.
-Make it clear that delay may be longer than requested.
-Potentially help developers avoid power bugs (e.g. releasing after delay).
Bug: 12015795

Change-Id: I8034466f6307f64bfcad985948c1dc06872297d3
2013-12-19 18:37:01 -08:00
Dianne Hackborn
57ed6a6440 Improvements to battery stats.
Now collect per-network packet usage data.

Big reworking of history to be able to start adding more events to it.
Also rework how the checking dump is done to make it more compact, so
maybe we can start uploading it.

Change-Id: I2b29e049ebe073671d0dbe38324223cc2ec0d043
2013-12-19 13:09:51 -08:00
Marco Nelissen
09cee9d21f am 4f6a1394: am c680bab3: am 69b46707: am ce3bd309: Merge "Parse UUID string with Long.parseLong"
* commit '4f6a139493e922f2db5e4ee7bb5364e4f8487322':
  Parse UUID string with Long.parseLong
2013-12-11 22:42:02 +00:00