18239 Commits

Author SHA1 Message Date
Yuncheol Heo
38db629d89 Handle the power state change.
- Add BrocastIntent listener to catch SCREEN_ON/OFF intents.
- Add callbacks onTransitionToStandBy(), onStandBy() in HdmiCecLocalDevice.java.
- When it gets the SCREEN_OFF intent, the state will be TRANSITION_TO_STANDBY,
  then when there is no outstanding actions, the state will be STANDBY.
- When the state is STANDBY, the TV device will broadcast <StandBy>.
- When it gets the SCREEN_ON intent, the state will be TRANSITION_TO_ON,
  then when the initialization is done, the state will be ON.
- When the state is ON and it receives <StandBy> CEC message, it will force
  the system to go to sleep.
- When the state is STANDBY and it receives the cec messages to wake-up the
  system, it will force the system to wake up from sleep.
- Manage the active source state for the playback device.

Change-Id: Ib473219a0b0deb5224df89386db5a83720000411
2014-07-04 10:33:53 +09:00
Jeff Sharkey
df972232c7 Merge "Teach DCS about cluster packages." 2014-07-03 01:26:58 +00:00
Jeff Sharkey
be520fba1e Teach DCS about cluster packages.
For the time being, DCS is going to still be doing heavy lifting for
some install tasks, so it need to know how to handle both monolithic
and cluster packages.  This change is mostly plumbing work to
eventually handle any various splits APKs that we may encounter.

Bug: 14975160
Change-Id: I39848d5666f9083cb4eca493e5cdaa868f3f99fb
2014-07-05 19:16:53 -07:00
Jeff Sharkey
0c54798aac Start removing ContainerEncryptionParams.
The new PackageInstallerSession APIs will allow installers to deliver
bits directly into system protected storage, so we no longer need
encrypted containers.

Change-Id: I8b598cb149b7dfd1d41e6626c1359610a573edf1
2014-07-05 15:49:07 -07: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
Jeff Sharkey
0fc63f4795 Merge "Start removing ContainerEncryptionParams." 2014-07-02 18:50:12 +00:00
Jeff Sharkey
ece4b655dc Merge "Extract native code from split APKs." 2014-07-02 18:50:12 +00:00
Kenny Guy
c13053bf1c Add package state to block uninstall.
Add package state to allow profile or device
owners to block uninstall of packages.
Add API to DevicePolicyManager to set/get the
state.

Bug: 14127299
Change-Id: I03528819850b42df7bafa7747bb9e4558d20c4e6
2014-07-04 11:35:17 +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
Christoph Studer
d5092bcb11 NoMan: Allow notifications to transition !ZEN -> ZEN
Bug: 15979100
Change-Id: Ifd620caf2e00f8cd3d9f1458b93585a454af4b74
2014-07-03 17:53:45 +02:00
Christoph Studer
1cd5add16c Fix 'stuck notification' bug
Apply implied flags before notifying listeners.

Bug: 15589158
Change-Id: Ie1c7374fa562ff62725361fb0dc8b0d1a6725618
2014-07-03 14:00:41 +02:00
Narayan Kamath
4aa03ef621 Merge "Revert "Enforce USB and storage restrictions"" 2014-07-02 19:56:47 +00:00
Narayan Kamath
a35add6882 Revert "Enforce USB and storage restrictions"
This reverts commit 39e53714ede48fcb464733834d7d9ccb868efe8a.

Change-Id: I81199fea8ca4b48516792bb02c1c3e90e5916c1f
2014-07-03 11:45:56 +00:00
Emily Bernier
41497e6827 Merge "Enforce USB and storage restrictions" 2014-07-02 19:53:18 +00:00
Craig Mautner
c0ffce5ddd Use cached thumbnails in Recent tasks.
The thumbnail returned from ActivityManager.getTaskThumbnail() now
contains either a Bitmap or a ParcelFileDescriptor that points to
a file containing a compressed Bitmap. The Recent tasks list is
now responsible for all thumbnail Bitmap caching as the activity
manager keeps only the most recent 5. This also permits low memory
devices to have many more tasks in the Recent tasks list.

As part of this CL the concept of subtasks is removed eliminating
code supporting the TaskAccessInfo and IThumbnailRetriever classes.

Fixes bug 15828934.

Change-Id: I0fd0320a1a04e3c78d79357899b83a2fff97abf2
2014-07-02 16:31:46 -07:00
dcashman
ca76cccb61 Merge "Initial work for key rotation." 2014-07-02 18:22:50 +00:00
dcashman
55b1078e2a Initial work for key rotation.
Introduces the upgrade-keyset tag to AndroidManifest.xml. This specifies a
KeySet by which an apk must be signed in order to update the app. Multiple
upgrade KeySets may be specified, in which case one of them must be used to
sign the updating apk.  If no upgrade-keyset is specified, the current logic
involving signatures is used.

Current Key Rotation Design Decisions:
-Apps using a shared user id may not rotate keys.
-All acceptable upgrade keysets must be specified, including the key signing
the app.  This enables key rotation in one update, but also 'locks' an app if
an incorrect upgrade keyset is specified.
-Minimal changes to existing KeySet code.

Bug: 6967056
Change-Id: Ib9bb693d4e9ea1aec375291ecdc182554890d29c
2014-07-02 12:51:28 -07:00
Narayan Kamath
dbbc070670 am e2840977: am 6e84f8c1: Merge "Fix native crashes when APKs can\'t be opened."
* commit 'e2840977d37e4d19425d448b54895536e43a2989':
  Fix native crashes when APKs can't be opened.
2014-07-02 12:18:45 +00:00
Narayan Kamath
e2840977d3 am 6e84f8c1: Merge "Fix native crashes when APKs can\'t be opened."
* commit '6e84f8c1b9c72ab6e1eb189358292237dbe1efe8':
  Fix native crashes when APKs can't be opened.
2014-07-02 12:12:18 +00:00
Nick Kralevich
db32fb646d am d172419e: am 9b1a7d45: Merge "Allow different SELinux policies for third party apps."
* commit 'd172419e9a36f61af8c98d316ec2625e1f1304f6':
  Allow different SELinux policies for third party apps.
2014-07-01 21:16:14 +00:00
Nick Kralevich
d172419e9a am 9b1a7d45: Merge "Allow different SELinux policies for third party apps."
* commit '9b1a7d4570dd692cf86c385dfcdf057ad966fa57':
  Allow different SELinux policies for third party apps.
2014-07-01 21:13:12 +00:00
Robert Craig
83b54ecab7 Allow different SELinux policies for third party apps.
Prior support forced all third party apps
to be resolved against the default stanza
of the mac_permissions.xml file when assigning
seinfo labels. This meant that all third party
apps, in effect, were untrusted regardless of
cert and therefore received the same selinux domain.
This also had the unfortunate side effect of forcing
certain third party apps into the wrong domains
because of shared userid requests among apps.

This patch removes that restriction and instead
allows all apps, regardless of location, to be
matched against the full mac_permissions.xml
policy file. This then allows all apps signed
with known good certs to receive the same selinux
domains of other apps with whom they share trust.

Change-Id: Iba569c046135c0e81140faf6296c5da26a243037
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-07-01 13:53:11 -07:00
Narayan Kamath
6e84f8c1b9 Merge "Fix native crashes when APKs can't be opened." 2014-07-01 17:48:27 +00:00
Julia Reynolds
3690ea1aa1 Merge "Apply the tethering user restriction to connectivity service." 2014-07-01 16:34:37 +00:00
Julia Reynolds
f5116d01b2 Apply DISALLOW_CONFIG_VPN restriction to VPN.
Bug: 16008760
Change-Id: I299d5f32d9b09c3abcc32f3e889a0187880621df
2014-07-02 17:51:46 +00:00
Julia Reynolds
fc6b2a0be3 Apply the tethering user restriction to connectivity service.
Bug: 15852213
Change-Id: Ib2df696189981ed1b31955257047fac3ee403965
2014-07-02 16:46:54 +00:00
Alexandra Gherghina
1e1f2e8926 Merge "Adds per-user APIs required by the Settings app" 2014-07-02 16:34:47 +00:00
Alexandra Gherghina
cb22807ffc Adds per-user APIs required by the Settings app
Bug: 15466880
Change-Id: Ic99fbf074564901b04d32b08f3a7a38555f330b3
2014-07-02 13:34:14 +01:00
Narayan Kamath
f29131f701 Merge "Fix native crashes when APKs can't be opened." 2014-07-01 19:11:01 +00:00
Narayan Kamath
cef0b39b92 Fix native crashes when APKs can't be opened.
There was lax / incomplete error checking around the
construction of Apk handles. This change changes the ApkHandle
API and makes it throw IOException if the zipfile couldn't
be opened.

Additionally :
- Fix a resource leak in DefaultContainerService
- Report errors correctly during package moves.

bug: 15563874
(cherry picked from commit ec4516470d7ce6e47769591d678c838bd3f6f388)

Change-Id: Ia35b464355467d0d36faf34fae85acbbab3f2896
2014-07-02 12:43:52 +01:00
Jinsuk Kim
160a6e5b99 Add setOption for HdmiControlService
Bug: 15845304
Change-Id: I96b285ae3938aeecdd44b2c08a178def33bd2bf2
2014-07-02 17:16:45 +09:00
Jungshik Jang
ca5be9a8fb Remove SystemAudioAutoInitiationAction when SystemAudioActionFromAvr started.
Bug: 15845309
Change-Id: I1eefeca3aab117f2def08fe9fbbea81987ef11a8
2014-07-02 11:51:21 +09:00
Dianne Hackborn
497175beff Rework network stats to use proc state for fg/bg.
Switch to using the process state to determine whether a
process should be foreground or background, instead of the
boolean foreground given by the activity manager.

This is for battery save mode, where we can now allow more apps
to havenetwork access: everything whose process state is at
least IMPORTANT_FOREGROUND, which allows music playback
and other use-visible things to continue to have network
access.

Note this also impact the traditional background data disabled
state, where now we allow anything top or better to have
network access.  This automatically includes all persistent
processes, the current top activity, and any other processes
hosting the top activity or being used by the top activity.
So it broadens the set of apps that get network access, but I
think this increases it to a reasonable set of things that may
actually be needed for the foreground app to work correctly.

Change-Id: Icb609a2cea280dc3fa3e83417f478ed77f3685aa
2014-07-01 18:34:58 -07:00
Nicolas Prevot
7f7b0c759e Returning badged icons for components of corporate apps.
So, corporate apps in disambiguation dialogs are badged.
And updating the way we show the icon of the personal space to this new design.

BUG: 14377051

Change-Id: Idc707773a64a8feb2d9d4df88c425d5100542636
2014-07-02 12:09:51 +01:00
Julia Reynolds
df0697e392 Merge "Apply ENSURE_VERIFY_APPS restriction to PackageManagerService." 2014-07-01 16:28:20 +00:00
Robert Greenwalt
2771181c9b Simplify the network transition wakelock.
Make it all internal to ConnectivityService - we know when a network
is lost, so grab a wakelock then.
Moves the call out of WifiStateMachine which was grabbing at bad times
like every dhcp renewal or corp-network roam.  These would always
go the full 1 minute and chew up battery.

bug:15595155
Change-Id: I80157a818cc149072cc7706d78c1e79c6e679ab3
2014-07-02 09:26:43 -07:00
Julia Reynolds
6728239cfe Apply ENSURE_VERIFY_APPS restriction to PackageManagerService.
Bug: 15986973
Change-Id: I9e8dae15cb866a3bb16e91fc49086fe1633f0bf8
2014-07-02 13:04:35 +00:00
Adrian Roos
fa10423fa0 Add stable insets for stable system windows
Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.

Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
2014-07-02 12:34:05 +00:00
George Mount
5654e2ba16 Merge "Stop temporary window from showing with activity transitions." 2014-07-01 23:17:33 +00:00
George Mount
70778d7d53 Stop temporary window from showing with activity transitions.
Bug 15424905

When creating a new process, a temporary window would show,
even when within the same task. This CL prevents the temporary
window from showing when using
ActivityOptions.makeSceneTransitionAnimation(...)

Change-Id: I93c40ba0b41ed90ebe6e9802d1236f8c81d60abe
2014-07-01 16:33:45 -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
Martijn Coenen
c2a32dd7d3 Merge "Fix NPE in TaskRecord." 2014-07-01 16:39:45 +00:00
Martijn Coenen
d4a69704be Fix NPE in TaskRecord.
setIntent() calls toString() when in verbose
mode, which NPEs on an uninitialized mActivities.

Change-Id: Idccfe857bedc6cac18c590b0f2858166c0a665df
2014-07-01 23:06:07 +00:00
Dianne Hackborn
f4061618b1 Merge "Fix issue #16013164: Externally Reported Moderate:" 2014-07-01 19:25:54 +00:00
Dianne Hackborn
133b9df951 Fix issue #16013164: Externally Reported Moderate:
AppOpsService.setMode() allows setting mode for own uid without permission

Change-Id: Ic60a10f0e95f19658c61567826dff28b657efe73
2014-07-01 16:34:48 -07:00
Svetoslav
564560e46d Installed and enabled print services not working after boot.
Due to system server changes the print manager services did not
receive the expected callbacks in correct order. This lead to
installed and enabled print services not working until toggled
from settings.

bug:16018217

Change-Id: I8d53d8d8f06507ee135cebe5201f00910a4cb364
2014-07-01 16:30:43 -07:00
Jeff Davidson
b096bdceaf Add a SCORER_CHANGED broadcast.
Sent whenever the active network scorer is changed.

Bug: 16007033
Change-Id: Ib71e89e2cc98fa424db7e489445ec03edefb6880
2014-07-01 15:43:02 -07:00
Nick Kralevich
3edb62a5ad am db32fb64: am d172419e: am 9b1a7d45: Merge "Allow different SELinux policies for third party apps."
* commit 'db32fb646d90abb5e2281bd145d9d9615c65cbed':
  Allow different SELinux policies for third party apps.
2014-07-01 21:21:55 +00:00
Dianne Hackborn
a165e14d2f Merge "Issue #15986092: Add power tracking of flashlight." 2014-07-01 14:40:15 +00: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