Commit Graph

1891 Commits

Author SHA1 Message Date
Dianne Hackborn
10eaa8574b Fix issue #16467284: Make noteStartVideo and noteStartAudio nesting
Also add new methods to clear these states, so we can avoid any
nesting issues from getting the tracking state stuck.

Change-Id: Iba0eaba2a9a186355c24d392f16118982c5331ed
2014-07-23 17:05:04 +00:00
Sreeram Ramachandran
03666c705d Cleanup: Delete dead code.
Bug: 15413389
Change-Id: I315468832ef18ffc84174e54774ab63b86d284dc
2014-07-22 15:46:34 -07:00
Sreeram Ramachandran
a77760d74a Fix WiFi-Direct.
Add a new command to let netd know about routes on a p2p interface.

Bug: 15413694

Change-Id: I36effc438d5ac193a77174493bf196cb68a5b97a
2014-07-22 11:24:29 -07:00
Jeff Brown
970d4132ea Allow dreams to control screen state and brightness.
Added setDozeScreenState() and setDozeScreenBrightness() methods to
DreamService.  The values specified here only take effect once
startDozing is called and can be changed while dozing.

This required some significant rework of the display power controller
but the result seems quite nice and better represents the policy
we want to apply.

Changed the test dream a little bit to make it flash the screen
every minute using the new functions.

Bug: 15903322
Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
2014-07-22 01:18:26 +00:00
Amith Yamasani
9c44933958 API Review: Improvements to RestrictionsManager API
Use an activity intent for local approval instead of a type.
Use PeristableBundle instead of Bundle.
Pass requestId as an explicit argument in cases where it's required.

Bug: 16400892
Change-Id: Id882033f17c39aa9cd63a7eeb73bb7b51f98cf5b
2014-07-22 00:03:39 +00:00
Jean-Michel Trivi
89c3b29a9b Rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE
AudioAttributes: rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE to
  USAGE_NOTIFICATION_RINGTONE in the list of usage values.
Temporarily keep the old definition to prevent transient build
  breakages, will be removed after telephony packages have been
  updated.

Bug 16401631

Change-Id: I9398443fd7ba3c30e9d371c5c5a2934b9ea6f30a
2014-07-20 20:58:47 +00:00
John Spurlock
7b41467704 Zen mode filtering should use new usage constants.
Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
2014-07-19 11:57:51 -04:00
Amith Yamasani
390989da19 Split telephony restrictions into outgoing calls and sms
DISALLOW_TELEPHONY renamed to DISALLOW_OUTGOING_CALLS and introduced
DISALLOW_SMS.

Outgoing emergency calls should always be permitted.

Change-Id: I0a38ef6e2df9dcf62d16fd93622ad61f4327614f
2014-07-17 12:14:52 -07:00
Julia Reynolds
38d3c26fd5 Merge "Update message on DISALLOW_REMOVE_USERS constant." into lmp-dev 2014-07-17 07:39:11 +00:00
Torne (Richard Coles)
08cfaf6726 Use the WebView's loader library to load the real library.
Load libwebviewchromiumloader and use it to load the real WebView
library, to enable sharing of the relro segment between different
application processes without requiring that the library be preloaded in
the zygote. A system service is added to track whether the relro segment
file has been prepared, and block loading of the library until it has
been.

Bug: 13005501
Change-Id: I846b37c7b8e2a4eb8a39e4fd455bccbb2048c173
2014-07-17 09:18:43 -07:00
Julia Reynolds
5b8224901b Update message on DISALLOW_REMOVE_USERS constant.
Change-Id: I4f873eba4082278553ded830bb902fb3a3195d87
2014-07-17 11:50:05 -04:00
Dianne Hackborn
fdb1956ff7 Fix issue #15681802: Missing RESET:TIME in complete battery histories
But wait, there's more!

- Keep track of sync durations in the aggregated stats.
- Add events for users that are running and in the foreground.
- Rework the activity manager's tracking of stuff using
  battery in the background to be based on proc stats, which
  allows it to be better about determing when it should reset
  its tracking of background work.
- Also add tracking of scheduled job execution, like we are
  doing for syncs.
- And once I started hooking battery stats in to
  JobSchedulerService, I found a few things I couldn't stop myself
  from changing: (1) make it very explicit that it doesn't start
  scheduling jobs until we have reached the point in system boot
  where third party apps are allowed to run, and (2) adjust
  the various for loops to not use iterators.

Change-Id: I69d812e27bcfee9e58a614f0f6b1c7545d7530b1
2014-07-15 14:48:48 -07:00
Ashish Sharma
213bb2fd4d Report wakelock time in checkin stats in ms. Bump version.
Change-Id: Icd5cebb3434572cb226ef018629fcfca8bfc08e8
2014-07-15 21:33:22 +00:00
Narayan Kamath
1dcdbb5af5 Merge "Unhide Build.SUPPORTED_ABIS and friends." 2014-07-10 20:16:40 +00:00
Narayan Kamath
1adf4002e7 Unhide Build.SUPPORTED_ABIS and friends.
Also deprecates Build.CPU_ABI and Build.CPU_ABI2.

bug: 15018047

Change-Id: If8bda8481b29442c0208ba8a72ec0037e813946c
2014-07-12 11:54:01 +01:00
Jeff Sharkey
a103114347 Package installation listener events.
Flesh out implementation of install session observers.  Carve out 20%
of published install progress for final system operations such as
dexopt, etc.

Add dumpsys output for active install sessions.  Create explicit
fsync() instead of overriding meaning of flush().  Hack to throw
IOExceptions over Binder calls.

Bug: 14975160, 15348430
Change-Id: I874457e40c45d2661bc0a526df9285ffea4bb77c
2014-07-12 21:12:25 -07:00
Sreeram Ramachandran
06b6cdaed5 Remove unnecessary code and APIs.
This stuff has been replaced by setNetworkForUser() in NetdClient.

Change-Id: If525ee259b74314191d1913f7c2a3e828e05c38f
2014-07-11 18:16:04 -07:00
Sreeram Ramachandran
31ab41726b Delete unused APIs in NetworkManagementService.
Change-Id: Idc6c0ac0d3a4149821fc7820b7f37d4209fc55d3
2014-07-11 15:47:51 -07:00
Dianne Hackborn
3c58775a12 Merge "Allow INTERACT_ACROSS_USERS for service access." 2014-07-10 20:49:26 +00:00
Dianne Hackborn
409297da18 Allow INTERACT_ACROSS_USERS for service access.
But only if the two users are in the same profile.  Also
apply the same rule for the recently allowed interaction
across content providers.

The activity manager now keeps track of which users are in
the same profile group, and the handleIncomingUser function has
an option to allow a non-full caller to do the interaction
if the two users are in the same profile group.

Spread this joy all over the place.

Also turn off multi-user on Svelte devices.

Change-Id: I231484ea2a6bfccbb3cd51357d7a387bd75039ea
2014-07-11 10:30:04 -07:00
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