0ad6283da79c5f5e7cda0dd10030b9d4be2cb6e8 |
|
19-Apr-2018 |
Jeff Sharkey <jsharkey@android.com> |
Protect usage data with OP_GET_USAGE_STATS. APIs that return package usage data (such as the new ArtManager) must ensure that callers hold both the PACKAGE_USAGE_STATS permission and the OP_GET_USAGE_STATS app-op. Bug: 77662908 Test: atest vendor/xts/gts-tests/hostsidetests/dexapis/host/ Change-Id: I7a85d959f1682d2bd5cf3684415e368fece88101
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
96212bca06842f223a0e9e377e2c00a2008c96a2 |
|
11-Apr-2018 |
Suprabh Shukla <suprabh@google.com> |
Review of suspend/unsuspend APIs Clarified the package extras bundle returned from getSuspendedPackageAppExtras. Moved the bundle arg to the last in LauncherApps.onPackagesSuspended and clarified the contents of the Bundle. isPackageSuspended(String) now throws a NameNotFoundException if the package is not found. Also, removed a permission check from isPackageSuspendedForUser. Test: builds, boots, existing tests: atest com.android.server.pm.SuspendPackagesTest Bug: 77518983, 77517955, 77507744, 77801528 Change-Id: I06b5f69f8f8a079c206863cb6122e90be58366cd
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
45b9e40a4f23f36be88f7474660e931b58aedf1e |
|
10-Apr-2018 |
Suprabh Shukla <suprabh@google.com> |
setPackagesSuspended now overwrites all the state Earlier setPackagesSuspended ignored the rest of the paramters when suspend state did not change. This was a problem because then there was no good way to update the other parameters without unsuspending the app, which is not desirable. Removed setSuspendedPackageAppExtras as now they can be update with this api. Also sending broadcasts when packages get unsuspended due to suspending package removed. Test: Existing tests pass: atest com.android.server.pm.PackageUserStateTest atest com.android.server.pm.SuspendPackagesTest atest com.android.server.pm.PackageManagerSettingsTests Bug: 77522553 Change-Id: I72a3c228d3d65c430e242da97b2bc6997ec6a135
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3c3af1406e9fc8afbe9593df6c23fe3d4daa6b42 |
|
30-Mar-2018 |
Suprabh Shukla <suprabh@google.com> |
Activity interceptor dialog for suspended apps Added an AlertActivity to intercept the start for an activity belonging to a suspended app. More details will be shown if the suspending app also defines an activity to handle the API action SHOW_SUSPENDED_APP_DETAILS. Test: Added tests to existing classes. Can be run via: atest com.android.server.pm.SuspendPackagesTest atest com.android.server.pm.PackageManagerSettingsTests atest com.android.server.pm.PackageUserStateTest Bug: 75332201 Change-Id: I85dc4e9efd15eedba306ed5b856f651e3abd3e99
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
1c73370df4c6b8399a264923e1f370b64019fca3 |
|
28-Mar-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Sending MY_PACKAGE_SUSPENDED to suspended apps" into pi-dev
|
2fd43ba63ef336f9e0edc9c742b85507c46b3bc9 |
|
23-Mar-2018 |
Suprabh Shukla <suprabh@google.com> |
Sending MY_PACKAGE_SUSPENDED to suspended apps Added new broadcast actions MY_PACKAGE_SUSPENDED and MY_PACKAGE_UNSUSPENDED, which are sent to the package that is affected by the suspend state change. A suspended package also receives a bundle of app extras to pass more information. This makes it easier for packages to deal with being suspended/unsuspended. Also updated some existing documentation to make it clearer. Test: atest com.android.server.pm.SuspendPackagesTest Bug: 75036698 Change-Id: I772cf0c023669bc946e07ced4ebccfa74f6835b2
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3ff20e2257c3d7158289ff3252e53cd5dfef85f4 |
|
26-Mar-2018 |
Benjamin Franz <bfranz@google.com> |
Merge "Expose hidden API to check whether a given package is state protected" into pi-dev
|
6affc07065083468c5580b04d3572ef6acbb138c |
|
22-Mar-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "APIs to suspend packages with SUSPEND_APPS permission" into pi-dev
|
021b57ab8df0927aa1f78a2f3bb01d5e70594b1a |
|
09-Mar-2018 |
Suprabh Shukla <suprabh@google.com> |
APIs to suspend packages with SUSPEND_APPS permission Changed the existing hidden api setPackagesSuspendedAsUser to a system api setPackagesSuspended that can be called by apps with either MANAGE_USERS or SUSPEND_APPS permission. Additionally, the suspending app can now specify optional extra information meant to be used by the suspended apps and the launcher to deal with this state. The following other APIs are added: - isPackageSuspended(): Apps can query whether they are in a suspended state - @SystemApi getPackageSuspendedAppExtras(String): Apps with permission SUSPEND_APPS can get the appExtras passed to PM when suspending the app. - @SystemApi setPackageSuspendedAppExtras(String, PersistableBundle): Apps with permission SUSPEND_APPS can update app extras for a suspended package. - getPackageSuspendedAppExtras(): Apps can call to get the appExtras passed in to PM when they were suspended. Test: Can be run via: atest com.android.server.pm.PackageManagerSettingsTests atest com.android.server.pm.PackageUserStateTest atest com.android.server.pm.SuspendPackagesTest Bug: 74336673 Change-Id: I3b9ed2c8478b34ee2e8986f5f5fddb2839d102e3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7cc9a817d4a0e2d0dc10f982b54f855351432a82 |
|
22-Mar-2018 |
Benjamin Franz <bfranz@google.com> |
Expose hidden API to check whether a given package is state protected Bug: 75997475 Test: manual Change-Id: I5e0da781af6d148aed2247175e8ee5d9f244ebe1
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
18e3eb816887156f40def1c14db434ddde9ec245 |
|
10-Mar-2018 |
Philip P. Moltmann <moltmann@google.com> |
Add SoundTriggerDetectionService The service is meant to replace the PendingIntent based API. Once all users of the PendingIntent based API switched the PendingIntent based API will be removed. To have as little as possible impact on the whole SoundTrigger framework the RemoteSoundTriggerDetectionService class implements the same interface as the PendingIntent based class. Hence the exising code has very little change. Further once the old code can be removed the amount of changed (and added) code is limited. The RemoteSoundTriggerDetectionService -> SoundTriggerDetectionService is a vanilla as possible service implementation. The special behaviors are: - The system holds a wakelock while service operations are in progress and the service is bound as foreground. Hence the service can e.g. listen to the microphone. - Service operations have a certain amount of time they are allowed to run. Once every operation is either finished or the the operation exceeded the allotted time, the system calls onStopOperation for each still pending operation. This is a similar model as for the commonly used JobService. Please note that if the time allowed for an operation is 15s and op1 was run as 0si, and op1 was run at 5s, the service is allowed to run until 20s. Hence _both_ onStopOperations will happen at 20s. This is done for ease of implementation but should not give the service more power than calling onStopOperation exactly 15s after each operation is triggered. - If an operation is done before the allotted time is reached, the service can declare the operation as finished manually by calling onOperationFinished. This is a call back into the system, hence a 'client' binder is sent to the service. If the operation is finished by calling this method onStopOperation will not be called. - As the service instance might be killed and restored between operations we add a opaque bundle 'params' to each operations. The users of the API can use this to send data from the start command to the operations. It can also just be set to null. The params are not meant to store changing state in between operations. Such state needs to be persisted using the regular methods (e.g. write it to disk) - A service can be used for multiple recognition sessions. Each recognition is uniquelity defined by its sound model UUID. Hence each operation gets at least tree arguments: Operation ID, sound mode UUID, params - As a small optimization the params are cached inside of the service instance. The time allowed for each operation is in a @SystemAPI global setting, so the service can make sure it finishes the operations before they are stopped. It might take some time to deliver the operations via the binder, hence it is not recommended to try to use every last ms of allotted time. Test: atest SoundTriggerDetectionServiceTest (added in separate CL) atest android.provider.SettingsBackupTest Change-Id: I47f813b7a5138a6f24732197813a605d29f85a93 Fixes: 73829108
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e21a1d08931d6aa311bb479b9345f10ab44de35f |
|
16-Feb-2018 |
Tony Mak <tonymak@google.com> |
Blue work profile badge - Blue is the new orange 1. We are tinting the case rather than the circle 2. Use blue instead of orange Test: Checked the following places 1. Notification badge 2. Launcher icon 3. Widget preview 4. Share sheet 5. Recents 6. Settings -> Google 7. Cross profile switching 8. Customized shared sheet BUG: 73815682 Change-Id: I869aa3a041644faf772810c9ab1c3d8e0f745451
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
700feef8a60e06784d28d1db9502e650df854cad |
|
15-Feb-2018 |
Makoto Onuki <omakoto@google.com> |
Shortcut permissions for default text classifier - Add two shortcut related permissions as SystemAPI for the default text classifier. - The default text classifier package name still comes from the system resource. Bug: 73083596 Bug: 71555985 Test: atest CtsPermission2TestCases Test: Manual test with a test package, with the following in config.xml <string name="config_defaultTextClassifierPackage" translatable="false">com.example.android.pm.shortcutlauncherdemo</string> Change-Id: I19081d9d6ba0b33eb25d19aa55b4fe2f26a75897
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ad357d1839760849fcbcb8cbdce34003e8831acd |
|
02-Feb-2018 |
Jeff Sharkey <jsharkey@android.com> |
Pass in the user defined by Context. The majority of Manager-style classes already use Context.getUserId() when making calls into the OS, so clean up the remaining callers to unify behind this strategy. This gives @SystemApi developers a nice clean interface to interact across user boundaries, instead of manually adding "AsUser" or "ForUser" method variants, which would quickly become unsustainable. Test: builds, boots Bug: 72863821 Exempt-From-Owner-Approval: trivial changes Change-Id: Ib772ec4438e57a2ad4950821b9432f9842998451
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
233a0b14ca1158b9844cd127d0beabfc3d601c1c |
|
29-Jan-2018 |
Todd Kennedy <toddke@google.com> |
Revert "Minor LoadedApk refactoring." This reverts commit 7541ca4d1aa48e3110187a83a8dccbfa72084148. Change-Id: I2a6aa5038870c32c4145436f0463092c9b82dd23 Bug: 71501570 Test: manual
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
064f16638be7304e589177386aa09f542a07ff88 |
|
24-Jan-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Add API to expose signing certificate proof-of-rotation."
|
5cdda3425ccf3c62e400a1646615f4479a8266af |
|
19-Jan-2018 |
Daniel Cashman <dcashman@google.com> |
Add API to expose signing certificate proof-of-rotation. With the addition of APK Signature Scheme v3, the platform now can support key rotation by using the proof-of-rotation provided by the new scheme. Create a new API which allows checking of the entire provided history of an APK's signing certificates, not just the current signer. This should allow for changes of APK signing certificates without fear of losing access to resources that would have been provided under the old signing certificate. Change getPackageInfo(GET_SIGNATURES) to return the oldest signing certificate in the chain so that apps which do programmatic checks, but are not updated to use the new API, still get the same information they would have gotten had there been no rotation. Bug: 64686581 Test: Builds, boots. Change-Id: I8982fd4cce60f5d85a6180d157a6e2a661b1a6d7
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7ee1a7acc4d3ff8d05aaa76ba7665fdef9f315ec |
|
05-Dec-2017 |
Roberto Perez <robertoalexis@google.com> |
Adding a new category to mark car-optimized launcher activity Test: TBD Bug: 70681347 Change-Id: I81ea7f9f3021e8a9d25fa980a8687d66765469c5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
1ab3d6e56b56fe0cfe31e437326b5cbc66bdb361 |
|
07-Dec-2017 |
Ben Gruver <bgruv@google.com> |
Implement harmful app warning at activity launch Bug: 63909431 Test: manual Change-Id: I8a5497421cb8130af8cdd5129b0f6e1707a01e36
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
79c238ada6e7072f62f807781d58d314ed2f17a9 |
|
14-Dec-2017 |
Philip P. Moltmann <moltmann@google.com> |
Use modern install method in backup service Test: adb backup -apk myApp -f backup ; adb restore backup Change-Id: I2bbcb0487ecc525a6dc8a2693b15ce624db275b0
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7541ca4d1aa48e3110187a83a8dccbfa72084148 |
|
24-Oct-2017 |
Jeff Hamilton <jham@google.com> |
Minor LoadedApk refactoring. - Rename varaibles holding LoadedApk to make the code easier to read. - Move resource creation into LoadedApk, consolidating the logic. Test: manual Change-Id: I6bdc70482fbbb346ff694ada528ded18d3a63ef7
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
45f8b29ce0ca9f80c586850c4be3a1e552bc6c2f |
|
08-Nov-2017 |
Calin Juravle <calin@google.com> |
Add SystemApis to expose runtime profile information The API allows a system apps which acquired {@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime profiles of installed packages. The API is implemented in a new service class (AndroidRuntimeManager) accessible from the context using context().getPackageManager().getAndroidRuntimeManager(). The main functionality is exposed as a one way call into the AndroidRuntimeManager with the result being posted on a callback. The profile is available to the caller as a read-only ParcelFileDescriptor. This CL only adds the API interfaces and validation. It does not fully implement the functionality. oneway void snapshotRuntimeProfile(in String packageName, in String codePath, in ISnapshotRuntimeProfileCallback callback) Bug: 30934496 Test: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases Change-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f86d375437720dea68a1acc08c2e5aab77b45e56 |
|
29-Nov-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Fix user color overlay is not applied"
|
213955e5622dd444ce2ada0f6de7dd92cc044dcb |
|
23-Nov-2017 |
Tony Mak <tonymak@google.com> |
Fix user color overlay is not applied Resource overlay is now done in runtime with non-system resources object. Amend getDefaultUserIcon to take resources object as parameter. BUG: 69355037 Test: Factory reset, verify that overlayed color is used in multiple places, including keyguard, the bar under quick settings and Settings app. Change-Id: I20b0527bdcb2eb38e8bea6a05f53eea1edcba932
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
b13f15332e5279d53afa9af2c6835e2476daa655 |
|
14-Nov-2017 |
Philip P. Moltmann <moltmann@google.com> |
Remove one legacy install path Also removed everything needed only for this path Test: Installed app via package installer, adb, google play store Bug: 65261282 Change-Id: Ia8a03fa5900687cd2adf844ba7e6c07e0537382e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9da8b8a7fc8c68c17e1bf8cce24e2f73abe5138e |
|
26-Jul-2017 |
Todd Kennedy <toddke@google.com> |
Add new API to retrieve app names in a batch Change-Id: I57e5c132bc58a32d70007a7a105775b526ff7bb9 Fixes: 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
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
436b901dbb67d580468d0f78a95faffa40d74f64 |
|
28-Jul-2017 |
Svetoslav Ganov <svetoslavganov@google.com> |
Report permission flags for all protections based on SDK am: adb8c522a8 Change-Id: Ia30269ec2097d5978ae3e0b3930a38b3f4441ea4
|
adb8c522a84b5c7531b009b7a8d4c854ca7dee08 |
|
28-Jul-2017 |
Svetoslav Ganov <svetoslavganov@google.com> |
Report permission flags for all protections based on SDK We added a couple of protection flags that also apply to normal and dangerous permissions. These flags are folded in the protection level breaking apps that directly and compare against the protection constants. Apps that target older than O SDK don't get protection flags folded into the protection level. Test: All permission tests pass Added a new test to ensure no protection flags reported for normal and dangerous permissions Change-Id: I87b10a7695d8ecfa7156525d6f3d101fc0639513 bug:62755026
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
076d6f76698b90903496c8da55cc7bfc72fd72c3 |
|
28-Jul-2017 |
Bart Sears <bsears@google.com> |
Revert "Report permission flags for all protections based on SDK" am: 784b56e1e6 Change-Id: Ice7dde53c5613f48d013424a7e99203fd854e532
|
784b56e1e64049d3bf81b7d8fa8c1ae3408c5886 |
|
28-Jul-2017 |
Bart Sears <bsears@google.com> |
Revert "Report permission flags for all protections based on SDK" This reverts commit 852cf98cb8a4b9b56da84a96708c087996e119d2. Change-Id: I62763bf85ec95a02a245c6b503aa34bb0e9d997a
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3cf283558a4f05cca01af4bb8de71b411995146e |
|
28-Jul-2017 |
Svetoslav Ganov <svetoslavganov@google.com> |
Report permission flags for all protections based on SDK am: 852cf98cb8 Change-Id: I6e87c8f40fa466f2a50f41549be41ea4fb598824
|
852cf98cb8a4b9b56da84a96708c087996e119d2 |
|
27-Jul-2017 |
Svetoslav Ganov <svetoslavganov@google.com> |
Report permission flags for all protections based on SDK We added a couple of protection flags that also apply to normal and dangerous permissions. These flags are folded in the protection level breaking apps that directly and compare against the protection constants. Apps that target older than O SDK don't get protection flags folded into the protection level. Test: All permission tests pass Added a new test to ensure no protection flags reproted for normal and dangerous permissions bug:62755026 Change-Id: I72547b0146e6b6919803e33ff64b7208c4a255ad
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
b562e539504c3eb72d1200a0e3dc67e9b2f0409b |
|
31-May-2017 |
Jeff Sharkey <jsharkey@android.com> |
Merge commit '06951ac74d9e74b29037b0a5d8e3b9ad85983b5b' into mergeit am: 3c3d9d8158 Change-Id: Ia4c7f1792c9b6e8e72b4ffe742249b02b82d0817
|
ddff807b762a8a455287abc97aea8f97b98fb104 |
|
26-May-2017 |
Jeff Sharkey <jsharkey@android.com> |
Consistent "low storage" behavior. When answering the question "how much space is free", use the same logic for Settings UI and StorageManager.getAllocatableBytes(). That is, the reported free space is usable bytes plus any cached data the system is willing to delete automatically. This does *not* include any reserved cache space, since we don't want abusive apps to penalize other well-behaved apps that are storing their data in cache locations. Callers freeing cached data need to now explicitly request defiance of the reserved cache space. (Most callers are already doing this by using FLAG_ALLOCATE_AGGRESSIVE.) Rewrite the core logic of DeviceStorageMonitorService to understand this new "reserved" cache space, and to be easier to understand. It also now handles cached data on adopted storage volumes, which had been ignored until now. Also fix bug where we had skipped "low" broadcasts when the device skipped directly from/to "full" state. Bug: 38008706 Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest Change-Id: Icbdcf3b52775f7ada1ceaeff2f96094c8d8052f9
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
647dc845609a45aa39634e8c4e9c90797994b2b5 |
|
16-May-2017 |
Svet Ganov <svetoslavganov@google.com> |
Merge "Support recursive static shared lib dependency" into oc-dev am: e04765998e am: 8adfc2cac7 Change-Id: Ib07a986a02372d40ce93b9beb8e1ac74f0d3561b
|
e04765998e32dc3e098becfdfa3d19045926b541 |
|
16-May-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Support recursive static shared lib dependency" into oc-dev
|
58c99f02077d8279e88a89d8e6fe413af5692f87 |
|
15-May-2017 |
Svet Ganov <svetoslavganov@google.com> |
Support recursive static shared lib dependency Test: Updated the static shared lib CTS tests to verify that All static shared lib CTS tests pass bug:35359862 Change-Id: Id4a0dabbc9d8e98962e92b6f537f6ffffa63b585
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
51829ae72f5785845cd7a24f448bdaab5091dd28 |
|
12-May-2017 |
Sunny Goyal <sunnygoyal@google.com> |
Merge "Setting Session commited broadcast when an existing apk is enabled for a different user" into oc-dev am: fc157e702f am: 1e0a89055d Change-Id: Ifefcd98f5df6a3175ad2d25aa058555ed02a4854
|
a31a74b993578573eca33ca68762a98c6f6cb904 |
|
12-May-2017 |
Sunny Goyal <sunnygoyal@google.com> |
Setting Session commited broadcast when an existing apk is enabled for a different user Test: Manual tests and CTS Bug: 38204385 Change-Id: Ic3bddbc2e6070c11b11f0685077db7737f2b8849
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3d2af7f72a2e6be36f0f2cbf899ad4d0bde451b4 |
|
20-Apr-2017 |
Calin Juravle <calin@google.com> |
SystemApi for dex module registration PackageManager#registerDexModule() allows apps which can call system apis to register a dex module with the Package Manager. The PM may optimize the modules on the spot if needed. This is particular useful for shared dex modules (e.g. chimera modules) which are loaded in multiple processes. Test: adb shell am instrument -e class 'android.content.pm.PackageManagerTests' -w 'com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner' Bug: 37290820 Change-Id: I9ea8f937a76d2549a29e90a6c84c53c2e44a1ee4
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
fb4fb03cc3aa273c763df97f99eae1ba11594997 |
|
20-Apr-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Address API council comments" into oc-dev
|
0d277a7b189c8807d142b69dd8d00b17978a49a5 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
345ffa5421f4158b9c30439b9f18aed7b61aaea9 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
bab3075e2ee85de8b0ac6c3961eae5156a95c699 |
|
13-Apr-2017 |
Sunny Goyal <sunnygoyal@google.com> |
Creating a common class for loading drawables and handling various badging Test: Manually tested on device Bug: 36591157 Change-Id: Ic847537d416650015cecaeb68f47f7f032e0dbaa
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
801e65905b267014f390439cf8388b6ccc854e18 |
|
12-Apr-2017 |
Todd Kennedy <toddke@google.com> |
expose the instant app installer component Bug: 35873804 Test: TreeHugger Change-Id: I4d962927587bb10833bfe3c3db27fdceab668fc3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a82b62678a0e1eaba50ec5adce93862683dac065 |
|
22-Mar-2017 |
Adam Lesinski <adamlesinski@google.com> |
Themes: Apply themes to system_server safely Creates a new UI Context for UI based operations. This UI Context is wired up the same way a normal app Context would be, and is subject to change when overlays are enabled/disabled. For this reason, only UI should be using this new Context. All other operations should be using the original system Context so that changing themes don't impact the regular operations of system_server. Also added some sanity checks at key places where we show UI (ShutdownThread, BaseErrorDialog). Bug: 36059431 Test: $ adb shell am crash com.android.settings Test: Observe crash and power off dialogs are blue with PixelTheme Change-Id: I87227ee2e0be1e72dcde8f482b37725cb687260b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
336ae5b6161454304ef09be715505007c7a7da56 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
6f4b2a3039ac353e1b0bcebfdebba5060ad38cf3 |
|
21-Mar-2017 |
Jeff Sharkey <jsharkey@android.com> |
Shame developers that are calling hidden APIs. Test: builds, boots Change-Id: Id3edf1a7890f7dbc4cff2a2699bbeabc247c6e90
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ab53289c593aad60eddbe1ffc73402ac1f92c112 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
e6306c485f0d43ce094a708c76bb9f5ea9703fd3 |
|
08-Mar-2017 |
Jeff Sharkey <jsharkey@android.com> |
Throw at getPackageSizeInfoAsUser() callers. But only when targeting O; if they're old apps then log and pass a soft failure message to their callback. Test: builds, boots Bug: 35749102 Change-Id: I6c6b5a37c23669e7b1ed3c30207bca610821eb1f
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
dd3adc339808ebb5eb2d1e73a8b0a0bd09f9455a |
|
08-Mar-2017 |
Tony Mantler <nicoya@google.com> |
Revert "Throw at getPackageSizeInfoAsUser() callers." This reverts commit 597c93454699eaed99d6b417080417d75777e72d. Change-Id: I7d966ef973050ef791403062774fd7f576a65388
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
597c93454699eaed99d6b417080417d75777e72d |
|
08-Mar-2017 |
Jeff Sharkey <jsharkey@android.com> |
Throw at getPackageSizeInfoAsUser() callers. But only when targeting O; if they're old apps then log and pass a soft failure message to their callback. Test: builds, boots Bug: 35749102 Change-Id: Ifecf7108397444e88763f404a4b5f3fdc48443bb
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
31a16551910492321a6f7c291eb33e1458f39f0a |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
32757292030117e3abda2bb2a3eb349f646c9fa8 |
|
22-Feb-2017 |
Makoto Onuki <omakoto@google.com> |
Allow querying providers with a specific metadata. CP2 will need it to scan GAL providers faster. Test: Manual test with CP2 under development Bug: 35388445 Change-Id: I1202420078b1bbe48f6eb4bb9e3f705c71df9c0c
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
be0b8896d1bc385d4c8fb54c21929745935dcbea |
|
15-Feb-2017 |
Todd Kennedy <toddke@google.com> |
Revert "Revert "Per user setting for instant app"" This reverts commit be9ffa15af9e1906e9ffb505768328d62d4a3793. Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest Change-Id: Ib21321cf157a79890de487060a093840f7182047
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
626ffb455650e334fff3fe407a31aa0fa437fdf2 |
|
15-Feb-2017 |
Guang Zhu <guangzhu@google.com> |
Merge "Revert "Per user setting for instant app""
|
be9ffa15af9e1906e9ffb505768328d62d4a3793 |
|
15-Feb-2017 |
Guang Zhu <guangzhu@google.com> |
Revert "Per user setting for instant app" Bug: 35390781 This reverts commit 2f5811dcfd840e149851a9333e27ef3cdddf7a46. Change-Id: Ibb1c8dacbdc6908fc7fa2bc5dca664f2455162bf
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
bf92b812dbe1c762ff2381ca4ba14290a5ece8b8 |
|
15-Feb-2017 |
Todd Kennedy <toddke@google.com> |
Merge "Per user setting for instant app"
|
2f5811dcfd840e149851a9333e27ef3cdddf7a46 |
|
30-Jan-2017 |
Todd Kennedy <toddke@google.com> |
Per user setting for instant app The same application can run as either an instant app or an installed app. Store this setting per-user instead of based upon the install location. Bug: 25119046 Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest Change-Id: Iff565bb1ac10d631499f0bd0f69b401cb073c10e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9106c64bf3ca60d0b867fa1f2d78d3b19c9e4178 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
096d304ae3d85c1bfcda1a1d9cd4eb13d0815500 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
7d0f5e8d401fce5bc7bda836d1dd89a31056cbcf |
|
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
|
7b89a7b1f7c208eaac19290b34c5f505a9fd5eba |
|
27-Jan-2017 |
Paul Navin <paulnavin@google.com> |
Add hidden API for whether permission review mode is on. BUG: 34240393 Change-Id: I68e55767a7da1d457a6cedd210aac9e339fb996c
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
aef2513c7157a28236d097a81fe74d7ba6b710c9 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
6788212d17f54475ca9c3dd689a863e031db868f |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
54df14956eb890bcd92ffa1590705f8b417ccf5b |
|
20-Jan-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Disable moving 3rd party apps to internal if not allowed."
|
022b8eaa1def76dca0ac9b409065588f55c71597 |
|
16-Dec-2016 |
Yao Chen <yaochen@google.com> |
Disable moving 3rd party apps to internal if not allowed. ag/1633903 added config_allow3rdPartyAppOnInternal flag to specify whether 3rd party apps are allowed on internal storage. We need to respect the flag when moving apps between storages. Bug: 30980219 Test: Added ApplicationPackageManagertest Change-Id: I0f8e76467b5071d70f40da28c2087e689c049c06
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a34f53f61be31b7171d6cbcb12490ee143acffff |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
9bc89af3f1bce8003ee4f93b89a1770d8f5b9cc9 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
02c8990bd6125f05cb32561727d559dc9327a601 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
1133424c2bf28640299a6de375aaa19cfcb407b5 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
cc6418feb7d5d13fd5062d9fd469650651eeda00 |
|
13-Oct-2016 |
Sudheer Shanka <sudheersai@google.com> |
Move ApplicationThread to aidl. Bug: 30977067 Test: Existing tests are passing, dump commands still working. Change-Id: Iecb382e8720dfb1b6b707272497e3793e6995edb
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
53fafdfbe76d3eeb0fe6782873a03869167a65b0 |
|
03-Aug-2016 |
Adam Lesinski <adamlesinski@google.com> |
ResourcesManager: Return null on failure to create Resources A lot of calling framework code expects a null value on failure, and didn't catch the previous exception. There were some strange corner cases where previously a null value was not checked for in framework code, allowing the null Resources object to be returned to the caller. Introducing an exception changed the semantics and can crash certain apps. Bug:30422475 Change-Id: I51d34ae43c9ec605a8790989c56cf85b815ff5b8
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
c82f28a91370a2b01d36e35ca149a3da58b38f60 |
|
09-Jun-2016 |
Adam Lesinski <adamlesinski@google.com> |
Throw proper exception in ResourcesManager In M we would bubble up a NameNotFoundException when failing to load an assetmanager from another application. We switched to throwing an IllegalArgumentException, which isn't something anyone should handle. This change has ResourcesManager throw Resources.NotFoundException, which callers like ApplicationPackageManager can catch and rethrow with the appropriate checked exception. This adds more detail to errors than we had in M. Bug:28876344 Change-Id: I250aeef8a4ccfd90c6abef2243edc1c5337ebde9
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a9c2500a6863dabdd786f17a25ce0bf3683109a2 |
|
14-Apr-2016 |
Svetoslav Ganov <svetoslavganov@google.com> |
Disallow disable of the system shared libs. bug:28173410 Change-Id: If731f2d90312a083bb940f83431ba3eccf213947
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
78c9eb8947538f63d2e06684663d400991dfff8f |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
b2c2e452e5bf49ee82929972631761310159016d |
|
25-Mar-2016 |
Svetoslav Ganov <svetoslavganov@google.com> |
Guard against a NPE when using ParceledSliceList bug:27558595 Change-Id: Idaa3b37d1d3bbb10b93e08ef1976758fde0b0ce3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
8673b2899e775014336efff44ea88dcac2b25bdd |
|
21-Mar-2016 |
Tony Mak <tonymak@google.com> |
Revert getUserInfo change and add isManagedPorfile(int userId) Bug: 26469166 Change-Id: I60b70170ddc80432fc8f638b1f63c4e9f5212785
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f9124ecad9ec20f572df8cdca6f985ef3f97210d |
|
17-Mar-2016 |
Benjamin Franz <bfranz@google.com> |
Merge "Flush package restriction changes for a user." into nyc-dev
|
4dc008cda2980fabb6acbf8a3b7096d1090ee36f |
|
16-Mar-2016 |
Tony Mak <tonymak@google.com> |
Fix NotificationListenerService fail to mirror work notification 1. Instead of getting application info in runtime, just retrieve the one in the context to avoid cross user operation. 2. Functions in PackageManager that retrieve badged icon now return badged icon if the targer user is managed profile instead of checking whether target user is a managed profile of the user in mContext. 3. Relax the restriction of getUserInfo, if the caller is asking a user in the same profile group or having the manage user permission, we let it go. Bug: 26469166 Change-Id: Ia1ffc5743f7d94bd489cdb7571eaed51499ebdd9
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
bbb3ff2b2a29d42771a9ce2fe2d6f576cff62617 |
|
09-Jul-2015 |
Sudheer Shanka <sudheersai@google.com> |
Flush package restriction changes for a user. Change-Id: I7c4481f820b6b368487d00de6c783e64cec99f4b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
082614c6a57a115ee0c5975e3579bf34a178c0f8 |
|
04-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
Cache per-Activity Resources objects Each Activity has a Resources object whose underlying state changes when a configuration change occurs, both global and for that activity only (multi-window). Views and other clients of the Resources object can safely cache it knowing that they always have a reference to the most up-to-date resources. This applies to Resources.Theme objects as well. Bug:26854894 Change-Id: Ifd3da5a1086e17f747dfc265a447fe92a3a5c692
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
d5896630f6a2f21da107031cab216dc93bdcd851 |
|
05-Mar-2016 |
Jeff Sharkey <jsharkey@android.com> |
Move more PM calls to ParceledListSlice. Since the data returned by these calls can grow unbounded based on various GET flags, we need to switch 'em over. Bug: 27391893 Change-Id: Ie849ca30dbaaa91158da4c83675657715629a0ee
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
dfa93abf2f64237007af8e72c4a4114a5258e858 |
|
04-Mar-2016 |
Todd Kennedy <toddke@google.com> |
Fix javadoc Make referenced constants @SystemApi and change argument name to match its actual meaning. bug: 25441401 Change-Id: I4277799b95f394edb4305be05f57437717a86691
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
66ae66a7f74ee835807a141a216afbb254664510 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
093622f089a84298b5cfaab839eef6678292de5d |
|
02-Mar-2016 |
Vadim Tryshev <vadimt@google.com> |
Revert "Adding getManagedUserBadgedDrawableForDensity() to PackageManager." This reverts commit 9f68f41a5866e1feb810b16c769705c10e850d5d. Caused breakage. Change-Id: I441737f61f6f38ed9f440211b52bbac0f74982e3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9f68f41a5866e1feb810b16c769705c10e850d5d |
|
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: I20ca2d7265cbc3a47c050a72ec1843cc0a481c74
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a67932374dbbfbe4c6440d223fc7922b313dd957 |
|
24-Feb-2016 |
Todd Kennedy <toddke@google.com> |
Revert "Revert "Remove deprecated methods / classes"" This reverts commit 5cbeb5902633646fbc0a1be252081e77aaaee7b4. Change-Id: Id96010364d65e6131221ebbcc8ce5889a2da256c
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f8880561e67e1da246970b49b14285efd4164ab1 |
|
26-Feb-2016 |
Jeff Sharkey <jsharkey@android.com> |
When system server goes down, crash apps more. Similar to first patch, but now using new "rethrowFromSystemServer()" method which internally translates DeadObjectException into DeadSystemException. New logic over in Log.printlns() now suppresses the DeadSystemException stack traces, since they're misleading and just added pressure to the precious log buffer space. Add some extra RuntimeInit checks to suppress logging-about-logging when the system server is dead. Bug: 27364859 Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
27b2e6978716f9886db40f4fcf2e060b50637ac5 |
|
26-Feb-2016 |
Jeff Sharkey <jsharkey@android.com> |
When system server goes down, crash apps. Apps making calls into the system server may end up persisting internal state or making security decisions based on the perceived success or failure of a call, or the default values returned. The reality is that if the system process just died, init will be along shortly to kill all running apps, so we should have no problem rethrowing the RemoteException as a RuntimeException. Bug: 27364859 Change-Id: If632cc36f68cd399a34de513b2d979abaa36fcaa
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
fe01ea05dd196acaf95a61e169f6b75654ae0875 |
|
24-Feb-2016 |
Todd Kennedy <toddke@google.com> |
Merge "Revert "Remove deprecated methods / classes"" into nyc-dev
|
5cbeb5902633646fbc0a1be252081e77aaaee7b4 |
|
24-Feb-2016 |
Todd Kennedy <toddke@google.com> |
Revert "Remove deprecated methods / classes" This reverts commit 9706c01f9b92cee64bb84782138735225c8588e0. Change-Id: I14c53ab140220e48f6728b1173ea58760bbeb7f9
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ca67844e0c6b564970b8d329009c0d110888a3fc |
|
24-Feb-2016 |
Todd Kennedy <toddke@google.com> |
Merge "Remove deprecated methods / classes" into nyc-dev
|
fc482c30b7a3c2cf7bc14d5c86de758a16f6433d |
|
17-Feb-2016 |
Makoto Onuki <omakoto@google.com> |
Merge "[framework] Don't allow apps on external storage to be active admin" into nyc-dev
|
f34db0a17ee035c165a4e81e9192f73d2455bd1c |
|
17-Feb-2016 |
Makoto Onuki <omakoto@google.com> |
[framework] Don't allow apps on external storage to be active admin Bug 27149287 Change-Id: I6d959d2e66dc0b19f78e6135fbdcf45ca8551958
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
eb84b1843a3f6805c6109c1d9d023550229a3fc5 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
5ae4e73ef0747c2d08a901f1a76d8fb8ee64a53a |
|
17-Feb-2016 |
Andrei Stingaceanu <stg@google.com> |
Merge "Suspend packages - new API for retrieving the suspended status" into nyc-dev
|
9706c01f9b92cee64bb84782138735225c8588e0 |
|
13-Feb-2016 |
Todd Kennedy <toddke@google.com> |
Remove deprecated methods / classes Now that we've moved the majority of system components to the PackageInstaller, we can remove the majority of the "installPackage" methods and the VerificationParams/ContainerEncryptionParams classes. There are still some lingering references to the two installPackage() methods left [both internal and external; play is using these methods via reflection]. Bug: 24542768 Change-Id: Ib65323d842d9f0e7fed60e37e6b5f103c94c859b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
355b232d7998cfc9b29d42a0356390e25191bcbd |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
115d2c189a46f535778d9dd0923f703ff2f888fe |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
d7b1f41109abee60ec8529369a85d84300b1d678 |
|
10-Feb-2016 |
Svet Ganov <svetoslavganov@google.com> |
Add an API to query the package name of the services shared lib The servcies shared lib contains components apps can invoke such as services to bind to, activities to start, UI choosers, etc. This lib is built from AOSP code but an OEM may chage its package name. For example, Google renames the package names for GMS apps from android.foo.bar to com.google.android.foo.bar. While we have more than one shared lib that are a part of the platform (currently shared and services libs) the serivces lib is the only one clients need to start components in, thus need to know its package name. This change adds an API to query the package name of the services shared lib. The API is hidden as currently the only clients are a part of the system. Change-Id: Ied48fa4819024522791764b22b3336d4f4b42cc3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
c9a0237f5f49f2ffa52affb1bfd3e190b2267f22 |
|
13-Jan-2016 |
Tao Bai <michaelbai@google.com> |
Run 32-bit app in multiArch APK. Bug: 26874366 Change-Id: I2c1fd1d036efe72b28b5fe996416df69a583959f
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e6ff946cd4f40a0d4f3de51b6554e07b8d3cee93 |
|
16-Jan-2016 |
Selim Cinek <cinek@google.com> |
Switched the work profile badge used in the notifications Change-Id: I62616f1ae8fcda9953853b9859c69a9f1e6f44ca
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
cd65448ccd13c4c2d0fe9e9623fec3a898ab9372 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
8588bc1ef1f020bbe4a24d46874f675708149a57 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
e06b4d1d9f718b9fe02980fea794a36831a16db2 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
31ffb442414bd9cf6c0225799d7d0c5409f3769d |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
1e2839188fb49575b86646d3aadb355c81ef9cc5 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
2acf063da08dfff69f184c9a6a90a7a5fe60d818 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
30a4e6d514773b0be4235a4448a6848e26505ff3 |
|
13-Oct-2015 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for 8cbd7c8a to master Change-Id: I54dd1dbf2fd93c474e79d3d7be1b0bb57aff9ab7
|
c88a2d5b33d35a66efe6152d03948639877c841e |
|
09-Oct-2015 |
Jeff Sharkey <jsharkey@android.com> |
Default location is "internalOnly" when undefined. When an app doesn't define installLocation, the default behavior should be to treat it as internal only. This matches all the published developer documentation. Without this, apps could be unwittingly be moved to adopted storage devices. Bug: 24771264 Change-Id: Iaf38ab45329aad6cb5d6deac81fb1781f680189b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
0e27c87af691bc53d320496bbffa58752608608d |
|
28-Sep-2015 |
Robin Lee <rgl@google.com> |
Call into PackageManager as mContext, not myUserId ApplicationPackageManager instances can (and sometimes are) created as another user from the one they run in. Example use: fetching the application icon for an app installed as another user. The occurrences that weren't doing this aren't ever called on a cross-user instance so it should be safe enough to fix all of them. Change-Id: Ia63f22942f35450e36a7b8da2bbf8eda360ef21a
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9a80e53b27cd1ca00364a30a0ad153c83000b9d2 |
|
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/base/core/java/android/app/ApplicationPackageManager.java
|
7d92c474986c0ed562310a99aebd4ed845027f8b |
|
23-Sep-2015 |
Nicolas Prévot <nprevot@google.com> |
Merge "Revert "Add more methods that take a userId to PackageManager.""
|
3355eca23e89045be068b39f5236cd43406a2a2d |
|
23-Sep-2015 |
Nicolas Prévot <nprevot@google.com> |
Revert "Add more methods that take a userId to PackageManager." This reverts commit 3b0fc3cf24e1fecdbc11808483c2109415ebfdd2. It breaks the build. I had missed other places that extend PackageManager. Change-Id: Iff012ed4ec8d2d32821586eca85fce55ae67f5b5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
daa838390cff13503b4eced2ea221daf187539d8 |
|
23-Sep-2015 |
Nicolas Prévot <nprevot@google.com> |
Merge "Add more methods that take a userId to PackageManager."
|
cc4bbeb76af92a8484fe05f37c4ff412b4c47ccc |
|
17-Sep-2015 |
Makoto Onuki <omakoto@google.com> |
Make DPM/DPMS unit-testable - Now all services that DPMS uses are injectable. - Introduce some wrappers to make static methods and final class mockable. (e.g. for Binder.getCallingUid()) - In unit tests we replace those with Mockito mocks, except we use a partial mock for PackageManager, because we use way too many methods of this and most of them are okay to use directly. - To install a partial mock to PackageManager, I needed to make ApplicationPackageManager @hide public non-final. - For a starter, added tests for DPM.setAmin(). Bug 24061108 Change-Id: I2afd51d8bc0038992d5f9be38c686260be775b75
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3b0fc3cf24e1fecdbc11808483c2109415ebfdd2 |
|
21-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. Change-Id: I9a3ff96f968b4f8d21a57cc7760679628d35c1a9 BUG:23516394
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f39ca8f5e5f43f130b4590921087a63f88bb8286 |
|
07-Aug-2015 |
Todd Kennedy <toddke@google.com> |
Override package storage constraint We want to be able to move arbitrary packages to external storage, regardless what they specify in their manifest. This is a developer option and should be used with care. Trouble may ensue if an application is moved when it really doesn't want to be moved Bug: 22282121 Change-Id: I7664816a7fd122e6cdf3070fe50ce5464f325380
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
28ec27cbfa157c242fd9330a10c7c2b8ea838694 |
|
04-Aug-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up Slice 'em up! Change-Id: Ibba3af7ec5b7f92e6d5e55a57aa838a7f7f936e1
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f1b7f20bb839c96e8254ccb65398135f10fd45d9 |
|
29-Jul-2015 |
Svet Ganov <svetoslavganov@google.com> |
Remove dependencies on the package installer's package name bug:22700053 Change-Id: I8540eb8577fbec84e1a67e31e1c31ba654c828a4
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ad3b2975574f916c14382628d50c710a78064746 |
|
08-Jul-2015 |
Svet Ganov <svetoslavganov@google.com> |
Add an API for apps to query if a permisison is denied by policy. bug:22177216 Change-Id: I32227f55097fae997f33743fd1eee06cb18f47f1
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f7c06eb03ab4479b9d0656a23a4733d17e995183 |
|
11-Jun-2015 |
Svetoslav <svetoslavganov@google.com> |
Add system API to watch for permission changes Change-Id: I1ce450a59fb326c14848f46732d877dea33f33c7
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
20770ddbd4d6f2af0093f36462a8f44a678b084b |
|
30-May-2015 |
Svetoslav <svetoslavganov@google.com> |
Add API to hint whether to show on-board UI before a permission request. bug:21511988 Change-Id: I9d1d7adf34b68074e65510f53b6e642cf784cf6b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
8c7f700a59ad26e75c9791335d78f14322cad49a |
|
07-May-2015 |
Svet Ganov <svetoslavganov@google.com> |
Add permission meta-state flags to support grant/revoke permission policy. We now maintain a mata-state with each permission in the form of flags specyfying the policy for this permission. This enables support of the following use cases: 1. The user denies a permission with prejudice in which case an app cannot request the permission at runtime. If an app requests such a permssion it gets a denial unless the user grants the permission from settings. 2. A legacy app with disabled app-ops being upgraded to support runtime permissions. The disabled app ops are converted to permission revocations. The app ops manager is a part of the activity manger which sits on top of the package manager, hence the latter cannot have a dependency on the former. To avoid this the package installer which is the global permission managment authority marks the permission as revoked on upgrade and the package manager revokes it on upgrade. 3. A device policy fixing a permission in a granted or revoked state. This additional information is folded in the meta-state flags and neither apps can request such permissions if revoked not the user can change the permission state in the UI. Change-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
fced534dec1088bdd7da1495d76b73996dc8a1a1 |
|
10-May-2015 |
Jeff Sharkey <jsharkey@android.com> |
Fix devices with primary physical storage. Always assume the factory-reset default primary storage before parsing storage settings. Without this, we'd always default to picking internal emulated storage during first boot or upgrade. Bump version code to re-evaluate this for devices that default to physical storage as primary. Also restrict available move targets when storage is physical, since we can't really translate between multi-user and non-multi-user aware storage. Bug: 20836019 Change-Id: I186ded1aa3dd9cea67497a4f53b0973031174ccd
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
50a05454795c93ac483f5cb6819e74cb17be1b5b |
|
29-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Returning to wizard, split move events. Finish wiring up notifications to jump back into in-progress wizard flow, using moveId as identifier. Split move events back into separate creation and progress events, and pass details as bundle to pass extra stuff like UUID. Null package still means moving primary storage. Add explicit "volume forgotten" event for PackageManager to clean up internal state with. Plumb through internal path reported by vold, and bring back FUSE bypass rewriting optimization. Bug: 19993667 Change-Id: I0f43edbba36c58c5cd33550022c54c4eb9f01a48
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
b36586a7c9b7718f33961406537e27bbd9b16211 |
|
27-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Split some VolumeInfo state into VolumeRecord. VolumeRecord is a historical record of a volume that we've seen in the past. It's now surfaced outside the framework for SystemUI to drive the notifications that bug users to reinsert missing private volumes. Show progress notifications for both storage and package movement operations. Notify when an empty disk is inserted (no usable volumes) which launches into the normal format flow. Add API to forget volumes. Bug: 20275424, 20275424 Change-Id: I75602c17fdcd4d1f1f62324e1a08c4a33093eefa
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
275e3e43f2fba72fa99001cafa2a70e5478fc545 |
|
25-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Migrate primary external storage. Wire up through MountService to call down into vold. Watch for unsolicited events that report progress, including special value "82" that signals that copy has finished. We use this value to persist the volumeUuid in case of unexpected reboot, since it indicates the new volume is ready. Wire progress updates through existing callback pipeline. Update the volume mounting code to match against the persisted UUID when selecting the primary external storage. Bug: 19993667 Change-Id: Id46957610fb43517bbfbc368f29b7d430664590d
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
620b32b316fd4f1bab4eef55ec8802d14a55e7dd |
|
24-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Package and storage movement callbacks. Since package and primary storage movement can take quite awhile, we want to have SystemUI surface progress and allow the Settings app to be torn down while the movement proceeds in the background. Movement requests now return a unique ID that identifies an ongoing operation, and interested parties can observe ongoing progress and final status. Internally, progress and status are overloaded so the values 0-100 are progress, and any values outside that range are terminal status. Add explicit constants for special-cased volume UUIDs, and change the APIs to accept VolumeInfo to reduce confusion. Internally the UUID value "null" means internal storage, and "primary_physical" means the current primary physical volume. These values are used for both package and primary storage movement destinations. Persist the current primary storage location in MountService metadata, since it can be moved over time. Surface disk scanned events with separate volume count so we can determine when it's partitioned successfully. Also send broadcast to support TvSettings launching into adoption flow. Bug: 19993667 Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
529f91fc8e7e884ef19bef8eb3e4e3a1d69336f4 |
|
19-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Always send volume UUID with installd commands. Since packages can be moved to other volumes, all relevant commands to installd now require an explicit volume UUID parameter. Bug: 20275577 Change-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
bd3af28fdc38cfe741badb86f9daa2fc6122eabc |
|
16-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Candidate volumes for packages, fix symlink."
|
e2d45be4dae116307f8edd85eaa61134221cb8f9 |
|
16-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Candidate volumes for packages, fix symlink. Add API to determine the possible candidate volumes that a package can be moved to. For example, it currently knows that we need to move ASEC-based apps through internal storage before migrating them to a private volume. Comparator for consistent VolumeInfo ordering when displayed in UI. Fix native library symlink to be volume UUID aware. Bug: 19993667 Change-Id: I68d5fac5f0f776ac1c7dd15e7a984bfe2704f3f7
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3ce4625ac6d8a0ffdc50675406e98c0ad904d96a |
|
15-Apr-2015 |
Ricky Wai <rickywai@google.com> |
Fix ApplicationPackageManager.getDrawable() should drawable result Bug: 20247312 Change-Id: I6cec3bac794006e41ca85035c572843c92938517
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ecd585a8fd2ae17479ae698193d5b04b602c5b70 |
|
13-Apr-2015 |
Alan Viverette <alanv@google.com> |
Don't crash if an application has an invalid icon Bug: 20177651 Change-Id: I01863febf3c8ca36fc3e5a167eb80b1736ce2a35
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
6227172310663e1267b1fabd68be890a1cb7e145 |
|
11-Apr-2015 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add Default Browser App support and relax Hosts validation for AppLinks - add private PackageManager APIs for setting/getting the default Browser App package name - serialize / deserialize the default Browser App package name per User Also relax the Hosts name validation for the AppLinls feature. Now we just care if the IntentFilter is having an HTTP or HTTPS scheme. Change-Id: I4436f66ac6beff57e14f7f3a2a00b0b582c03be9
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
0788595e0c9bc5e8c1907c63db595010006ef5b4 |
|
07-Apr-2015 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add IntentFilter auto verification - part 3 - add private API PackageManager.getAllIntentFilters(String) for getting all IntentFilters from a given package - update IntentFilterVerificationInfo to use an ArrayList<String> for domains instead of a String[] - if you make an App a default domain handler then make the others as non default - create an IntentVerificationInfo even if the App IntentFilters do not need to be verified. This would be done only if the App has some domain URLs defined and would allow to make it the default handler for a domain - a few code optimizations here and there Change-Id: I4535372a0bb1a2c8e662e1485be8ca700003e9b3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
b2b9ab8354da1485178cd8d8e9d89ac915b3f269 |
|
06-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Installing packages to expanded storage. PackageManager now offers to load/unload packages when expanded volumes are mounted/unmounted. Expanded storage volumes are still treated as FLAG_EXTERNAL_STORAGE from a public API point-of-view, but this change starts treating the INSTALL_EXTERNAL flag as exclusively meaning ASEC containers. Start tracking the UUID of the volume where a package is installed, giving us a quick way to find relevant packages. When resolving an install location, look across all expanded volumes and pick the one with the largest free space. When upgrading an existing package, continue preferring the existing volume. PackageInstaller now knows how to stage on these volumes. Add new movePackage() variant that accepts a target volume UUID as destination, it will eventually move data too. Expose this move command through "pm" command for testing. Automount expanded volumes when they appear. Bug: 19993667 Change-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
1c1b47125da018b44240739db75f8898e064a948 |
|
20-Nov-2014 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add IntentFilter auto verification The purpose of this feature is to prompt the Disambiguation dialog to Users as less as possible. - add the new "autoVerify" property to the IntentFilter class - add new APIs to PackageManager: verifyIntentFilter(int, int, List<String>), getIntentVerificationStatus(String, int), updateIntentVerificationStatus(String, int, int), getIntentFilterVerifications(String) for supporting IntentFilter verification - add support for multi-user - update PackageManager for IntentFilter verification: basically when we are installing a new package, ask for verification of all domains from the IntentFilters that have the "autoVerify" to true. This means that the PackageManager will send a well defined protected broadcast (with a new INTENT_FILTER_NEEDS_VERIFICATION action) to an IntentFilter verifier to do the real job of verification. We are passing in the broadcast Intent all the necessary data for doing the verification. The PackageManager will receive as response the result code of the domain verifications and, if needed, the list of domains that have failed the verification. - add a new INTENT_FILTER_VERIFICATION_AGENT permission that needs to be set by an intent filter verifier to be considered as a trustable party by the PackageManager. - add also a new BIND_INTENT_FILTER_VERIFIER permission for securing the binding between the PackageManager and a service doing the intent filter verifications. - add ResolveInfo filterNeedsVerification which is a boolean to knows if the IntentFilter is of a type that needs a verification (action VIEW, category BROWABLE, HTTP/HTTPS data URI) - add new "domain-preferred-apps" / "d" dump command for listing the prefered Apps for all domains - add new "intent-filter-verifiers" / "ivf" command for listing the IntentFilterVerifier used - introduce the IntentVerificationService which is a basic service for verifying IntentFilters. This service will send HTTPS requests to the domain declared in the IntentFilter(s) for doing the verification. This service has a low priority level so that it can be replaced by a more sophisticated one if needed. This service is updating the PackageManager intent verification states thru the updateIntentVerificationStatus(...) API. - update MockPackageManager Change-Id: I0bfed193d0bf1f7c7ac79f6c1b160b7ab93b5fb5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
c6d1c345f41cf817bf2c07c97b97107d94296064 |
|
26-Feb-2015 |
Svetoslav <svetoslavganov@google.com> |
Runtime permissions: per user permission tracking. Before all permissions were granted at install time at once, so the user was persented with an all or nothing choice. In the new runtime permissions model all dangarous permissions (nomal are always granted and signature one are granted if signatures match) are not granted at install time and the app can request them as necessary at runtime. Before, all granted permission to an app were identical for all users as granting is performed at install time. However, the new runtime model allows the same app running under two different users to have different runtime permission grants. This change refactors the permissions book keeping in the package manager to enable per user permission tracking. The change also adds the app facing APIs for requesting runtime permissions. Change-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
4b8d5821512c6a4fdaf442f6d48e1dc412539136 |
|
05-Mar-2015 |
Nicolas Prevot <nprevot@google.com> |
Remove the owner userid of cross-profile intent filters. The owner user id was used to identify in which user an app had set a cross-profile intent filter. But it's not really necessary. BUG:19505190 Change-Id: Iacc49d31c95e34efee1895e5fbe7224277dbc493
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7b9c912f536925ac6ec43935d6e97506851b33d6 |
|
31-May-2013 |
Tor Norbye <tnorbye@google.com> |
Add @ResourceInt annotations on APIs Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
16df82d7ace0dbe625211561ccec9b6faf81debb |
|
10-Feb-2015 |
Calin Juravle <calin@google.com> |
am fd523efc: Merge "Get the instruction set that the libraries of secondary Abi is supported." automerge: d1e074a * commit 'd1e074a72452c909c7ed2a4baf220d9d2f306b20': Get the instruction set that the libraries of secondary Abi is supported.
|
4741cd92d1a34d5e7a86b645498df00865f6c651 |
|
17-Dec-2014 |
jgu21 <jinghui.gu@intel.com> |
Get the instruction set that the libraries of secondary Abi is supported. The secondary Abi is for the apps which support the mulitArch feature. In presence of a native bridge the instruction set supported by secondary Abi might be different than the one secondary Abi used. Change-Id: I318fb21e45c34de6cf1bf8ff63519aaa2b1e2520 Signed-off-by: jgu21 <jinghui.gu@intel.com>
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9f60c08a446e38f9e2d5271546ef69ca5941eba9 |
|
29-Oct-2014 |
Jeff Hao <jeffhao@google.com> |
Change boot screen title to "Android is starting" when not upgrading. Bug: 17565501 Change-Id: Id5741e6e7a40750feee1cd7306e79f7baeec67de
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
18ab83e571e1ef7e4599d38cffc080dca704a06d |
|
07-Oct-2014 |
Adam Lesinski <adamlesinski@google.com> |
am f189c445: am 1a98dd5c: Merge "Load shared library dependencies for AppWidgets" into lmp-dev * commit 'f189c445b84365a3f1bd2b678fdca37f9df8d5d1': Load shared library dependencies for AppWidgets
|
d00bb5edcfc8ee5c2026f66785b703b388314b22 |
|
07-Oct-2014 |
Adam Lesinski <adamlesinski@google.com> |
Load shared library dependencies for AppWidgets PackageManager and AppWidgetHostServiceImpl should be loading the resources of any shared libraries being used by the app, as they have references in their Widgets or application icons/labels, etc. Bug:17668152 Change-Id: I359662334edb125d7570089916727df4eeba02bb
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ec2d48b96d1f95fb266914df294a27c210f8c3f5 |
|
01-Oct-2014 |
Benjamin Franz <bfranz@google.com> |
Introduce new API to get an unbadged icon and unbadge permissions. Bug: 17125560 Change-Id: I61b884186c96cc54dcaf1d3c7ee8f47610fd1d21
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
64d4dca63f65e4c7d4a829c85ff6670bdd34e2eb |
|
28-Aug-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Assign default icon to users at creation time and in SystemUI. Right now different code in System UI, Settings app and other places replace the user icon with their own default. This tries to make it consistent by moving the mechanism used in Settings in a helper class. Bug: 17311038 Change-Id: Ic858c65bf82a98b9806dbba029e7cdcf441f372e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e107c3eb79be40f1071c4370fd9a3f9e4fd6d6de |
|
09-Sep-2014 |
Adam Connors <adamconnors@google.com> |
Remove package level intent forwarding. Clean up unused methods. Bug: 17389110 Change-Id: I8a80fe3e14219f06572de05c390cdda0efcbf5db
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
fdf169cbea5c59c6f74c25c6c529d8a19c6cb78c |
|
08-Sep-2014 |
Amith Yamasani <yamasani@google.com> |
Use correct API for badging Bug: 17414778 Change-Id: I7c0321d9435b0787a90cd62be80862069ba2d790
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7de2abb16cc3ee32091b9f137b4eb0183cab9e1a |
|
05-Sep-2014 |
Svetoslav <svetoslavganov@google.com> |
Fix runtime restart Change-Id: Ic50c8b3b06603ad517fdc8a2392ad12318d46817
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
c7d62f02b8acfd0a6b31f8544ec2c07e780fe4bb |
|
05-Sep-2014 |
Svetoslav <svetoslavganov@google.com> |
Addressing API council comments for UserManager. bug:17390424 Change-Id: I498d2541289915cb7db16e5c3249ccc7a7dc5ee6
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
db811dbc704fd8170e66951e992e83098aecf158 |
|
29-Aug-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Fix NPE from empty PackageInfo Bug: 17325905 Change-Id: I38ae5e242b1bf615620cf069a2cccede6ee42125
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
efb1f36f09cdada7c3b2677e6628492d8f256729 |
|
30-Aug-2014 |
dcashman <dcashman@google.com> |
Merge "Address KeySet API Review" into lmp-dev
|
aec68bb89fe614181a20eb97340149406218ce2f |
|
21-Aug-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #17038762: Add API to add entries to the recents list New API Added to ActivityManager for adding an entry. See docs there. Repercussions: - I hit a bug in system UI where if the thumbnail has alpha, it tries to modify it, but thumbnails are loading immutable so crashes. Fixed this by loading the bitmaps to be mutable. - Improved dump output of recents; there was a lot of stuff missing. Also split the recents dump output from the rest of the activity output, since it can be really large. - Added tests to the lovely ActivityTest app. Bonus: new method on AppTask to control the exclude from recents flag. Change-Id: I01e543db4d15320ee1701e95872fef73c116526c
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a0907436c01fd8c545a6b5c7b28bc3bc9db59270 |
|
15-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
PackageInstaller API refactoring. Switch to using IntentSender for results to give installers easier lifecycle management. Move param and info objects to inner classes. Bug: 17008440 Change-Id: I944cfc580325ccc07acf22e0c681a5542d6abc43
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
c6f22499f3046684d7175e10ca42cce1492cd36f |
|
14-Aug-2014 |
dcashman <dcashman@google.com> |
Address KeySet API Review Hide KeySet API. Change getKeySetByAlias to not require aliases from the calling package. Make KeySet parcelable. Add hashCode method. Bug: 16895228 Bug: 17009318 Change-Id: I75951947dfc7a3cca9f8873bda72576d11abaaf0
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
6c0b9da65e36543bb50833d1b54ca532d0bd3aab |
|
08-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Handle null IPackageDeleteObserver. Bug: 16862614 Change-Id: I0c197a994b89d49123027f24fe46827c2b994ab6
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
fbd0e9fa37fc17ccd25e4c1f16195bbd27de3c4c |
|
07-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Surface user action events when un/installing. This will be used shortly to connect up with permissions confirmation UI. Bug: 16515814 Change-Id: If28cecc28549900d960ac107a1fba0b10ce5bd7b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e41ce995a0c2c6b167ed64b51e34865c5d58ea4d |
|
29-Jul-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Add hidden API for removing cross-profile package filters Bug: 16646591 Change-Id: Iaf6837fe4390ac1018c49df366ea434776ed7244
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
41c1ded7f042a4cf303479550b38fa66d7a18906 |
|
05-Aug-2014 |
Amith Yamasani <yamasani@google.com> |
Allow phone UID to export singleton providers Also add a user variant of replacePreferredActivity for use by SmsApplication. Map user restrictions for SMS/MMS to AppOps perms. Bug: 16681533 Change-Id: I3dfed5fc754e33bb51c6f571851653a7c2770e46
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a709314537164d959a18ee78768c69c4a9cb33c7 |
|
30-Jul-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Use the appropriate default icon ComponentInfo subclasses and ApplicationInfo have different ways to retrieving the default icon. Previously, in CL I2db300a69a08030eacc245ee91556f0443ba5878 we defaulted everything to the green Android. This makes sure that they get the right default. Bug: 16630068 Change-Id: Ifa499eac6f1543523d6ecf0831175bfd6b772edb
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a71e3903e5d3f38795c443c052125faede9d9ec7 |
|
25-Jul-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Return a default icon from the package manager directly Bug: 16369104 Change-Id: I2db300a69a08030eacc245ee91556f0443ba5878
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3f7777fa4f1d392e18bad39edcd4539880c52ff9 |
|
24-Jul-2014 |
Nicolas Prevot <nprevot@google.com> |
Storing the app who sets a CrossProfileIntentFilter. When we add a CrossProfileIntentFilter, we store the package and userId of the calling app inside the CrossProfileIntentFilter. When an app calls clearCrossProfileIntentFilters, we only remove the filters that the calling app has set itself. BUG: 16537557 Change-Id: I6e7bc859383ea66553d9f4230365df8ba27525f3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
16c8e3f49497b6046972ae650772f65768366be8 |
|
25-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
PackageInstaller changes based on feedback. Mostly cosmetic changes from API council feedback. Bug: 16543552 Change-Id: Ic926829b3f77c31f50a899c59b779353daf00d59
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7 |
|
20-Jul-2014 |
Amith Yamasani <yamasani@google.com> |
Rename setApplicationBlocked to setApplicationHidden This corrects the expected behavior of the app state. Hidden apps can be installed by the store to be brought out of hidden state. Bug: 16191518 Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
caa711929416b12373d402b9dadb4367129daf87 |
|
16-Jul-2014 |
Narayan Kamath <narayan@google.com> |
Temporary workaround for getApplicationInfo + multiArch. Google play services client libraries construct native paths using pm.getApplicationInfo().nativeLibraryDir. This is a temporary workaround until we've switched all code over to pm.createPackageContext().getApplicationInfo() or whatever API we decide on to surface correct multi-arch lib paths. bug: 16013931 Change-Id: Ib719cf6f31da9a29b76e942cd2e28bda1f19b264
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
69ea974f1712c83a9ad194187237edf1169f9064 |
|
15-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Public API for PackageInstaller!" into lmp-dev
|
6c833e07a05c48ca60ee4d72421bf8b1e78dc710 |
|
15-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Public API for PackageInstaller! Flesh out documentation and finalize first cut of API. Also surface installLocation and splitNames through PackageInfo. Bug: 14975160, 15348430 Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1 |
|
09-Jun-2014 |
dcashman <dcashman@google.com> |
Initial KeySet API. Previously submitted but reverted due to doc-compilation bug. Bug: 6967056 Change-Id: I9bd7ef299a4c92c4b327f5b5d7e951f0753b4c8a
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
5de7377feca5242fe7127e2d4dc7792d4886d365 |
|
12-Jul-2014 |
dcashman <dcashman@google.com> |
Revert "Initial KeySet API." This reverts commit 9a643fe02bc960e266484547dda5572b094a4c72.
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
405912bce074e9e59a246e2357a108e50dffabf8 |
|
09-Jun-2014 |
dcashman <dcashman@google.com> |
Initial KeySet API. Bug: 6967056 Change-Id: I47a01bd5dc25591cc70f58f38920ad0a021094ae
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ec55ef0934b8e0d1bb705434947de817f7be57f1 |
|
08-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
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
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
513a074de68a4772a9900e90f38e74ff92c15e7c |
|
09-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Clean up IPackageManager install surface area. Also more removal of encryption support. Change-Id: If525dc5a8422134515f225a8ac4731e968069468
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7f7b0c759e2970178ef68805b21f06a26e24eb76 |
|
23-Jun-2014 |
Nicolas Prevot <nprevot@google.com> |
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
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
0363c3eb089afd4474bfd6ae6ee8a500d6e97614 |
|
23-Jun-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Expose per-user APIs for content services. Bug: 15466880 Change-Id: Ib5a030e78559307627fe0d2e80ce6f1a7825109d
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
88cc346d0602e0b173b5076cd0051120682da601 |
|
14-May-2014 |
Nicolas Prevot <nprevot@google.com> |
Show the icon of the personal space. In an intent disambiguation dialog from a managed profile, when the intent can be forwarded to the personal space: show the icon of the parent next to "Personal apps". And put it at the bottom of the dialog. Change-Id: I523222aac5dde9653e784eb26cf23cdaf018b86c
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
6e2ae2590ded39f04f76d5ddca0f06fe01586e26 |
|
12-Jun-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Adds cross-profile intent filters for the Settings app Bug: 15466742 Change-Id: Id9af588f2f3d51a562ef2a06fe7404c96123cc2e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
63798c596dc757135950313eb4bb44ca58696c68 |
|
27-May-2014 |
Nicolas Prevot <nprevot@google.com> |
Introducing crossProfileIntentFilters that skip the current profile. For these crossProfileIntentFilters, the activities in the current profile cannot respond to the intent. Only activities in the target profile can respond to the intent. BUG: 14936725 Change-Id: I5e2704c2b56ff50a8339dd49284956391d7fad7e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
8a4c9721a9e09d20c63381c13fa29bd9f7cbc3e3 |
|
16-Jun-2014 |
Jeff Sharkey <jsharkey@android.com> |
Plumb split APKs into public API. Introduces new ApplicationInfo fields to surface zero or more split APKs for an application. Splice these APKs into both the class loader and resource system. Cleaner building of these paths. Run dexopt() on all split APKs found after a parse, and populate into ApplicationInfo. Change-Id: I4a376bf4492d84ea95aafa866e106ea43a43e492
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
8194899071e0a84c95ef10614bd1b9485b48f589 |
|
16-May-2014 |
Nicolas Prevot <nprevot@google.com> |
Rename code related to cross-profile intents. For example, replace ForwardingIntentFilter by CrossProfileIntentFilter Bug: 15023443 Change-Id: Iee8cdf578817ef9956bcdece803a49b0d07b67f7
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4 |
|
29-Apr-2014 |
Jeff Sharkey <jsharkey@android.com> |
Initial support for split APKs, PackageInstaller. Defines a new PackageInstaller class that will be used for installing and upgrading packages. An application desiring to install an application creates a session, stages one or more package files in that session, and then kicks off the install. Previously, PackageManager would always make its own copy of a package before inspecting it, to ensure the data could be trusted. This new session concept allows the installer to write package data directly to its final resting place on disk, reducing disk I/O and footprint requirements. Writes are directed through an intermediate pipe to ensure we can prevent mutations once an install has been initiated. Also uses fallocate() internally to support optimal ext4 block allocation using extents to reduce fragmentation. Sessions are also the way we support installing multiple "split" APKs in a single atomic operation. For a set of packages to form a valid application, they must have exactly the same package name, version code, and certificates. A session can also be used to add a small handful of splits to an application by inheriting existing packages when not performing a full install. Add PackageParser support for extracting split names and certificates. Bug: 14975160 Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
c79586ede6dcd6a167bc8360f058cb5cc655b33d |
|
06-May-2014 |
Nicolas Prevot <nprevot@google.com> |
Cleaning code related to the forwarding intent filters. Checking for INTERACT_ACROSS_USERS_FULL Adding equivalent methods in the PackageManager Change-Id: Iaa1328fa666613a78e67ca669ea045144275e895
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
68b9d97593d2ec79892813ab06f1b89c41de64b0 |
|
11-Apr-2014 |
Jose Lima <joselima@google.com> |
am 9e99cab7: am 970417c7: Added getLeanbackLaunchIntentForPackage() * commit '9e99cab7d9a0ec2315140c21bb1958eb7ff76a09': Added getLeanbackLaunchIntentForPackage()
|
9e99cab7d9a0ec2315140c21bb1958eb7ff76a09 |
|
11-Apr-2014 |
Jose Lima <joselima@google.com> |
am 970417c7: Added getLeanbackLaunchIntentForPackage() * commit '970417c7d3e33ccbd6918e28d9bc5da24651f5b3': Added getLeanbackLaunchIntentForPackage()
|
970417c7d3e33ccbd6918e28d9bc5da24651f5b3 |
|
10-Apr-2014 |
Jose Lima <joselima@google.com> |
Added getLeanbackLaunchIntentForPackage() Change-Id: I23be3bfa59be812a915adc37e08fdf59be8ad90f
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f1977b4500e82b72ea6aa5c46d97406a20017caf |
|
25-Mar-2014 |
Christopher Tate <ctate@google.com> |
Expand install observer semantics ...and now fail conservatively when two apps both attempt to define the same permission. Apps signed with the same certificate are permitted to redefine permissions. We also finally have a (hidden) interface class for observing package installation so that we can now rev the interface without breaking existing callers. Bug 13551375 Change-Id: Ifa4e59154dcccbb286ee46a35a6f25e4ad0f0f01
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
1ee4eb074c2d85148658e93e865a18834bdced72 |
|
26-Mar-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "Revert "Expand install observer semantics""
|
7629a18a3f190368e6268d3f2827824905683268 |
|
26-Mar-2014 |
Glenn Kasten <gkasten@google.com> |
Revert "Expand install observer semantics" This reverts commit ab8a501f255b272af887acb0e66eb71cdf24c755. Change-Id: I4ab4ae1a96efa2adf9d5a513793d8b84eef38b4e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
9067dc03ffc76c5210d26d5a53a211eff046d412 |
|
26-Mar-2014 |
Christopher Tate <ctate@google.com> |
Merge "Expand install observer semantics"
|
ab8a501f255b272af887acb0e66eb71cdf24c755 |
|
25-Mar-2014 |
Christopher Tate <ctate@google.com> |
Expand install observer semantics ...and now fail conservatively when two apps both attempt to define the same permission. We also finally have a (hidden) interface class for observing package installation so that we can now rev the interface without breaking existing callers. Bug 13551375 Change-Id: I3a286d024a30e812ee4b098f345401df3c00e178
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
de898ff42912bd7ca1bfb099cd439562496765a4 |
|
30-Jan-2014 |
Adam Lesinski <adamlesinski@google.com> |
Shared library resource support Shared libraries can now export resources for applications to use. Exporting resources works the same way the framework exports resources, by defining the public symbols in res/values/public.xml. Building a shared library requires aapt to be invoked with the --shared-lib option. Shared libraries will be assigned a package ID of 0x00 at build-time. At runtime, all loaded shared libraries will be assigned a new package ID. Currently, shared libraries should not import other shared libraries, as those dependencies will not be loaded at runtime. At runtime, reflection is used to update the package ID of resource symbols in the shared library's R class file. The package name of the R class file is assumed to be the same as the shared library's package name declared in its manifest. This will be customizable in a future commit. See /tests/SharedLibrary/ for examples of a shared library and its client. Bug:12724178 Change-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
92703e62c1dc88a410a32b05c2d44f391c193140 |
|
14-Mar-2014 |
Jose Lima <joselima@google.com> |
resolved conflicts for merge of 4882ddfa to master Change-Id: I179899697c148ac34a67b195e2dbd3df2f9138de
|
53ac5ef2141c7e7d99d5c00195bc65e86e7fc403 |
|
13-Mar-2014 |
Jose Lima <joselima@google.com> |
am 91726f4e: Merge "Add banner attribute to app manifest" into klp-modular-dev * commit '91726f4ea7b60025490209ccb2637d712e8d75fd': Add banner attribute to app manifest
|
f78e312db2aa7653ddc021e7dc58ce48f95ba047 |
|
06-Mar-2014 |
Jose Lima <joselima@google.com> |
Add banner attribute to app manifest Change-Id: I28b0dc6dee9623ec7534bb0e741b88f439b48c9f
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44 |
|
25-Feb-2014 |
John Spurlock <jspurlock@google.com> |
Tabs -> spaces in frameworks/base. Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
d5c8044e7e1f1402fdd4a035690329294ab07b33 |
|
12-Feb-2014 |
Nick Kralevich <nnk@google.com> |
resolved conflicts for merge of 1cbea39f to master Change-Id: Ib33484546c6a03cbc4cd96e97d9d785d68e10700
|
48d22323ce39f9aab003dce74456889b6414af55 |
|
31-Jan-2014 |
MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> |
Runtime resource overlay, iteration 2 Support any number of overlay packages. Support any target package. UPDATED PACKAGE MATCHING ------------------------ In Runtime resource overlay, iteration 1, only a single overlay package was considered. Package matching was based on file paths: /vendor/overlay/system/framework-res.apk corresponded to /system/framework-res.apk. Introduce a more flexible matching scheme where any package is an overlay package if its manifest includes <overlay targetPackage="com.target.package"/> For security reasons, an overlay package must fulfill certain criteria to take effect: see below. THE IDMAP TOOL AND IDMAP FILES ------------------------------ Idmap files are created by the 'idmap' binary; idmap files must be present when loading packages. For the Android system, Zygote calls 'idmap' as part of the resource pre-loading. For application packages, 'idmap' is invoked via 'installd' during package installation (similar to 'dexopt'). UPDATED FLOW ------------ The following is an outline of the start-up sequences for the Android system and Android apps. Steps marked with '+' are introduced by this commit. Zygote initialization Initial AssetManager object created + idmap --scan creates idmaps for overlays targeting 'android', \ stores list of overlays in /data/resource-cache/overlays.list AssetManager caches framework-res.apk + AssetManager caches overlay packages listed in overlays.list Android boot New AssetManager's ResTable acquired AssetManager re-uses cached framework-res.apk + AssetManager re-uses cached 'android' overlays (if any) App boot ActivityThread prepares AssetManager to load app.apk + ActivityThread prepares AssetManager to load app overlays (if any) New AssetManager's ResTable acquired as per Android boot SECURITY -------- Overlay packages are required to be pre-loaded (in /vendor/overlay). These packages are trusted by definition. A future iteration of runtime resource overlay may add support for downloaded overlays, which would likely require target and overlay signatures match for the overlay to be trusted. LOOKUP PRIORITY --------------- During resource lookup, packages are sequentially queried to provide a best match, given the constraints of the current configuration. If any package provide a better match than what has been found so far, it replaces the previous match. The target package is always queried last. When loading a package with more than one overlay, the order in which the overlays are added become significant if several packages overlay the same resource. Had downloaded overlays been supported, the install time could have been used to determine the load order. Regardless, for pre-installed overlays, the install time is randomly determined by the order in which the Package Manager locates the packages during initial boot. To support a well-defined order, pre-installed overlay packages are expected to define an additional 'priority' attribute in their <overlay> tags: <overlay targetPackage="com.target.package" priority="1234"/> Pre-installed overlays are loaded in order of their priority attributes, sorted in ascending order. Assigning the same priority to several overlays targeting the same base package leads to undefined behaviour. It is the responsibility of the vendor to avoid this. The following example shows the ResTable and PackageGroups after loading an application and two overlays. The resource lookup framework will query the packages in the order C, B, A. +------+------+- -+------+------+ | 0x01 | | ... | | 0x7f | +------+------+- -+------+------+ | | "android" Target package A | Pre-installed overlay B (priority 1) | Pre-installed overlay C (priority 2) Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
6090995951c6e2e4dcf38102f01793f8a94166e1 |
|
19-Nov-2013 |
John Spurlock <jspurlock@google.com> |
Remove unused imports from frameworks/base. Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
85f5f8132015d8a5043ea4413702420d0d157c9f |
|
07-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Add <intent-filter> support to <provider>. For the new documents work, we're only interested in the subset of ContentProviders that actually implement DocumentsContract. Instead of returning all providers, add <intent-filter> support to make it easier to limit the set of returned ProviderInfo. Define a well-known action for DocumentsProviders, and start using it when querying for roots. Continue supporting the old <meta-data> approach until all apps have been updated. Bug: 8599233 Change-Id: I05f049bba21311f5421738002f99ee214447c909
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a2a0850de8e7324db37e0595d5374bb9c9903461 |
|
06-Sep-2013 |
Christopher Tate <ctate@google.com> |
Add hidden API for querying available 'home' activities To support improved home-app selection UX in Settings. Bug 9958444 Change-Id: I106090784618bf7bea6fce28f4f9b9fb8480d310
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
95d785346b4dae808a2d8f77356175e55a572d96 |
|
11-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #10688644: Java crash in com.android.phone: java.lang.SecurityException: Operation not allowed There was a situation I wasn't taking into account -- components declared by the system has a special ability to run in the processes of other uids. This means that if that code loaded into another process tries to do anything needing an app op verification, it will fail, because it will say it is calling as the system package name but it is not actually coming from the system uid. To fix this, we add a new Context.getOpPackageName() to go along-side getBasePackageName(). This is a special call for use by all app ops verification, which will be initialized with either the base package name, the actual package name, or now the default package name of the process if we are creating a context for system code being loaded into a non-system process. I had to update all of the code doing app ops checks to switch to this method to get the calling package name. Also improve the security exception throw to have a more descriptive error message. Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
add005cf94dcc815d29b54588c76fd87929075b3 |
|
18-Jul-2013 |
Dianne Hackborn <hackbod@google.com> |
Mmmmmmm... lovely, lovely ArrayMap. And ArraySet, too. Change-Id: I72ea28cbb2286b01b6e1be082f8e7ec17e99074e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
655d0e2029e6ae77a47e922dce4c4989818b8dd1 |
|
12-Jun-2013 |
Amith Yamasani <yamasani@google.com> |
Single-user restrictions Introduces a new "blocked" state for each package. This is used to temporarily disable an app via Settings->Restrictions. PIN creation and challenge activities for use by Settings and other apps. PIN is stored by the User Manager and it manages the interval for retry attempts across reboots. Change-Id: I4915329d1f72399bbcaf93a9ca9c0d2e69d098dd
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3fa3c28a356108a6558b6b54a0b10e1a5cc4f1b6 |
|
27-Mar-2013 |
Dianne Hackborn <hackbod@google.com> |
Keep track of who has disabled applications. Change-Id: I2640d3dc2200b589e2beb42a43cc93efd090f06e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
67df64b3a48a8157d08a98fa90135d0ac0ee621c |
|
14-Dec-2012 |
Amith Yamasani <yamasani@google.com> |
Shared accounts and sharing of apps API and preliminary implementation for sharing primary user accounts with a secondary user. AbstractAccountAuthenticator has new methods to retrieve and apply a bundle of credentials to clone an account from the primary to a restricted secondary user. The AccountManagerService initiates the account clone when it starts up the user and detects that the user has a shared account registered that hasn't been converted to a real account. AccountManager also has new hidden APIs to add/remove/get shared accounts. There might be further improvements to this API to make shared accounts hidden/visible to select apps. AccountManagerService has a new table to store the shared account information. Added ability in PackageManager to install and uninstall packages for a secondary user. This is required when the primary user selects a few apps to share with a restricted user. Remove shared accounts from secondary users when primary user removes the account. Change-Id: I9378ed0d8c1cc66baf150a4bec0ede56f6f8b06b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac |
|
18-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
Rework ParceledListSlice to be much easier to use. Take advantage of this to return better information about packages filtered by permissions -- include the permissions they have in the requested array. Also fix issue #8026793 (Contact picture shows default pic while searching for a contact in qsb) by using the base package name of the Context when reporting the app name of an operation. Otherwise you could make a resource-only context for another application and do calls through that and get reported as the wrong app. Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e799175b6ba3aadd972f4b861758d675d1f93987 |
|
17-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
AppOps: fix nested op tracking, new API to get apps using permissions. Change-Id: I20c7bd58febc01d6911a90440867eaacd133c464
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a06de0f29b58df9246779cc4bfd8f06f7205ddb6 |
|
12-Dec-2012 |
Dianne Hackborn <hackbod@google.com> |
New "app ops" service. Initial implementation, tracking use of the vibrator, GPS, and location reports. Also includes an update to battery stats to also keep track of vibrator usage (since I had to be in the vibrator code anyway to instrument it). The service itself is only half-done. Currently no API to retrieve the data (which once there will allow us to show you which apps are currently causing the GPS to run and who has recently accessed your location), it doesn't persist its data like it should, and no way to tell it to reject app requests for various operations. But hey, it's a start! Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ded653b168b19f6061889907d4f562d764c5559b |
|
28-Sep-2012 |
Jeff Sharkey <jsharkey@android.com> |
Fix "system" resources; more context user work. Special-case "system" resources, since it doesn't have an ApplicationInfo. Also switch Context and PackageManager to using the wrapped UserHandle for outgoing calls. Bug: 7242361 Change-Id: I1ecd2a4752399a6dce2de97c59bd5545996c9a99
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
98edc951712823dbf5db2b7e9c203a0e98fc616b |
|
25-Sep-2012 |
Amith Yamasani <yamasani@google.com> |
Load resources for the correct user For apps that are only installed on secondary users, the SystemUI is unable to see them by default. Added some methods to explicitly pass the userId of the user the resources are requested for by the StatusBarIcon Bug: 7214384 Also fix binding to remote views Bug: 7192802 Change-Id: I5d6c5f624aa37fb231f3467f9764c8d99077a91d
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
58d37b55bd228032355360ea3303e46a804e0516 |
|
18-Sep-2012 |
Svetoslav Ganov <svetoslavganov@google.com> |
Multi-user support for the accessibility layer. 1. This change converts the accessibility manager service to maintain a state per user. When the user changes the services for the user that is going away are disconnected, the local accessibility managers in the processes for this user are disabled, the state is swapped with the new user's one, and the new user state is refreshed. This change updates all calls into the system to use their user specific versions when applicable. For example, regisetring content observers, package monitors, calls into other system services, etc. There are some components that are shared across users such as UI created by the system process and the SystemUI package. Such components are managed as a global state shared across all users and are updated accordingly on a user switch. Since the SystemUI is running in a normal app process this change adds hidden APIs on the local window manager to allow the SystemUI to notify the accessibility layer that it will run accross users. Calls to AccessibiltyManager's isEnabled(), isTouchExplorationEnabled() and sendAccessibilityEvent return false or a are a nop for a background user sice he should not send accessibility events, and should not perform touch exploration. Update the internal accessibility tests due to changes in the AccessibilityManager. This change also fixes several issues that were encountered such as calling out the accessibility manager service with a lock held. Removed some incorrect debugging code from the TouchExplorer that was leading to a system crash. bug:6967373 Change-Id: I2cf32ffdee1d827a8197ae4ce717dc0ff798b259
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
151ec4c9f8ca34625733730a4551a23eb97cda23 |
|
08-Sep-2012 |
Amith Yamasani <yamasani@google.com> |
More multi-user methods in PM pm can list installed packages by user now. Bug: 6926465 Change-Id: I822311bfd6e7e2d6fb315fc484739fbf953c9bb6
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a492c3a7b2c18426fd0cb4d017eacbc368195dc5 |
|
24-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Initial draft of high-level multi-display APIs. This patch introduces the ability to create a Context that is bound to a Display. The context gets its configuration and metrics from that display and is able to provide a WindowManager that is bound to the display. To make it easier to use, we also add a new kind of Dialog called a Presentation. Presentation takes care of setting up the context as needed and watches for significant changes in the display configuration. If the display is removed, then the presentation simply dismisses itself. Change-Id: Idc54b4ec84b1ff91505cfb78910cf8cd09696d7d
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f203aeef993b0f4ce65c9630d06bbd50a504e89f |
|
30-Aug-2012 |
Amith Yamasani <yamasani@google.com> |
Enforce permissions for calls with specified userId Fix a couple of places where incorrect userIds were being passed in. Change-Id: I398c676e0488ff7e584be96e96c8b32652134238
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
7767eac3232ba2fb9828766813cdb481d6a97584 |
|
24-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Keep track of whether an app is installed for each user. This add a new per-user state for an app, indicating whether it is installed for that user. All system apps are always installed for all users (we still use disable to "uninstall" them). Now when you call into the package manager to install an app, it will only install the app for that user unless you supply a flag saying to install for all users. Only being installed for the user is just the normal install state, but all other users have marked in their state for that app that it is not installed. When you call the package manager APIs for information about apps, uninstalled apps are treated as really being not visible (somewhat more-so than disabled apps), unless you use the GET_UNINSTALLED_PACKAGES flag. If another user calls to install an app that is already installed, just not for them, then the normal install process takes place but in addition that user's installed state is toggled on. The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED, PACKAGE_REPLACED etc broadcasts to users who don't have a package installed or not being involved in a change in the install state. There are a few things that are not quite right with this -- for example if you go through a full install (with a new apk) of an app for one user who doesn't have it already installed, you will still get the PACKAGED_REPLACED messages even though this is technically the first install for your user. I'm not sure how much of an issue this is. When you call the existing API to uninstall an app, this toggles the installed state of the app for that user to be off. Only if that is the last user user that has the app uinstalled will it actually be removed from the device. Again there is a new flag you can pass in to force the app to be uninstalled for all users. Also fixed issues with cleaning external storage of apps, which was not dealing with multiple users. We now keep track of cleaning each user for each package. Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
d9ef3e5495db1c46bcfcc1a2d4386af8db6deb0c |
|
22-Aug-2012 |
rich cannings <richc@google.com> |
Allow verifiers to extend timeout Create a new verifier API to extend the timeout for a giving package, including the resulting action (allow or deny) upon the timeout occuring. Bug: 6901038 Change-Id: I351f7944327f863aff1d7dd1227be74652fa1511
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
0c3804950236fe170ebf6cc7a5f1e3e305b8f315 |
|
21-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Improve multi-user app management. Introduce API to get per-user storage information, keep track of services associated with users, and various small cleanup. Change-Id: I5d4e784e7ff3cccfed627d66a090d2f464202634
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
706e8ba26bf0de19ad5f736516dae40c4c88c2d7 |
|
20-Aug-2012 |
rich cannings <richc@google.com> |
Pass URLs to package verifiers This change passes the originating URL and accompanied referrer to package verifiers, when available. Bug: 6544677 Change-Id: I9ebc71bc13f549bd88267e444816151a99bda000
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a3f133afe885f9e005dfc0584cb7b3b90f75f665 |
|
10-Aug-2012 |
Amith Yamasani <yamasani@google.com> |
Save preferred activity info with user id. So each user can have their own set of intent resolution preferences. ResolverActivity now launches the activity on the correct user, and persists the preference for the correct user. Bug: 6961905 Change-Id: I6d3a8a9af89bc649277d4fc8d0f367ee123f8392
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 |
|
16-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Rename UserId to UserHandle. This is the start of turning this into a formal public API. Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
756220bd1912535840388a6743830d2e59ad4964 |
|
15-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Add API to create new contexts with custom configurations. This allows you to, say, make a Context whose configuration is set to a different density than the actual density of the device. The main API is Context.createConfigurationContext(). There is also a new API on ContextThemeWrapper that allows you to apply an override context before its resources are retrieved, which addresses some feature requests from developers to be able to customize the context their app is running in. Change-Id: I88364986660088521e24b567e2fda22fb7042819
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
258848d2ae04f447ff1c18023fa76b139fcc0862 |
|
11-Aug-2012 |
Amith Yamasani <yamasani@google.com> |
User Manager service to manage users and query user details Moved a bunch of methods from PackageManager to UserManager. Fix launching of activities from recents to correct user. Guest creation APIs Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e1d7c711df3e3a2d2f195457882aa4ddb5626167 |
|
08-Aug-2012 |
Rich Cannings <richc@google.com> |
Revert "Pass URLs to package verifiers" This reverts commit 24713907fe4632d263aea82f7a35c8fb08918a09 Change-Id: Ie04ba73475b813635c4a74915c45e83250801b6b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
24713907fe4632d263aea82f7a35c8fb08918a09 |
|
26-Jul-2012 |
rich cannings <richc@google.com> |
Pass URLs to package verifiers This change passes the originating URL and accompanied referrer to package verifiers, when available. Bug: 6544677 Change-Id: If9ff6663ad7f3426b7aea2aceb1413b689788138
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
b8151ecd6ef4faa5c16d0a4c3abb45ec84d1f97a |
|
19-Apr-2012 |
Amith Yamasani <yamasani@google.com> |
Add an icon to the user information. Store the icon in the user folder under /data/system, similar to how the wallpaper is stored. Change-Id: Id8ccb55b9e2ba7b4c557505a7f69f04eca1518cf
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
ceb1b0bfaea56251796b08c07b963de7403d84eb |
|
24-Apr-2012 |
Anonymous Coward <nobody@android.com> |
Add encryption parameters to package installation Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
135936072b24b090fb63940aea41b408d855a4f3 |
|
23-Mar-2012 |
Amith Yamasani <yamasani@google.com> |
User management and switching Broadcast intents that get sent out when users are added/removed/switched. More work on generating user-specific information in package manager queries. APIs to update user name and query a user by id. Removed Package.mSetStopped and mSetEnabled, since they're not user specific. User removal: - Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService and AccountManager. - Shutdown processes belonging to the user. Don't show vibrate option in long-press power if there's no vibrator. Lock the screen when switching users, to force unlocking. Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
483f3b06ea84440a082e21b68ec2c2e54046f5a6 |
|
14-Mar-2012 |
Amith Yamasani <yamasani@google.com> |
Package restrictions per user Packages can be enabled/disabled per user. This requires maintaining stopped/launched states and enabled / disabled components and packages per user. Refactored pm.Settings and PackageSettingsBase to keep track of states per user. Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml Changed intent resolution to handle individual user restrictions. Bunch of IPackageManager calls now have a userId argument. Make AppWidgetService handle removals of packages. Added some tests for pm.Settings and PackageManager. Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
e639da7baa23121e35aa06d6e182558e0e755696 |
|
22-Feb-2012 |
Dianne Hackborn <hackbod@google.com> |
New development permissions. These are permissions that an application can request, but won't normally be granted. To have the permission granted, the user must explicitly do so through a new "adb shell pm grant" command. I put these permissions in the "development tools" permission group. Looking at the stuff there, I think all of the permissions we already had in that group should be turned to development permissions; I don't think any of them are protecting public APIs, and they are really not things normal applications should use. The support this, the protectionLevel of a permission has been modified to consist of a base protection type with additional flags. The signatureOrSystem permission has thus been converted to a signature base type with a new "system" flag; you can use "system" and/or "dangerous" flags with signature permissions as desired. The permissions UI has been updated to understand these new types of permissions and know when to display them. Along with doing that, it also now shows you which permissions are new when updating an existing application. This also starts laying the ground-work for "optional" permissions (which development permissions are a certain specialized form of). Completing that work requires some more features in the package manager to understand generic optional permissions (having a facility to not apply them when installing), along with the appropriate UI for the app and user to manage those permissions. Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
742a67127366c376fdf188ff99ba30b27d3bf90c |
|
04-May-2011 |
Amith Yamasani <yamasani@google.com> |
Multi-user - 1st major checkin Switching activity stacks Cache ContentProvider per user Long-press power to switch users (on phone) Added ServiceMap for separating services by user Launch PendingIntents on the correct user's uid Fix task switching from Recents list AppWidgetService is mostly working. Commands added to pm and am to allow creating and switching profiles. Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
39fe17c8fb764a9233182cc408e37b1a59182b00 |
|
30-Nov-2011 |
Romain Guy <romainguy@google.com> |
Cache drawable constant states instead of drawables Bug #5678369 Caching drawables directly in a static map was responsible for runtime restarts. If two different UI threads requested the same drawable, the first thread to issue the request would be given a drawable callback belonging to the second thread. This would cause an exception in ViewRootImpl on invalidate. The solution is to store the drawable states and to create a new drawable instance every time a drawable is requested from the cache. This is similar to how preloaded resources are handled. Change-Id: I47e24e2a168cf67a3589185c6cd77b70f9a1c7cf
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3a9b5fbb97e65019abec97f172b4cbf2100d1225 |
|
20-Sep-2011 |
Kenny Root <kroot@google.com> |
Unhide new PackageManager APIs for API 14 Change-Id: I83110285ccee39a4cd872a1c2af8357f541833d4
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
0aaa0d931716e9f57a1d84d795fab2df75092756 |
|
13-Sep-2011 |
Kenny Root <kroot@google.com> |
Add verifier device identity This adds a special device identifier that is usable only for device validation. The user will be presented with this number encoded in easily-transcribable Base32 in the Developer options of Settings. Change-Id: I4843f55ee90d689a51d0269b22454ca04c1be7ec
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
5ab2157bf1f105b02d3e2913cd3a33f9765b74ca |
|
27-Jul-2011 |
Kenny Root <kroot@google.com> |
Infrastructure to support package verifier Allow a package verifier to approve or disapprove of a package being installed. Change-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a51b6fd6f8a53f040894ef07cf23695581595e6b |
|
20-May-2011 |
Kenny Root <kroot@google.com> |
resolved conflicts for merge of b2d0ee16 to master Change-Id: I4483a6d0ccecfea4a1e66bb6eba80d13e8b9a3a4
|
e6cd0c747e76723bc51a23925c239ae10f9d3b5c |
|
19-May-2011 |
Kenny Root <kroot@google.com> |
resolved conflicts for merge of 2433c443 to honeycomb-plus-aosp Change-Id: I3385f57e5761679e6700bcbe3c41deb3ecd43ba1
|
0b285499db739ba50f2f839d633e763c70e67f96 |
|
15-Apr-2011 |
Amith Yamasani <yamasani@google.com> |
Plumbing in PackageManager and installd for multi-user support. - Create /data/user directory and symlink /data/user/0 -> /data/data for backward compatibility - Create data directories for all packages for new user - Remove data directories when removing a user - Create data directories for all users when a package is created - Clear / Remove data for multiple users - Fixed a bug in verifying the location of a system app - pm commands for createUser and removeUser (will be disabled later) - symlink duplicate lib directories to the original lib directory Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
4b2e934928a2eb65927bd39197198c28c49efb94 |
|
31-Mar-2011 |
Amith Yamasani <yamasani@google.com> |
Package manager changes to store and update user information. Some API stubs for managing users and storing their details. List of users is stored in an xml file. Each user's properties are stored in a separate xml file. Some unit tests for modifying the XML files. Change-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
08f16544176a04a958d403409f98cd0502bb8da3 |
|
20-Jan-2011 |
Joe Onorato <joeo@google.com> |
Don't log the full stack trace when we can't load a resource. Bug: 3369315 Change-Id: I3a586bbefccbd59a0e99d712efe9a1cd3da6d058
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
a1cbb94dbc9a82d4eb3a47242fe161af21803858 |
|
17-Jan-2011 |
Kenny Root <kroot@google.com> |
Revert "Add the {get,set}PackageObbPaths calls to API" This reverts commit 5d40fe9c6846ba765072e50ed1254293cb9195e4. Change-Id: Ie41010c92fb860b19a12bcf63f6fe95ffa68da81
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
5d40fe9c6846ba765072e50ed1254293cb9195e4 |
|
14-Jan-2011 |
Kenny Root <kroot@google.com> |
Add the {get,set}PackageObbPaths calls to API Add getPackageObbPaths() and setPackageObbPaths() to the public API. Bug: 3214719 Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
194157638ae59418b9d9cb4d73f7e285f59bc579 |
|
15-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix launching of activities that I broke. Change-Id: I39f4189bad6bdecdc7f9362410f36453fd816121
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
30d7189067524000c738c188c4ff91f84f474d25 |
|
11-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #3274841: Orientation change problem with a paused activity Plus a bunch of debug output improvements. And some new Intent helpers for dealing with restarting an app. Change-Id: I50ec56bca6a86c562156b13fe8a6fdf68038a12e
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
880119bf43d738ca632b5d3861eb52d655c1c0fc |
|
19-Nov-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement issue #2367442: Please add API for manipulating installer package names Change-Id: I0563e896a47ae1a6e77aebc2d624fb1bde52ffbc
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
3fa51e3430e3bf902ae4f2d72dfb956103b6bd2d |
|
11-Nov-2010 |
Alon Albert <aalbert@google.com> |
Improve logging Change-Id: Ia855b1a45a3abbc1a87233462f19b330b72d30b9
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|
390dae1a8b8c2da6a24f3246c8c277645bcc75dc |
|
10-Nov-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Move ApplicationPackageManager out of ContextImpl.java Change-Id: I706bce3fc4a5c7e6ee351d677899a01ac222960c
/frameworks/base/core/java/android/app/ApplicationPackageManager.java
|