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
|