History log of /frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
efe0830e745db4879e4230cff5ce89dd465eadf5 28-Jul-2017 Todd Kennedy <toddke@google.com> Add new API

Bug: 62805090
Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_null
Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_empty
Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_valid
Change-Id: I7399de1a9928cc8460e1ea0caf0e51d6ca253d79
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
0df64b5eb9687820c13f37d3fb338a0280a2e7f6 12-May-2017 Sunny Goyal <sunnygoyal@google.com> Updating layoutlib as per PackageManager changes

Test: N/A
Change-Id: I8f5a891dff4e62d3cde9be84a005b166b59f123d
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
41599e719d17f7a7fb64e2df043eb3542f4325f5 02-May-2017 Diego Perez <diegoperez@google.com> Sync layoutlib projects with latest changes in master

Test: N/A
Change-Id: I0a9cf653d1b17a5206a31516443cc7d8606a5b6e
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
57da7f4b3ba1771e9ecb8303a2b1ab960a1bf0e3 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Address API council comments" into oc-dev
3d32934d8919c7e04ffe922d9b88c5bb7c15b672 13-Apr-2017 Chad Brubaker <cbrubaker@google.com> Change ANDROID_ID for Instant Apps

ANDROID_ID for Instant Apps now has the following properties:
1) per-app scoped
2) reset if the user clears the Instant App
3) remains the same if the Instant App gets upgraded to an installed
app.

Note that if the user goes instant -> installed_1 -> uninstall ->
installed_2 the ANDROID_ID at installed_1 will not be the same as
installed_2. This was deemed better than the id changing on the upgrade
step.

Test: manual
Change-Id: I532975c50049c94ff80902a897e001dd35a69f9f
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
be21a2599e27eea420f8a075f1ad3b54dd69d834 19-Apr-2017 Svetoslav Ganov <svetoslavganov@google.com> Address API council comments

Test: cookie CTS tests pass

bug:37327624
bug:37325276
bug:37323696

Change-Id: I52b10470759e471629ec6772e115df94482eb341
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
20196aafd25767fb9d5cefbc433ae19672001025 12-Apr-2017 Todd Kennedy <toddke@google.com> expose the instant app installer component

Bug: 35873804
Test: TreeHugger
Change-Id: I4d962927587bb10833bfe3c3db27fdceab668fc3
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
0609785e6f839bfd27e33fa2630e6a1c12be9a20 29-Mar-2017 Diego Perez <diegoperez@google.com> Make layoutlib more lenient with recoverable errors

In many cases, throwing an exception will stop the inflation or
rendering of a layout. Sometimes, we could recover from some of the
failures and render a layout that is "usable".
I've done a first pass trying to follow the following rules:
- Try simple recoveries by choosing sensible defaults. Not trying
complex recoveries.
- Only recover if the exception is not part of the class behaviour.
Avoided removing declared exceptions or exceptions that are expected by
the framework.
- I've kept assertions in place so, in most cases, the behaviour will
be almost identical to the previous one with assertions enabled.

Test: Checked with existing tests
Change-Id: I0001fdd3c808cf405c4eb8d734b9bbe63493e05c
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
a8b4afe1dbde123023f3e0dec5f90a9740699796 24-Mar-2017 Chad Brubaker <cbrubaker@google.com> Add ACTION_EPHEMERAL_RESOLVER_SETTINGS

This Intent will be used in Settings to show the settings UI for the
Ephemeral resolver. Settings can get the correct component to send the
Intent to by calling
PackageManager.getInstantAppResolverSettingsComponent

Bug: 35918998
Test: Boots
Change-Id: I0edcf85704f2c19e0ee27f91b6ef057d52e32778
(cherry picked from commit aa49cb86e6d5f23d82c97db32c848bc4ea2b81bc)
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
913daaa87fa26b5129e70b637a446de7f197a2f7 08-Mar-2017 Todd Kennedy <toddke@google.com> Add API to mark apps that have an update available

Ostensibly for instant apps, we allow play to mark an app as having
an update available. This will trigger instant app resolution even
if the instant app is already installed on device.

Bug: 35143464
Test: Manual; launch URI of installed instant app, see it runs w/o resolution. set bit. launch URI of installed instant app, see it runs resolution
Change-Id: I511df2b2a3eab39377167c770255ccbe02d5dad2
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
88a1fc3bfb49d61cdea189cb4f03c599e83a95e7 02-Mar-2017 David Christie <dnchrist@google.com> Create PackageManager.isInstantApp API to query whether
a given package name is an instant app.

Test: refactor existing codepaths retained

Change-Id: I6253fe8cc398d6547566d11043bffd1c4ffaa74a
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
95818dde0e66cb1f0b0790fcc1e78e3d82cfdf1f 08-Feb-2017 Todd Kennedy <toddke@google.com> Add API to track package changes

After any package install, removal or update, save the changed
package and update a global sequence number. At any point, apps
can query for the packages changed since a particular sequence
number.

If a package is changed multiple times, it is only included once
in the change list.

Bug: 33865505
Test: Create sample app to query for changes and see which packages are changed after performing certain operations
Change-Id: Ia4646035362b16a97110e05f3f909ce385b48428
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
42f56ba554f811d06cb8c4ba732263277cb47a7c 31-Jan-2017 Svetoslav Ganov <svetoslavganov@google.com> Add instant cookie APIs

This change adds APIs for instant apps to store cookie data
that is presisted across instant installs and across the
upgrade from an instant to a standard app. Standard apps
can use the cookie APIs but when they are uninstalled the
cookie is also deleted. The cookies are kept longer than
the instant apps as they are much smaller - 16KB by default.
We can change the cookie size via a system setting i.e.
after we ship we can increase size if needed.

We also add internal APIs to surface information about
installed and uninstalled instant apps which should be
used for showing them in the UI. For this puporse we store
the icon, permissions, and label of uninstalled apps. If
the app is re-installed we drop this meta-data but keep
the cookie around. If we have cookie data stored and the
signing cert of the app changes when it gets re-intalled
we wipe the cookie.

Test: CTS tests pass; hiddent APIs tested manually

Change-Id: If145c0440cc61a5303e2cbb70228d235d36037a5
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
8d59ccd32249e5186225f162f536b2202e6c5544 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on. am: 7b89a7b1f7 am: 7c230c6f3c
am: dd91db5515

Change-Id: I936449f717e3c2919622181c9068ec8a48b452ad
c7304188e4c89e99d515224ba6e6276b9590851e 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on.

BUG: 34240393
Change-Id: I68e55767a7da1d457a6cedd210aac9e339fb996c
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
cd7190d2d9f1dd1369ddd062c4b5363ac7a94d3f 24-Jan-2017 Suprabh Shukla <suprabh@google.com> Adding an api for apps to check whether they can install apps

Some apps may want to check whether they are trusted to install apps on
the device, so they can prompt the user to go to settings and mark them
as trusted before they do an intensive operation like downloading an
apk.

Test: cts-tradefed run cts -m CtsExternalSourcesTestCases

Bug: 31002700
Change-Id: Icd9d04daa157e6733decba245ec251ce4acd4122
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
1c1efdc62b2902b7162e238ae9533936a64b447f 12-Dec-2016 Svet Ganov <svetoslavganov@google.com> Platform support for static shared libraries

This change adds support for static shared libraries that
emulate static linking allowing apps that statically link
against the same library version to share a common
implementation. A library is hosed by a package in a standard
APK.

Static shared libraries have a name and a version declared
by a dedicated manifest tag. A client uses also a new tag
to refer to the static library it uses by specifying the
lib name, version, and the hash of the signing certificate.
This allows two apps to rely on two different library versions
and prevents impersonation of the shared library by a side-loaded
app with the same package name.

Internally apps providing static libs use synthetic package
name generated from the manifest package name and the library
version. This allows having different "versions" of the same
package installed at the same time.

An application cannot be installed if a static shared lib it
depends on is missing. A used shared library cannot be uninstalled.
Shared libraries can rotate certificates like normal apps. The
versions of these libs should be ordered similarly to the version
codes of the hosting package. Such libs cannot use shared user
id, cannot be ephemeral, cannot declare other libraries, cannot
rename their package, cannot declare child-packages. They must
target O SDK. Also they cannot be suspended or hidden or their
uninstall blocked. Generally, speaking policy regarding code in
static shared libs should be applied to the packages using the
library as it could have just statically linked the code.

We now have APIs to query information about the shared libraries
on the device in general. To clients static shared libraries are
presented as multiple versions of the same package which is how
they are declared and published. Therefore, one can have two
versions of the same package which means we need way to query
for and uninstall a specific version of a package. Also static
shared libs can depend on other static shared libs which are
versioned packages. To ease representation we add the concept
of a versioned package which should be used in the case of
static shared libs.

A client can see only the static shared libs it depends on and
more specifically only the versions it depends would be retrieved
by using the standard package manager APIs. There is a new
dedicated API to get info about all shared libraries which
would provide data about all static shared lib versions. Also
these libraries must use v2 signing scheme.

Test: CTS tests pass

bug:30974070

Change-Id: I4f3d537ee7a81f880950377b996e1d9d4813da5c
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
6e6b78204c19817ed3663d765b636b6aa0c906fe 11-Jan-2017 Bartosz Fabianowski <bartfab@google.com> Add install reason

This CL allows a reason to be specified when installing a package. The
install reason is a sticky piece of metadata: When a package is e.g.
installed via enterprise policy and an update is then manually
installed or sideloaded, the install reason will remain "policy."
The install reason is tracked separately for each user.

With this CL, two install reasons exist: "policy" and "unknown." Other
install reasons will likely be supported in the future.

Bug: 32692748
Bug: 33415829
Test: Tested manually with "adb install" / "adb uninstall"

Change-Id: I0c9b9e1b8eb666bb6962564f6efd97e41703cd86
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
ef7487c2803aab8ed737bd69bf3493a5bcdf874f 11-Jan-2017 Jeff Sharkey <jsharkey@android.com> Add API for apps to declare their "category".

Upcoming platform features need to cluster apps together into broad
categories to help summarize information to users. (For example,
when presenting battery, network, and disk usage.)

We are tightly limiting the set of categories to keep them easily
presentable to users when summarizing information. This feature is
not designed to be a general-purpose taxonomy, nor should it be
allowed to become one.

Older apps may not have defined a category in their manifests, so
allow the installing app to define a category on their behalf.

Test: builds, boots
Bug: 33815939
Change-Id: I785b882ee7c18072ef47d56e0fc19ad72888e1b7
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
24c4e73cb6e6d1ca1da0fba9e8ff01debeec26e6 15-Nov-2016 Kenny Guy <kennyguy@google.com> Allow overriding max profile in debugable builds.

Support a system property on debugable builds to
override the max number of managed profiles to
allow easier dogfooding of multiple profiles.
Support 3 different badge colours for managed profiles.

Bug: 30473760
Test: runtest -c com.android.server.pm.UserManagerServiceCreateProfileTest frameworks-services
Test: runtest -c com.android.server.pm.UserManagerServiceUserInfoTest frameworks-services
Test: manual - attempting to create 2 profiles with adb fails, passes once I set the property.
Change-Id: Ie7fb19048a04a01572666f229283152254d0ffc3
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
124716b109bb8658ecad1aaa1539195b555e832a 17-Nov-2016 Bartosz Fabianowski <bartfab@google.com> Wire up PM.getInstalledApplicationsAsUser(flags, userId) as hidden API

Settings needs to access a variant of getInstalledApplications() which
takes a |userId| argument. Since this is not currently exposed by
PackageManager, Settings calls into PackageManagerService directly. This
is ugly and breaks the regular abstraction layer hierarchy.

The CL fixes the problem by exposing the required variant of
getInstalledApplications() as a hidden API, analogously to what was done
before with getInstalledPackages().

Bug: 32692748
Test: Will be CTS-verifier-tested together with Settings
Change-Id: Id9c4e8e18524d312159821f1a4d5527263c7e950
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
25618bd60b395aa50939dd70c3ea479d122b31d9 03-Aug-2016 Sudheer Shanka <sudheersai@google.com> Revert "Add per-user versions of set{Component,Application}EnabledSetting."

This reverts commit 0e6bfff6c1ec17cf8f3cfb6e4853d3c0fa3ffb73.

Change-Id: I4eafa9fc052e9eba9e26fd32c09b5e759fe63b00
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
b1ad4f85757d69659eb43d4479b2f13d3408f398 20-Jul-2016 Sudheer Shanka <sudheersai@google.com> Add per-user versions of set{Component,Application}EnabledSetting.

Change-Id: Id63b233308e92a4c360f38d4728c519ac2131ff0
Fixes: 30230444
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
0eff15e30ee1914d70edb93c3c6f664e2abf2988 14-Apr-2016 Svetoslav Ganov <svetoslavganov@google.com> Disallow disable of the system shared libs.

bug:28173410

Change-Id: If731f2d90312a083bb940f83431ba3eccf213947
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
46f3148ab5156ebe8d80d56ca60bb575bd327b95 13-Apr-2016 Suprabh Shukla <suprabh@google.com> Added api to delete cache files for a given user

Added an api to delete application cache files for a specific user. This
allows settings to clear cache files for work profile apps as well.

Bug: b/25338468
Change-Id: I52d4944a7a03b6d63ad44dd6bb868aec62815eab
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
0ddc7beea377a36bcb9aac503975a968e7b19f3c 09-Jul-2015 Sudheer Shanka <sudheersai@google.com> Flush package restriction changes for a user.

Change-Id: I7c4481f820b6b368487d00de6c783e64cec99f4b
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
9b86b12c55895ec1d90281d16e1c240e0fced280 19-Feb-2016 Vadim Tryshev <vadimt@google.com> Adding getManagedUserBadgedDrawableForDensity() to PackageManager.

It allows badging an image regardless of of the user (no
user id parameter). The styling for managed users is applied.

This is useful for new cases where the existing functions
wouldn't badge the icon, but we need it.

Bug: 25192539
Change-Id: I2fd2f226f626fb2e6cda1cfe072013350e12b41c
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
b2dbbcd866b34920696a53bc66951cc05699c220 24-Feb-2016 Todd Kennedy <toddke@google.com> Revert "Revert "Remove deprecated methods / classes""

This reverts commit 5cbeb5902633646fbc0a1be252081e77aaaee7b4.

Change-Id: Id96010364d65e6131221ebbcc8ce5889a2da256c
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
8ee39320e64c39a51b761d1af3a2af3752a54ab5 26-Jan-2016 Andrei Stingaceanu <stg@google.com> Suspend packages - one call for multiple packages

Refactor setPackageSuspended into setPackagesSuspended. The rationale
is that the consumers of this API are likely to want to remove
multiple packages at once. Rather than calling the API N times, call
it just once.

The good part is that we already have the broadcast intent for
suspended packages take an array so only one broadcast. Less stress
on the system.

Another good part is that (right now) we only have one consumer of
this API and it will be easy to make changes once this CL goes in.

As a shell command, for consistency only allowed one package at
a time.

Bug: 22776761
Change-Id: Ic8b8cf64d0a288ea3a282bb7b72f9d663b3b0049
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
64926019ec2f194d8bbb938387cc43ee9a5a1f48 17-Feb-2016 Andrei Stingaceanu <stg@google.com> Merge "Suspend packages - new API for retrieving the suspended status" into nyc-dev
2f40e90aa663997fa7df1ecb11fbde1b72522c2a 12-Feb-2016 Andrei Stingaceanu <stg@google.com> Suspend packages - new API for retrieving the suspended status

Instead of always rebuilding the full ApplicationInfo for a
package when callers are only interested in the suspended status
add a new fast API in Packagemanager (which only checks the
suspended user setting for the requested package and returns
a boolean) and change the appropriate caller code too.

Bug: 26794775
Bug: 22776761
Change-Id: Ide8428ef734479360d5a8a75fd8e0ed8ddf2da7a
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
c262ff1a96632aa6fd2eea7c8244e43d21743a27 16-Feb-2016 Jeff Sharkey <jsharkey@android.com> Add feature versions for devices and apps.

We're starting to see more instances of device features that will
increment separately from the SDK API level, such as camera HAL,
GPU capabilities, Bluetooth, and other hardware standards.

This change adds the ability for device features to specify a
version, which is defined to be backwards compatible. That is, apps
requesting an older version of a feature must continue working on
devices with a newer version of that same feature.

When a version is undefined, we assume the default version "0".

Bug: 27162500
Change-Id: If890bf3f3dbb715e8feb80e7059a0d65618482ea
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
88f19731d666fc862ecbbff3508efa1ec3dca89b 10-Feb-2016 Svet Ganov <svetoslavganov@google.com> Fix build

Change-Id: I7c0601f873e37c7ebf71068ba81366704672bd70
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
b48f2ce5a4c3d24077cc8fd70a0c6432d9544285 22-Jan-2016 Selim Cinek <cinek@google.com> Fix build by adding missing method

Change-Id: I4309225f9c799237857ce4c8f7ae2f8667d0b8be
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
e2abe8e77aa1946d843e1ee54ee719459fa8e31d 09-Jan-2016 Jeff Sharkey <jsharkey@android.com> Even more PackageManager caller triage.

Finish moving all UID/GID callers to single AIDL method that requires
callers to provide flags.

Triage AppWidgets and PrintServices, which currently can only live on
internal storage; we should revisit that later.

Fix two bugs where we'd drop pending install sessions and persisted
Uri grants for apps installed on external storage.

Bug: 26471205
Change-Id: I66fdfc737fda0042050d81ff8839de55c2b4effd
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
6852f8a6ac24dab52df10dedc600a305a0c00953 07-Jan-2016 Jeff Sharkey <jsharkey@android.com> Add flags to requests for package UID/GIDs.

This gives callers the ability to request details for missing
packages. Also add annotations for userId and appId variables and
start tagging their usage.

Change-Id: I63d5d7f870ac4b7ebae501e0ba4f40e08b14f3f6
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
2b2f9c87ff5b1d507381e67299622de54417df79 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Consistent naming for PackageManager methods.

When hidden PackageManager methods take a userId argument, they
should be named explicitly with the "AsUser" suffix. This fixes
several lagging examples so that we can pave the way to safely
start passing flags to new methods without scary overloading.

Also fix spacing issues in various logging statements.

Change-Id: I1e42f7f66427410275df713bea04f6e0445fba28
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
5633003f0f651d78354e5b3079e50fa205a256a3 21-Dec-2015 Alex Klyubin <klyubin@google.com> No need to pass digest of AndroidManifest.xml around.

When an APK is being installed, the full path to the file is
occasionally passed between processes. To detect changes to the file
during these handovers, the digest of the AndroidManifest.xml entry
could be passed around as well.

This security feature is no longer used and is no longer needed. APKs
should be installed using the modern Package Installer API
(android.content.pm.PackageInstaller).

Bug: 24542768
Change-Id: I2762634c85448e7adcd47ffc9a5294c021e127bd
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
8f0db97915d645587fd320362592b15592b66b16 26-Nov-2015 Andrei Stingaceanu <stg@google.com> Wire call to suspend a package

Adds APIs in DevicePolicyManager and PackageManager for allowing
a device admin to suspend a package. PackageManagerService sets
or unsets a new PackageUserState 'suspended' setting. Terminal
command to suspend/unsuspend has been added via
PackageManagerShellCommand (as root).

Next steps:
* use the new 'suspended' setting for denying access to start app
(probably in ActivityStackSupervisor)
* broadcast a PACKAGE_(UN)SUSPENDED intent for launchers to pick up
* remove app from recents (go further and kill it if it is running)
* erase existing notifications for this app

Bug: 22776576
Change-Id: I718b3498f6a53cc0c6fdfb6d15031e53ddca4353
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
9f86b34f8308a132e91650920f1d58be0786d236 25-Nov-2015 Svet Ganov <svetoslavganov@google.com> Ephemeral cookie API

Add APIs for an ephemeral app to set a cookie which is a small
peice of data cached longer than the app itself. This is useful
for avoiding the user to login every time they use the ephemeral
app. The cookie is stored after an ephemeral app is uninstalled.
Normal apps or ephemeral apps upgraded to full apps can also use
these APIs with the difference that once they are uninstalled
the cookie is deleted.

The cookie size defaults to 16KB and is configurable by a global
settings which can be adjusted via gservices. Also eviction policy
is time based with a default of one month and is configurable by
a global setting which can be adjusted via gservices. If the cert
of the app cahnges (when ephemeral is installed, uninstalled and
installed again) the cooke is wiped to prevent data leaks.

This cahange also adds an API for apps to know whether they run in
an ephemeral mode since it this mode some APIs will not be available.
Another API exposed by this change is private for the system and
exposes all ephemeral apps - installed and uninstalled. Only the
system can call this API. When an ephemeral app is uninstalled the
system stores its name, icon, and permissions. When the app is
reinstalled or a full version is installed the permissions are
propagated.

Change-Id: Id4a73a7750bfbabda0bfcb9bf9018d2062e94367
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
11f0fef6b6a932ec54515f8e37a6c7b2b680328c 23-Sep-2015 Nicolas Prevot <nprevot@google.com> Add more methods that take a userId to PackageManager.

Add methods installPackageAsUser and installExistingPackageAsUser
and deletePackageAsUser and getPackageInfoAsUser.

BUG:23516394
Change-Id: I15e30d2ec45ab18c7f8c0ac02cfc617c50fedb44
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
bad9d212a9e9c4c9ec760db70928e5d10c92329f 29-Jul-2015 Svet Ganov <svetoslavganov@google.com> Remove dependencies on the package installer's package name

bug:22700053

Change-Id: I8540eb8577fbec84e1a67e31e1c31ba654c828a4
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
c885d912b78cfc7c5eb65c26fdf061fd6ca727d0 10-Jul-2015 Bart Sears <bsears@google.com> Fix the build.

Correct a typo.

Change-Id: I16131cf7c0ce17fa09dedc67264e8199482cd27e
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
a21eaf55fe5e0da99ee02d18d91219b749fdab36 10-Jul-2015 Svetoslav <svetoslavganov@google.com> Fix build

Change-Id: I1b56c07aa5b85662f25158156d2c0eff115e9544
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
39c818ea1f1fcbe249959202d796dcb6afa44ac8 07-Jul-2015 Deepanshu Gupta <deepanshu@google.com> Add a default PackageManager to BridgeContext.

Needed for EditText.

Change-Id: I6c831467659ce814e86c13e928a2b77c14e1c139
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java