2918 Commits

Author SHA1 Message Date
Dianne Hackborn
8472e6189c Add app version codes to procstats.
Now the per-package proc stats data is also per-app-version-code.

In addition to changing the data structure to have one more
SparseArray and passing a version code all over, this also required
improving how we reset the stats so that we can prune a multi-package
process record back to a single package.  Otherwise, as you install
updates to apps, the proc stats data would continue to explode as
the data for each of those app's processes got turned to a
multi-package due to tracking the old and new versions at the
same time.

This also bumps the checkin version code, since the package entries
also include a new field for the app version code.

Change-Id: I80de36addb0a75c7b08aef747c6f6c8012d01ee4
2014-01-23 18:00:11 -08: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
Dianne Hackborn
520e705bf8 Merge "Whoops, we were counting everything twice in the totals. :(" 2014-01-17 00:21:22 +00:00
Dianne Hackborn
ae19a06e03 Whoops, we were counting everything twice in the totals. :(
Change-Id: Ia8a5adec4db7d692691b2d7e471c446f963a5c21
2014-01-16 16:18:23 -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
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
Alan Viverette
56110725f2 Move drag-to-open handling into ActionMenuItemView
This prevents the menu item's OnClickListener from being overwritten,
allows the client to override item invocation, and prevents showing
multiple popups when items are re-initialized.

BUG: 11969895
BUG: 12489213
Change-Id: I97ca737810073df348171cdba5442f24a5527f89
2014-01-13 22:46:50 +00:00
Adam Powell
efc3bb0612 Fix a bug where OnTouchListeners in action views could be removed
ActionMenuPresenter should only replace the touch listener when binding
a generated item view.

Bug 12470259

Change-Id: I8c4c6110065605225a20cb7ed872255282085661
2014-01-10 10:16:27 -08:00
Adrian Roos
73415b0c75 Merge "Don't show incorrect pattern in stealth mode." 2014-01-08 23:49:11 +00:00
Adrian Roos
e2d71e4520 Don't show incorrect pattern in stealth mode.
Prevent the pattern keyguard from displaying an incorrect pattern when it is configured not to display patterns.

Bug: 11112503
Change-Id: I6defdcbea102e4f3e09193d61071cecc59ea3080
2014-01-08 15:38:23 -08:00
Adam Powell
fa18d182a3 Move ActionMenuView into android.widget and make it public
Expose ActionMenuView as a way for applications to present
ActionBar-style menus in other embedded or repeating contexts.

Change-Id: I54b7ccd9b2116ca68bc72956da9262bca9d5085f
2014-01-08 13:53:30 -08:00
Adam Lesinski
dfc73e9c24 am 66e9b1e1: Merge "Move SystemService code to frameworks/base/core" into klp-modular-dev
* commit '66e9b1e1178813037daf3798b8fe23467c4b91ab':
  Move SystemService code to frameworks/base/core
2014-01-07 20:58:16 +00:00
Adam Lesinski
66e9b1e117 Merge "Move SystemService code to frameworks/base/core" into klp-modular-dev 2014-01-07 20:53:20 +00:00
Dave Platt
bd9acc2218 am e966e577: am 02f042dd: Fix socket descriptor leak from Zygote to child app
* commit 'e966e5774ad8d478bc89b541bcac3740fe267d18':
  Fix socket descriptor leak from Zygote to child app
2014-01-07 11:53:07 -08:00
Narayan Kamath
98fcf484ef am d2098682: am 3f2843a4: am c47b7d37: am 9d4ebdca: am cf1aa551: Merge "XmlUtils#readThisMapXml should handle null keys."
* commit 'd2098682ab269d311dd482a38e8557df6717ee17':
  XmlUtils#readThisMapXml should handle null keys.
2014-01-07 10:17:04 +00:00
Dave Platt
02f042ddd9 Fix socket descriptor leak from Zygote to child app
Due to an API change in LocalSocket, Zygote must now
manually close the FileDescriptor it created when it
registered a LocalServerSocket.  The LocalSocket.close()
routine will no longer do so.

Bug: 12114500

(cherry picked from commit 70ef29b04ee4ef7d7acfec79041dbe800961195e)

Change-Id: Ief23a3c99e007dc4aa6f94dfb47a1b2b6c854dad
2014-01-06 13:59:20 -08:00
John Spurlock
f121921d9a Merge "Add rotation-lock to Quick Settings on phones." 2014-01-06 19:21:58 +00:00
Narayan Kamath
f748257eee XmlUtils#readThisMapXml should handle null keys.
Both readThisValueXml & writeThisValueXml have been
implemented to handle values with "null" names.

Change readThisMapXml to allow such names as well, and
map them to the null key in the resulting HashMap.
readThisListXml and readThisSetXml already support
null names.

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

Change-Id: I1c93976656e45e7733113eb67d29b6bad5d25f1f
2014-01-06 11:18:21 +00:00
Adam Lesinski
b102b2cc73 Move SystemService code to frameworks/base/core
Paves the way for building services without needing to see the
rest of frameworks/base/services.

Change-Id: I8ac4bc9d25471e96076cd888c1fc24b918d8911f
2013-12-20 13:27:38 -08:00
Alan Viverette
ca7a257628 Merge "Add APIs and implementation for additional caption edge types" 2013-12-20 00:40:36 +00:00
John Spurlock
8ab172e8d9 Add rotation-lock to Quick Settings on phones.
Make the rotation-lock QS tile available for display on phones.

Devices < sw600dp are only allowed to lock rotation to their
natural orientation (i.e. portrait on most phones), so tweak
the QS tile label to make this clear.  e.g. "Locked to Portrait"
instead of "Rotation Locked" on portrait phones.

Simplify RotationLockController now that the sw600 check is no
longer hardcoded in RotationPolicy.

Remove redundant sw600dp check in SystemUI, everything driven
from the RotationPolicy helper, though SystemUI can still
choose not to display the tile at all with a resource config.

Clean up some of the docs in RotationPolicy to make clear the
subtle distinction between the two ways of locking rotation:
 - From Accessibility (locks to natural orientation on all devices)
 - From System UI (locks to natural < sw600dp, else current rotation)

Bug:11062710

Change-Id: I5caa4485c9501315da9fed964d6667d3012b43cb
2013-12-19 17:47:20 -05:00
Alan Viverette
ce32ea7345 Add APIs and implementation for additional caption edge types
Change-Id: I62d97a0b3e3b751d698a889eec80dc79fb908d7a
2013-12-19 13:42:28 -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
Kenny Root
6a0db59901 resolved conflicts for merge of e0b14ea7 to master
Change-Id: Ie018d3e2eba1eb2d655c153880e1951b68c2bd51
2013-12-13 15:59:51 -08:00
Kenny Root
e6585b32ea Use java.util.Objects instead on internal API
Not needed since java.util.Objects implements all the needed
functionality.

Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
2013-12-13 13:40:30 -08:00
Dave Platt
70ef29b04e Fix socket descriptor leak from Zygote to child app
Due to an API change in LocalSocket, Zygote must now
manually close the FileDescriptor it created when it
registered a LocalServerSocket.  The LocalSocket.close()
routine will no longer do so.

Bug: 12114500
Change-Id: I8c9fb073924ac33d594bd3bd0eb11d3d1d402506
2013-12-12 16:27:08 -08:00
Narayan Kamath
93f50a1a18 am 98f50502: am 57b94b34: am ca9ba160: am bea98dc2: Merge "Fix inconsistency in LoggingPrintStream."
* commit '98f50502ea9ed4bd32f2732dc9ded146fafd2005':
  Fix inconsistency in LoggingPrintStream.
2013-12-10 10:01:32 +00:00
Narayan Kamath
bea98dc245 Merge "Fix inconsistency in LoggingPrintStream." 2013-12-10 09:30:57 +00:00
Lorenzo Colitti
4598ea4e5e am 263c4788: am 30253d7a: am 2daa0c93: Merge "Add address flags and scope to LinkAddress."
* commit '263c4788dcf45f104f8668fd6621d1a7c39689b9':
  Add address flags and scope to LinkAddress.
2013-12-09 18:34:44 +00:00
Narayan Kamath
b0c7c914eb Fix inconsistency in LoggingPrintStream.
LoggingPrintStream prints "null" for null strings from
print(String) but throws an NPE from println(String).

Fix this by delegating to the underlying builder (and avoiding
the "fast" path when the input String == null)

bug: https://code.google.com/p/android/issues/detail?id=63380
Change-Id: I89c5c12db6ed5af8037d46f67369b38c5b4cbc9f
2013-12-09 11:21:26 +00:00
Lorenzo Colitti
2daa0c93c4 Merge "Add address flags and scope to LinkAddress." 2013-12-07 02:43:04 +00:00
Lorenzo Colitti
64483947fd Add address flags and scope to LinkAddress.
This is necessary so that the framework can know whether an IPv6
address is likely to be usable (i.e., if it's global scope and
preferred). Also, it will simplify the address notification
methods in INetworkManagementEventObserver, which currently take
the address, the flags, and the scope as separate arguments.

1. Add flags and scope to the class and update the unit test.
   Use the IFA_F_* and RT_SCOPE_* constants defined by libcore.
   Since most callers don't know about flags and scope, provide
   constructors that default the flags to zero and determine the
   scope from the address. Addresses notified by the kernel will
   have these properly set. Make multicast addresses invalid.
   Update the class documentation.
2. Provide an isSameAddressAs() method that compares only the
   address and prefix information between two LinkAddress
   objects. This is necessary because an interface can't have
   two addresses with the same address/prefix but different
   flags.
3. Update LinkProperties's addLinkAddress and removeLinkAddress
   to identify existing addresses to add/remove using
   isSameAddressAs instead of implicit equals(). Specifically:
   - If addLinkAddress is called with an address that is already
     present, the existing address's flags and scope are updated.
     This allows, for example, an address on an interface to go
     from preferred to deprecated when it expires, without it
     having to be removed and re-added.
   - If removeLinkAddress is called with an address that is
     present but with different flags, it deletes that address
     instead of failing to find a match.
4. Update the INetworkManagementEventObserver address
   notification methods to take just a LinkAddress instead of
   LinkAddress, flags, and scope. While I'm at it, change the
   order of the arguments for consistency with the other
   functions in the interface.

Change-Id: Id8fe0f09a7e8f6bee1ea3b52102178b689a9336e
2013-12-06 13:54:35 +09:00
The Android Open Source Project
ebcb32f58a Merge commit 'bac61807d3bcfff957b358cb9ad77850bd373689' into HEAD
Change-Id: I29374270c8e0c2f2859efaf1d55af9f73da0f8d7
2013-12-05 13:10:46 -08:00
Alan Viverette
a812ab8786 Merge "Allow alert dialogs to inflate custom view layouts" 2013-12-05 19:28:18 +00:00
Alan Viverette
ec186706df Allow alert dialogs to inflate custom view layouts
Adds APIs to set a layout resource ID as an AlertDialog's custom view. To
make this useful for developers, also ensures that Dialog content is set
up when calls are made to Dialog.findViewById() before show().

BUG: 11136748
Change-Id: I29747a28d7e30f4e31fe474424109ff29e1eaa98
2013-12-05 11:10:31 -08:00
Kenny Guy
0cf13701d6 Fix setLong so it actualy uses userHandle passed in.
Change-Id: Iddcd02b25890cf0a8d5569699b53e97b8640000d
2013-12-04 17:52:32 +00:00
Adam Powell
c3c4d36df0 Merge "Fix a bug in submenu presenter priority handling" 2013-12-04 03:18:34 +00:00
Adam Powell
c0cc68053e Fix a bug in submenu presenter priority handling
Now that overflow menus and the PhoneWindow-level ListMenuPresenter
can coexist, make sure that ListMenuPresenter handles submenus spawned
by itself. Introduce an internal API for menus to prefer a specific
presenter when performing item actions.

Bug 11979407

Change-Id: Id0b8fcbb8b310cbb3a63a1e5ea7a89de5d53f86f
2013-12-03 18:58:29 -08:00
Lorenzo Colitti
317d15c155 am 4806fdfb: am f226bc60: Merge "Use LinkAddress in address notifications."
* commit '4806fdfbd0fecf91584396fc0f620c97a05ab837':
  Use LinkAddress in address notifications.
2013-12-02 20:53:06 +00:00
Lorenzo Colitti
4806fdfbd0 am f226bc60: Merge "Use LinkAddress in address notifications."
* commit 'f226bc606af9ce5aceff6b05fc4b0200c94cb248':
  Use LinkAddress in address notifications.
2013-11-26 17:56:45 -08:00
Lorenzo Colitti
c1c2378033 am 9d4ac970: Merge "Pass DNS server info notifications to observers."
* commit '9d4ac9703657142b190d3c256de7c3329e5a4b29':
  Pass DNS server info notifications to observers.
2013-11-26 08:38:48 -08:00
Lorenzo Colitti
5ad421a3d0 Use LinkAddress in address notifications.
Currently address{Updated,Removed} pass in the address as a
string such as "fe80::1/64". Use LinkAddresses instead, since
that's what it is.

This makes the code more robust in the unlikely case that netd
passes in an invalid string. In the future we can move flags and
scope into the LinkAddress itself and simplify the code further.

Bug: 9180552
Change-Id: I66599f9529cf421caa7676fdd0141bb110b8589e
2013-11-26 21:55:15 +09:00
Lorenzo Colitti
5ae4a531cc Pass DNS server info notifications to observers.
These are sent if the device receives IPv6 Router Advertisements
with DNS server configuration options. Currently, nothing listens
to them; in a future change we will use them as IPv6 DNS servers.

[Cherry-pick of 416740ad4d9132005a71dc0883334e852235a18a]

Bug: 9180552
Change-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa
2013-11-25 17:27:17 +09:00
The Android Open Source Project
dbccd44a63 Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-11-22 11:18:57 -08:00
Lorenzo Colitti
ec9830e769 Merge "Pass DNS server info notifications to observers." 2013-11-22 01:27:15 +00:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00