Commit Graph

1871 Commits

Author SHA1 Message Date
Ashish Sharma
cba1215412 Correctly attribute User Activity to the uid in checkin batterystats.
Change-Id: Iacca5985c0b5a68026da6b2b5c9607f8cb71aad5
2014-07-10 22:45:22 +00:00
Paul Jensen
6bc2c2c34f Convert Vpn from NetworkStateTracker to NetworkAgent.
This eliminates the need for the ConnectivityService.VpnCallback class.
This requires shifting VPNs to the new "network" netd API.
VpnService.protect() is modified to no longer go through ConnectivityService.
NetworkCapabilities is extended to add a transport type for VPNs and a
capability requiring a non-VPN (so the default NetworkRequest isn't satisfied
by a VPN).

bug:15409918
Change-Id: Ic4498f1961582208add6f375ad16ce376ee9eb95
2014-07-10 20:39:33 +00:00
Colin Cross
0769e55001 android.os.Process: add killProcessGroup
Add Process.killProcessGroup to interface between ActivityManager and
libprocessgroup.

Bug: 15313911
Change-Id: I5226a6d86153b863e30d936cf1c84e256f0d7ea5
2014-07-10 18:08:08 +00:00
Dianne Hackborn
61659e5daa Add tracking of uid process states in battery stats.
We now keep track of how long each uid had processes in
various states: foreground, active, running.  This is based
on a collapse of the various activity manager process states
into these three bins.

You'll see these in a checkin like this:

8,10013,l,st,61504,61504,83109

Also fix issue #16021555: App showing up as on "top" even
when the screen is off.  This is "fixed" by just saying we
always report the current app at the top of the activity stack,
regardless of the state of the screen.

Change-Id: I1204904225101243eb00b43425d9806bffdd2ab9
2014-07-09 20:04:03 -07:00
Jeff Sharkey
ec55ef0934 Extend pm to support sessions and split APKs.
Separate commands to create an install session, stream files into the
staging area, and then commit the install.  Streaming can accept data
from stdin across adb, avoiding extra copy from push.

Extend FileBridge to support blocking close().  Always destroy
session regardless of result.

Bug: 14975160
Change-Id: Ic3f462e7d1901079b785e210228950cdfa676466
2014-07-09 16:55:56 -07:00
Julia Reynolds
fe05380984 Restrict factory reset with user restrictions.
Bug: 15985879
Change-Id: I524bd8a790798a85a679aa195e634f6e0227d09f
2014-07-09 11:52:42 -04:00
Jeff Sharkey
d746057f24 Change new file installs to be cluster-based!
Now that all the other pieces are in place, we're ready to start
installing new file-based packages as a cluster (the new unified
directory-based layout).  This greatly simplifies the renaming
process.

Also add helper methods to ApplicationInfo to give a much clearer
mapping between it and internal field names, since we can't change
the public API.

Add recursive restorecon().

Bug: 14975160
Change-Id: I72a63c5ddbc594c2fec4a91dd59f73ef253fbfd7
2014-07-08 00:38:57 -07:00
Jeff Sharkey
ece4b655dc Merge "Extract native code from split APKs." 2014-07-02 18:50:12 +00:00
Nick Kralevich
1a20216bb2 am 3e5f0229: am 58005ec5: am 3b345a6f: Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2""
* commit '3e5f0229e10be4179f763efd6119b63bcea6d162':
  Fix javadoc typo in Message.java: "arg1" -> "arg2"
2014-07-05 16:46:11 +00:00
Nick Kralevich
3e5f0229e1 am 58005ec5: am 3b345a6f: Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2""
* commit '58005ec545fd011418b6400a3b377fea6928c933':
  Fix javadoc typo in Message.java: "arg1" -> "arg2"
2014-07-05 16:40:59 +00:00
Jeff Sharkey
73767b9d60 Extract native code from split APKs.
In the new split APK world, multiple APKs work together to define a
single package.  This means that native code may be split among those
APKs.  To handle this, extend NativeLibraryHelper to examine all
APKs in a package ordered by splitName.

A package has valid native code as long as one matching ABI is found
inside.  The "best" ABI found across all APKs is picked for the
entire package.  No attempt is made to ensure that every native
library defined is available for the picked ABI; that's the
responsibility of the installer.

Re-introduce PackageLite to represent a lightweight parsing of an
entire package, which may be a single monolithic APK or a cluster
of one or more APKs.

Remove native code extraction from InstallerSession, since it'll be
handled inside PMS for this release.

Bug: 14975160
Change-Id: I4f4db0f82e88a46101c7777499ebc0a11fd911f9
2014-07-04 21:00:33 -07:00
Nick Kralevich
3b345a6f91 Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2"" 2014-07-02 20:51:20 +00:00
Jeff Sharkey
57dcf5b177 Slow progress towards APK clusters.
Differentiate between "split APKs" and "cluster packages".  A cluster
package is a directory containing zero or more APKs (base+splits),
and a monolithic package is a single APK (base).

PackageSetting will use the directory name as its codePath, so track
the baseCodePath separately.  Clarify documentation in several
places.

Require that all installers provide file:// URIs through existing
hidden APIs; PackageInstaller hasn't been able to read content://
URIs for a long time.

Bug: 14975160
Change-Id: I1c6fed1b55205c2474b09871161a98a26669d22e
2014-07-02 19:03:54 -07:00
Jason Monk
1c7c319bb8 User restriction for disallowing window creation
Block any types of windows that could by used by apps to create
views on top of a locked app.  This can be used by device admins
in conjunction with lock task mode.

Added a way for system (and priv apps) to bypass user restrictions
for specified op codes.

Bug: 15279535
Change-Id: I2381530ef6226a5bb32a99bb4030baafb39bf564
2014-07-02 09:02:46 -04:00
Dianne Hackborn
abc7c49913 Issue #15986092: Add power tracking of flashlight.
Not yet hooked up.

Change-Id: Id95e44ecc365e9f38169c0a629b0a48ddb29aa06
2014-07-01 10:02:45 -07:00
Narayan Kamath
aeaf87fe45 Update javadoc for android.os.Bundle.
Call out the fact that defaultValue is returned if a null
mapping exists for a given key.

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

(cherry picked from commit ca2197b045)

Change-Id: Iec70478ae091bb222be6e9ef9726c817395e9e23
2014-07-01 09:03:10 +00:00
Amith Yamasani
e4afaa3a3d Store and retrieve default Guest settings
Save the default guest restrictions for use when a guest is created.

Bug: 15761405
Change-Id: I28db7d823944b0b47527a4909c10cc856c842a62
2014-07-01 10:29:46 +05:30
Dianne Hackborn
cb3ed1dc28 Add new sendingUid field to Message.
This tell you where the message came from when it was
delivered through a Messenger.

Change-Id: I86a5f521c8ae919b45872dd76b61e83447f397ab
2014-06-28 14:26:02 -07:00
Narayan Kamath
816cff12e1 am c141ae54: am 989ab6d3: Merge "Update javadoc for android.os.Bundle."
* commit 'c141ae547e9b295ce9013591a6fbb902b0e40073':
  Update javadoc for android.os.Bundle.
2014-06-24 10:18:23 +00:00
Narayan Kamath
b3af535ade resolved conflicts for merge of 816cff12 to master
Change-Id: I33990232771138dcf91f55c7cde6bbfe40612b8f
2014-06-24 13:02:49 +01:00
Dianne Hackborn
3251b90752 Add some wifi tracking to battery stats.
Now track supplicant state and wifi signal strength.
Output looks like this:

         +12m45s235ms (1) 095 +wifi_full_lock +wifi_running wifi_signal_strength=3 wifi_suppl=scanning
         +12m46s095ms (1) 095 -wifi_full_lock wifi_suppl=associated
         +12m46s469ms (2) 095 wifi_suppl=completed +proc=u0a74:"com.google.android.videos"
         +12m52s103ms (1) 095 +wifi_full_lock wifi_suppl=disconn

Also modify history dump so that when we hit a RESET or START
command, we clear our previous history data, so the next event
will include new data.  This means if you are scanning through
the output, you must at this point clear any binary stats you
have like "running" or "wake_lock" or else you will continue to
think they are on until whatever point later they get turned on
and then back off.

And a small bug fix in proc stats that would cause the system
process to crash.

Change-Id: Ibec416a1ef786d428bd0d1d86e6e3296c41f7648
2014-06-20 16:01:21 -07:00
Narayan Kamath
ca2197b045 Update javadoc for android.os.Bundle.
Call out the fact that defaultValue is returned if a null
mapping exists for a given key.

bug: https://code.google.com/p/android/issues/detail?id=68453
Change-Id: Ifa6e94c1dee47809f70cadcb668cb98cb8dbef14
2014-06-19 10:46:00 +01:00
Denver Coneybeare
d0eb55360f Fix javadoc typo in Message.java: "arg1" -> "arg2"
Change-Id: I245eadaf322dce9e27af30d8dbb6d97ca0d296ce
2014-06-18 15:45:14 -04:00
Kenny Guy
f7ecf7c805 Add badging a label to support accessibility.
To provide a way to differntiate the content description
of an icon that has been badged with a managed profile
badge.

Bug: 15106236
Change-Id: Icd5798bbd2410a105054877e3862e199eff24b88
2014-06-19 13:17:02 +01:00
Julia Reynolds
36fbc8d645 Rename apps User Restriction.
Change-Id: I9f81a6b94ba06b593e7213967df51c7cb30a7b31
2014-06-18 10:36:15 -04:00
Jeff Brown
2139276ce8 Refactor BatteryService to new pattern.
Apply SystemService pattern to BatteryService.

Change-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c
2014-06-17 18:20:42 -07:00
Jeff Brown
2c43c339de Resolve boot time dependencies related to the power manager.
This change fixes a bug where native daemons may try to communicate
with the power manager before it was fully initialized due to a race
between publishing the binder service and completing init().

The solution was to simplify the dependencies related to the power
manager.  It turns out that most services that were passed in
init are not actually needed until systemReady.  What remained
was a dependency on the activity manager to check permissions for
incoming calls.  So now we start activity manager first.
However, the activity manager also depends on power manager for
wakelocks.  To break the cycle, we now defer initializing the activity
manager's wakelocks until after the power manager has been started.

Cleaned up a bunch of boot-time service dependencies so that we
can have better confidence that they are correctly maintained.

Bug: 13884219
Change-Id: If08e2d7ccd44e7026a72441bb6bd5afd7bb9fffe
2014-06-17 18:20:42 -07:00
Alexandra Gherghina
19b8fe225d Merge "Modifies APIs for retrieving managed profile accounts." 2014-06-10 21:18:16 +00:00
Alexandra Gherghina
c1cf161af0 Modifies APIs for retrieving managed profile accounts.
This is needed for Account Settings UI.

Bug: 13656853
Change-Id: I33129e4b7b33b428a7bf670259accacb60f62d9b
2014-06-12 18:39:33 +01:00
Amith Yamasani
a596ff87cd Show user switcher if guest is enabled
even if there's only one user.

Bug: 15549064
Change-Id: Ib9bc5e6cdc6f2655e44ec0a10a701dd39389e648
2014-06-12 18:13:09 -07:00
Amith Yamasani
1e9c21871e Guest user first iteration
Setting for controlling if guest is enabled on the device.
Setting to hint to apps that they should skip showing first use clings.

User switcher handles creation and deletion of the guest user.
Some tweaks to the user switcher to show some feedback and make the icons
circular.

Change-Id: I187dc381d2ee7c372ec6d35e14aa9ea4dfbe5936
2014-06-12 12:59:47 -07:00
Julia Reynolds
03f5ff482e Merge "Unhide UserManager.hasUserRestriction()." 2014-06-09 17:21:37 +00:00
Todd Poynor
c42ef37e28 am 1be0bda2: Merge "BatteryManager: battery property query API update" into lmp-preview-dev
* commit '1be0bda27ef001c41f4d4361f079eb5ca6592b04':
  BatteryManager: battery property query API update
2014-06-07 10:01:10 +00:00
Todd Poynor
407a403402 Merge "BatteryManager: battery property query API update" into lmp-preview-dev 2014-06-06 23:16:16 +00:00
Julia Reynolds
2b2cf72f10 Unhide UserManager.hasUserRestriction().
Bug: 15466331
Change-Id: I83a0a77ffcb9781ec0517aed219ee9012137676f
2014-06-06 16:41:11 -04:00
Dianne Hackborn
d8883df650 am 87bc3c25: Merge "Improvements to low power mode." into lmp-preview-dev
* commit '87bc3c258d8be516bc0fcedeb6eec34088582061':
  Improvements to low power mode.
2014-06-06 18:26:17 +00:00
Dianne Hackborn
421e2fd044 Merge "Improvements to low power mode." into lmp-preview-dev 2014-06-06 17:46:11 +00:00
Dianne Hackborn
eb94fa7975 Improvements to low power mode.
Add new public API for monitoring low power mode.

BatteryService now puts device in to low power mode when
battery level is low.

Window manager now watches low power mode to turn off
animations.

Modifying the animator scale now gets propagated to all
processes.

Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee
2014-06-06 10:25:36 -07:00
Todd Poynor
5fde3ff375 BatteryManager: battery property query API update
Move battery property value accessors to BatteryManager.

Hide BatteryProperty class.

Bug: 15191190
Change-Id: Ic021e6e28a8bc30c145ccc31b3a3446ba82d2004
2014-06-05 18:10:46 -07:00
Robin Lee
d450a3a995 am 7f993419: am 3c189e02: am 271251d7: Merge "Add Environment call: get config dir for some user"
* commit '7f99341950273f5284186ea2e59a22ac71241c30':
  Add Environment call: get config dir for some user
2014-06-05 17:56:58 +00:00
Robin Lee
7f99341950 am 3c189e02: am 271251d7: Merge "Add Environment call: get config dir for some user"
* commit '3c189e02e42fba9d5be2c4f68f76620bae33618e':
  Add Environment call: get config dir for some user
2014-06-05 17:53:25 +00:00
Kenny Guy
8a0101bade Badge notification from managed profiles.
Add a method to the UserManager to provide access
to bitmap of badge for managed profile.
Overlay the icon view in notification templates with
the badge from the UserManager.
Notifications with custom views won't be badged.

Bug: 12641490

Change-Id: I1f2aae927e75fc8a955e4d5bbc3cc81127d87069
(cherry picked from commit 0f4ab980227e8c298bfcd34dd85aad0febad528c)
2014-06-05 16:58:52 +00:00
Robin Lee
6959133d84 Add Environment call: get config dir for some user
This returns a read-only directory accessible to any app running as the
same user, containing various configuration files written by the system.

Change-Id: I635de184fc285b8fef166b782bbc1ac79f8f0687
2014-06-05 14:34:23 +00:00
Kenny Guy
d0969135aa Merge "Badge notification from managed profiles." 2014-06-05 14:20:35 +00:00
Robin Lee
7f2d5162fd am c774caff: am 4891a9f9: am e46e6004: Merge "Assign AID_EVERYONE gid to newly-created processes"
* commit 'c774caff86d2e5dc5ca3a0008007cb0fd384568b':
  Assign AID_EVERYONE gid to newly-created processes
2014-06-04 21:13:24 +00:00
Robin Lee
c774caff86 am 4891a9f9: am e46e6004: Merge "Assign AID_EVERYONE gid to newly-created processes"
* commit '4891a9f9cfee569c0d362f1781f44493f5e320c0':
  Assign AID_EVERYONE gid to newly-created processes
2014-06-04 21:09:52 +00:00
Robin Lee
e46e600412 Merge "Assign AID_EVERYONE gid to newly-created processes" 2014-06-04 20:51:55 +00:00
Dianne Hackborn
bcaffd0586 am da4a186f: Merge "Some battery stats history fixes." into lmp-preview-dev
* commit 'da4a186f8bf49d8ea06d5ad6d402d9b073ee3841':
  Some battery stats history fixes.
2014-06-03 17:16:01 +00:00
Dianne Hackborn
fc0641340f Some battery stats history fixes.
- Now the full wake history uses the history tag if it can.
  Hopefully this will still result in a consistent history,
  since that isn't really want the tag is for...  but the
  current implementation in places will probably make this work.

- Possibly fix a bug with inconsistent state between partial
  history snapshots: after a snapshot is printed, don't allow
  any more batching into the most recent history entry, so the
  next snapshot will not miss anything that might get placed
  into it soon after.

Also rework command line arguments for enable/disable to make these
commands instead of options.

Change-Id: Ia33445cad1538bf8df549cef284f1e736efbc079
2014-06-02 12:42:12 -07:00
Jeff Sharkey
43e1565370 am 9a78d4de: Merge "Per-app media directories on external storage." into lmp-preview-dev
* commit '9a78d4deb2d00dc67b2c11daf76b389e0712b535':
  Per-app media directories on external storage.
2014-05-30 23:51:46 +00:00