...even when I hit back or close the activity in UI
Change the semantics of NEW_DOCUMENT to have the recents entry be
removed by default when its activity is finished, with various ways
to explicitly turn off this behavior.
Change-Id: Idc717706d27de80f28b53ad76f9e375d85118d71
Each TV input service is now required to query the system whether the
user is allowed to watch the current program before showing it to the
user if the parental control is turned on, which can be checked by
calling TvParentalControlManager.isEnabled(). Whether the TV input
service should block the content or not is determined by invoking
TvParentalControlManager.isRatingBlocked() with the content rating for
the current program. Then the TvParentalControlManager makes a judgment
based on the user blocked ratings stored in the secure settings and
returns the result. If the rating in question turns out to be blocked,
the TV input service must immediately block the content and call this
method with the content rating of the current program to prompt the PIN
verification screen.
Each TV input service also needs to continuously listen to any changes
made to the parental control settings by registering a
TvParentalControlManager.ParentalControlCallback() to the manager and
immediately reevaluate the current program with the new parental control
settings.
Bug: 13172379
Change-Id: I8e1900d4b8d28c56798986d5c3906bd418ab97ac
The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.
The screen sharing case is implemented, but all of audio capturing
is still forthcoming.
Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
This allows the calling app to supply a set of alternative extras to
be sent along with the target intent if the user chooses specific
items from the full set available on the device. When replacement
extras have the same key as extras in the initial intent, the
replacement extras dominate.
Change-Id: I5d64c80447386f22402b71291bb289a74015d619
...state changes.
Add a new API to tell the activity manager about a new dependency
one process has on another package. Start using it already for
when apps is Context.createPackageContext() to load code from another
app.
Also do some work on getting the monitoring of proc/uid states
in shape so it can be used by unundled code, along with an
AppImportanceMonitor class for doing so.
Some small fixes and additions to VoiceInteractionService.
Improve handling of unaccounted/overcounted battery use so that
they aren't shown to the user unless they are significant.
Change-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c
This CL makes the following changes:
1. New public APIs:
- TelecommManager.getCurrentTtyMode: This is used to
get current TTY mode. It's used by Telephony to set
the phone state before calls are created (which is why
it can't be a Conneciton API).
- TelecommConstants.TTY_MODE_*: These are constants
copied from Phone.java
- TelecommConstants.ACTION_CURRENT_TTY_MODE_CHANGED: This
action is fired when the current TTY mode changes.
Apps can listen to this before and during a call.
The old version of this was in TtyIntent.java which
I deleted.
2. New private API
- TelecommManager.isTtySupported: This is used by
Telephony to hide the TTY settings on devices
that don't support TTY
3. Various updates to use the constants renamed in this CL
Change-Id: I652b095af30cc2732a06829dc23492e5355660da
The package manager now keeps track of per ISA dex-opt state.
There are two important things to keep in mind here :
- dexopt can potentially be very slow. In cases where the target
package hasn't been dexopted yet, this can take multiple seconds
and may cause an ANR in the caller if the context is being
created from the main thread.
- We will need to remove the constraint that dexopt can only be
requested by the system (or root). Apps will implicitly be
requesting dexopt by asking for package contexts with code included.
It's important to note that unlike dalvik, the dexopt stage in ART
isn't optional. ART cannot load classes directly from dex files.
bug: 15313272
Change-Id: I0bd6c323a9c1f62f1c08f6292b7f0f7f08942726
When we're creating a package context for a multi-arch app,
adjust the native library directory to match the bitness of
the process creating the context.
This change also removes apkRoot (which wasn't really being used)
and replaces it with a fully constructed secondary library path.
The secondary library path is a transitional measure until we
can reorganize the system image so that we can use nativeLibraryRoot
for system paths as well (nativeLibraryRootRequiresIsa will then
be true for all packages except for legacy installs).
bug: 16013931
Change-Id: I5ae090334b377b9e087aecf40075fab81b20b132
This provides a directory where apps can cache compiled or optimized
code generated at runtime. The platform will delete all files in
this location on both app and platform upgrade.
Bug: 16187224
Change-Id: I641b21d841c436247f35ff235317e3a4ba520441
PackageManagerService now skips dexopt for split APKs that don't
declare they have code. Also surface more detailed error messages
in logs.
Bug: 14975160
Change-Id: Ie6078dba724815020cee59b7fc52317e88ca097a
Allow split APKs to define activities, services, receivers,
providers, and metadata. However, support for many manifest items
are explicitly omitted.
Only dexopt split APKs that include code.
Bug: 14975160
Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
Documented the restrictions schema in RestrictionsManager docs.
Added a parser to read the meta-data and XML file on the device.
Added more types and methods in RestrictionEntry to accomodate some
new types and construction modes.
Added a styleable for restriction attributes.
Slight tweak to permission response params.
Bug: 14582645
Change-Id: I193d1162741d110c100831cab33b48e2baf7426c
Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.
Fixes bug 16157517.
Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
Simplify back to being a broadcast receiver and add an extra to
indicate that a new request is desired vs. returning a pending
response from before.
Change-Id: Iafd16ed98293a2cc09006d2cce097fc3d590bbe2
Two separate issues :
- We were not parcelling the value at all.
- We were looking for it in the wrong manifest attribute.
Note that this change has no observable effect on installs (which
is probably why it wasn't caught so far). This code path is only
used in FileInstallArgs.copyApk (where multiArch was effectively
false before this change) but the package manager extracts shared
libs *again* inside scanPackageLI where this was being done
correctly since the value there came from a "full" package
parse, and not a "lite" package parse.
Change-Id: I54c3efcf8f57e6970f8fbde8cd1f57d487b13114
Flesh out documentation and finalize first cut of API. Also surface
installLocation and splitNames through PackageInfo.
Bug: 14975160, 15348430
Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
This is an app-private filesystem space exactly like the one
reported by Context.getFilesDir(), with one exception: files
placed here are never backed up by the full-backup infrastructure.
If an app attempts to back up any of its contents via the normal
API it's immediately ignored with a logged warning.
The restriction is also enforced on the restore side, because
apps using support libraries might wind up creating full backup
archives containing no_backup subdirs on pre-L devices (via
adb backup, Helium, &c.). We check for this before passing the
restore data to the app, and drop it if we detect the situation
so that the app never sees the bits.
Bug 16240573
Change-Id: I11216a391f1d32117ec7ce15aafc9cd93d0337de
Convert restrictions provider to a service instead of a receiver.
Add a way to get pending responses from restrictions provider.
Add AbstractRestrictionsProvider.
Add a callback API for responses.
Removed some constants in RestrictionsManager.
Added new constants for errors and error codes.
Much improved javadocs.
Bug: 16176009
Change-Id: I838a50fabc80b94b632294b3a55cd5d8092acf55
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
We now both log detailed error messages and relay them back to any
observer. Start refactoring PMS to throw when errors are encountered
internally to make it easier to reason about flow control; already
uncovered a few instances of errors being silently ignored!
Change-Id: Ia335c5e31bd10243d52fd735c513ca828e83dca0
Instead of surfacing all the existing cryptic error codes, we're
going to classify them into broad categories when surfacing through
public API. This change introduces InstallResultCallback and
UninstallResultCallback, and wires them up to existing AIDL
interfaces.
Also start defining general SessionObserver for apps interested
in general progress details, such as Launcher apps. Details about
active sessions are returned through new InstallSessionInfo objects.
Bug: 14975160
Change-Id: I068e2b0c30135f6340f59ae0fff93c321047f8f9
Introduces new flag Intent.FLAG_ACTIVITY_LAUNCH_BEHIND which
causes the newly launched task to affiliate with the launching task.
(Later this flag will also launch the task behind the current task).
This shows up in a new member of the RecentTaskInfo class. This also
causes the recents list returned by getRecentsInfo to be rearranged
so that affiliated tasks are together.
Fixes bug 16157517.
Change-Id: Ia1386af50da2f01809278b62d249f05c6a0de951