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
Hdmi-Cec's system audio mode delegates audio control to
audio receiver from tv. It requires to delegate
volume change including mute to audio receiver
instead of consuming by tv.
In order to do this this change introduces three apis.
One is added to IAudioService, the others are added
to IHdmiControlService as hidden apis.
1. IAudioService#setHdmiSystemAudioSupported;
This is to notify system audio mode change to audio
service so that it determines to notify volume or mute
change to HdmiControlService.
2. IHdmiControlService#setSystemAudioVolume;
This is to notify volume change to HdmiControlService.
It's called only where system audio mode is on.
3. IHdmiControlService#setSystemAudioMute;
This is to notify volume change to HdmiControlService .
It's called only where system audio mode is on.
Change-Id: I3d8534b37ddf1a812e32012059a8778772044bf0
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
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
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
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
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
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
Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.
Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
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
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
The network policy manager now monitors battery save mode and,
when in battery save, uses its facility to block access to metered
networks to block access to all networks. That is, it tells the
network management service that all networks have an (infinite)
quota, and puts various app uids to be restricted under quota
interfaces as appropriate.
This new network blocking needs a new facility to be able to white
list apps, such as GmsCore. To do this, I refactored the package
manager's permission configuration stuff into a separate SystemConfig
class that can be used by others, and it now has a new tag to
specify package names that should be white-listed for power save
mode. These are retrieved by the network policy manager and used
to build a whitelist of uids.
The new general config files can now go in system/etc/config,
though currently everything still remains in the permissions dir.
Still left to be done is changing the semantics of what uids are
allowed in this mode, to include all perceptable uids. (So that we
can still do things like background music playback.) This will be
done in a follow-on CL.
Change-Id: I9bb7029f61dae62e6236da5ca60765439f8d76d2
When DISALLOW_MOUNT_PHYSICAL_MEDIA is true, prevent user from mounting any
external media. When DISALLOW_USB_FILE_TRANSFER is true, prevent user from
enabling USB mass storage.
Change-Id: Ia4accec4fb0b7aad6350cf0059244f6329204796
Usual TV can switch on and off of ARC feature in its settings page.
Along with it, removed locking block from the code,
because arc flags are accessed by actions and internal services.
Change-Id: I737ac0c2671b537551eaac202d2065cc99c6d0a0
- Rewrote some methods to match more closely to the handling
sequences in guideline
- Added setControlEnabled() API in the aidl
- Handled <Routing Control> command
- Handled some scenarios invoking RoutingControlAction
Change-Id: I5db0c6fc775cef709c2e0f338b85937deebf2a54
So that sharing from contacts works across user.
When getting a contentProvider, checking that read/write permissions are not null,
Change-Id: Ib4f0419aebd9ec4e742ef08c9ed9348fde62cc11