summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/PackageManagerService.java
AgeCommit message (Collapse)Author
2011-03-22Split PackageManagerService into subclassesKenny Root
Split PackageManagerService from one monolithic class with several inner classes to several classes. This will help determining how its data structures can be reshuffled to provide better separation of concerns. Change-Id: Ic7571daebdcf13ce08e08f34204c5bbf4140139b
2011-03-22Add generic types and more cleanupKenny Root
Removing some unused methods, adding generics where possible to avoid future mistakes, and just more cleanups of warnings. Change-Id: Ie62206f87dc19544b9dc039faa0159fc46ebc259
2011-03-22PackageManager: Remove unused methods and more debug flagsKenny Root
Change-Id: Ib44c2b9f3bf8f8ccf6b79771aee7481bd6a0d1e3
2011-03-22PackageManager: mark some ints finalKenny Root
Change-Id: I72ddeeae6bcd5df291b1c96020a0eca3e6552e41
2011-03-22PackageManager: get rid of Config.LOG[DV]Kenny Root
Change-Id: If7fb1ce80dd36afb980f04687579580992c27f64
2011-03-22Reorganize imports for PackageManagerServiceKenny Root
Change-Id: I62e6cb8088086a9f5c3983145a08b44b782693e4
2011-03-22Merge "Remove unused items in setInstallerPackageName"Kenny Root
2011-03-17am 074903a9: am eca7ff02: am 87f50f19: Merge "PACKAGE_FIRST_LAUNCH intent ↵Paul Milovanov
sent to wrong pkg" into honeycomb-mr1 * commit '074903a95b2e48ee6431eb7a586dfa541e08d559': PACKAGE_FIRST_LAUNCH intent sent to wrong pkg
2011-03-16PACKAGE_FIRST_LAUNCH intent sent to wrong pkgPaul Milovanov
In PackageManagerService, intent with ACTION_PACKAGE_FIRST_LAUNCH was being sent to wrong package. It was being sent to the installed package with installer package in the URI, whereas it should be sent to installer package with installed package in the URI. Comment in Intent.java:1417 seems to support that intent with this action should be sent to the installer package, not installed. Bug: 3426299 Change-Id: Iadec4ae7a1af6bab434716f8fcdb7d0b099d1ee1
2011-03-14Revise free space checks for package installsKenny Root
Change-Id: Ie72bbab77aa89a50ec096edc1f471eab74829e67
2011-03-04Refector preferred activity code out of package manager.Dianne Hackborn
This may be useful for others... such as USB preferred devices, maybe? Change-Id: I204081e2c84ccff6982a500baaf3540a80839a4b
2011-03-01Switch to returnCode for IPackageDeleteObserverKenny Root
Before the IPackageDeleteObserver only knew whether the deletion succeeded or failed, but not the reason why. Bug: 2520191 Change-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b
2011-02-28Remove unused items in setInstallerPackageNameKenny Root
We don't require the INSTALL_PACKAGES permission to setInstallerPackageName, so don't bother checking for it. Change-Id: I43e7026362b6046a7eeaa0aa29f783b3ba082bf6
2011-02-25Implement issue #3426299: Introduce application "stopped" stateDianne Hackborn
The package manager now keeps track of whether an application is stopped. There are new intent flags to control whether intent filters in a stopped application will match the intent. This is currently used in one place, sending broadcasts, so that stopped apps can not be launched due to background processes. The package manager during first init makes sure no applications are in the stopped state. When new applications are installed, that begin in the stopped state. When the activity manager is launching a component of an application, it ensures the application is taken out of the stopped state. The "force stop" button in manage applications will now put an application back in to the stopped state; it can't go back out of the stopped state until one of its components is launched by the activity manager. There will probably be a few more places where we need to filter stopped applications out of intent matches, but doing this for broadcast is a very big first step. This also introduces a new broadcast that is sent to an application after it is replaced with a new .apk. But only if the app is not in the stopped state. This makes it a lot easier for developers to implement code to get their application back in proper running shape after an upgrade. Finally another new broadcast is added that is sent to a package's installer at the first time it is launched. This allows the installer to tell the package about it being installed only when it is first actually used. Change-Id: I589c53ff0e0ece868fe734ace4439c0d202dca2d
2011-02-23Fix measurement of external media dirKenny Root
Change-Id: I90a39c6a506ad0e5d18b40824d06eb1a7e376a3e
2011-02-02Remove defunct secure FS workKenny Root
Bug: 3365047 Change-Id: I68eaea295881f5431907e1b93bdd73e644e84aa5
2011-01-31am 6cf32312: Merge "Do not check features in PackageManagerService" into ↵Dianne Hackborn
honeycomb * commit '6cf32312aaee6716ffd1df7098838b08d80054e4': Do not check features in PackageManagerService
2011-01-31Do not check features in PackageManagerServiceKenny Root
PackageManagerService shouldn't check features that a package declares that it uses because this will cause problems in the future when we add more features that older phones didn't explicitly declare. We must rely on markets to know about phones and filter them for us to avoid this situation. Bug: 3409434 Change-Id: I419a5b936be3572b83a485081a6c81b2f1c8741c
2011-01-30Mass merge from gingerbread - do not mergeThe Android Open Source Project
Change-Id: I45dc3596bf4211d8f91c64f2d1d00588878df629
2011-01-26am 91c459ec: Copy user info from PackageSetting as wellKenny Root
* commit '91c459ec7dba6d56816ff5cbd92c627e0f718915': Copy user info from PackageSetting as well
2011-01-24Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...Dianne Hackborn
...Invalid index 0, size is 0 at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2326) It looks like if an arrow key is dispatched between the time the list view is told its data set has changed and it does the resulting layout pass, we could try to move the position to a now invalid index. This may prevent that from happening. Also put in a better error message if saving state of a fragment whose target is no longer in the fragment manager. And fix a bug in PackageManager where we could return a null from queryIntentActivities(). And add a new API to find out whether a fragment is being removed, to help fix issue #3306021: NPE at android.app.AlertDialog.getDefaultDialogTheme(AlertDialog.java) Next, for new HC apps we can delay committing data to storage until the activity is stopped. Finally, use the new multi-threaded AyncTask executor in a few places, so we don't have worked blocked by long-running tasks from the application. Change-Id: I27b2aafedf2e1bf3a2316309889613fa539760f3
2011-01-18Erase OBB files when removing packagesKenny Root
OBB files on USB storage or SD card should be removed when an application is removed. Bug: 3356804 Change-Id: Ifbbf043368b125fcd47fd74e5cd2e5167a8deb00
2011-01-17Revert "Add the {get,set}PackageObbPaths calls to API"Kenny Root
This reverts commit 5d40fe9c6846ba765072e50ed1254293cb9195e4. Change-Id: Ie41010c92fb860b19a12bcf63f6fe95ffa68da81
2011-01-17Add OBB size to PackageStatsKenny Root
Bug: 3356814 Change-Id: I4f871fb9fd0cb2f3177cc756631f95d928862571
2011-01-16Put externalSize measurements in PackageStatsKenny Root
When measuring a package's usage, put the external size in the PackageStats as well. This will allow programs using a lot of space on the external card to be held accountable. Bug: 3308791 Change-Id: If2df07bdbf6ffb31577074fad8f4a87ca4e89086
2011-01-16Add manifest API to request a large heap.Dianne Hackborn
You can now do android:largeHeap="true" on an application. Doesn't yet do anything, waiting for Dalvik API. Also tweak package parsing so that the SDK API level is set in the configuration, allowing manifest resource value selection based on that. Change-Id: I6e035f9702a97b055416743b88f83a22ba4a9584
2011-01-14Check for null in PackageSetting constructorKenny Root
Should bring honeycomb into parity with gingerbread changes. Change-Id: Ieb48a0e420d4c2981130f268aba9b24f4fe25b84
2011-01-14Add the {get,set}PackageObbPaths calls to APIKenny Root
Add getPackageObbPaths() and setPackageObbPaths() to the public API. Bug: 3214719 Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
2011-01-13Deep clone settings for system package updateKenny Root
The copyFrom() method was not written to create a clone of the PackageSetting, so just create a new constructor that actually does a clone. Bug: 3349588 Change-Id: I61864869154340420f005cd5120cad751de30ee8
2011-01-13Revert "Remove the APIs for the old encryption scheme."Jason parks
This reverts commit 1125d780a8b61703b8eb28c5c77dac5f3f0022dd.
2011-01-13Merge "Remove the APIs for the old encryption scheme." into honeycombJason parks
2011-01-12Remove the APIs for the old encryption scheme.Jason parks
Change-Id: I55116a5b29b10dfd50015805ec019b485257f68b
2011-01-12Allow updated system apps to retain priorityKenny Root
Previously any updated system apps would not be able to have a greater than 0 priority on an activity intent filter. Moving the priority check later in the package scanning allows it to apply to updated system packages as well. Cherry-pick from gingerbread branch Bug: 2572398 Change-Id: I95d8b6360bf7a3f39cd7a1ff09e1ee57e11583d8
2011-01-11Copy user info from PackageSetting as wellKenny Root
In order not to clobber the internal system's settings, we duplicate it before putting it back into mPackages, but the PackageSetting has a couple extra pieces of information that weren't being copied. Bug: 3339279 Change-Id: Ic9b64117f287d53f2c0cebb924c775405690938e
2011-01-11Copy user info from PackageSetting as wellKenny Root
In order not to clobber the internal system's settings, we duplicate it before putting it back into mPackages, but the PackageSetting has a couple extra pieces of information that weren't being copied. Bug: 3339279 Change-Id: I047087ac3477c7b2d5ce23e5e0a5e8c094bd0d3f
2011-01-09Merge commit '690d20bb53ba2485f59d128b365eff991d5cc3e6' into manualmergeDianne Hackborn
2011-01-07Fix check for required featuresKenny Root
The required features check was in an null check for usesLibraries, so it wasn't checking for required features when an application did not use a library. Bug: 3331713 Change-Id: I96d366ba00d4962b84f3796be97e2b622eb331a5
2010-12-22Fix issue # 3227963: SecurityException: Neither user 10023 nor...Dianne Hackborn
...current process has android.permission.WAKE_LOCK When updating a system app, we would actually uninstall the package of the system app, which also meant removing its uid...! It was just luck that we would get the same uid when installing the update after that. During that time, if anyone tried to do anything related to that uid, it would be unknown. This change tweaks how we go about replacing system apps by making it more like normal apps -- to make this work, if we need to disable the system app, we generate a new PackageSetting from the current system app and replace it into our data structures, so we can update that without trashing the current correct information about the (still actually there) system app. Also fixed a problem where we were not killing the currently running app before installing, like we do when updating a normal application. And fixed a problem where we were not deleting the /data .apk when uninstalling a system app update. And added a new option to the "pm" command to clear the data associated with an app. Change-Id: I0e879677849aa42950a3c360bf78ad820e87674b
2010-12-20am d485c76b: am c8e8a12b: Merge "Fix issue #3289835: NullPointerException ↵Dianne Hackborn
in..." into gingerbread * commit 'd485c76b5e09a8c311f8f129cbe5ec75499556be': Fix issue #3289835: NullPointerException in...
2010-12-16Fix issue #3289835: NullPointerException in...Dianne Hackborn
..PackageManagerService.grantPermissionsLP when updating system app Change-Id: I36c1b96d2fe9a8737843d30f3a2669935fc281bb
2010-12-13resolved conflicts for merge of 78e9f4cb to masterDianne Hackborn
Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
2010-12-13Fix issue #3154576: battery stats checkin should include UID -> packages+ mapDianne Hackborn
Includes some other small fixes to battery collection and a few other things. Output of package info looks like this: 5,0,i,uid,1000,com.android.settings 5,0,i,uid,1000,com.android.providers.subscribedfeeds 5,0,i,uid,1000,com.android.providers.settings 5,0,i,uid,1000,com.android.server.vpn 5,0,i,uid,1000,android 5,0,i,uid,1000,com.android.systemui 5,0,i,uid,1000,com.google.android.backup 5,0,i,uid,1001,com.android.phone 5,0,i,uid,1001,com.android.providers.telephony 5,0,i,uid,1022,com.android.nfc 5,0,i,uid,10021,com.google.android.location 5,0,i,uid,10021,com.google.android.syncadapters.calendar 5,0,i,uid,10021,com.google.android.gsf 5,0,i,uid,10021,com.google.android.syncadapters.contacts 5,0,i,uid,10026,com.android.providers.downloads.ui 5,0,i,uid,10026,com.android.providers.media 5,0,i,uid,10026,com.android.providers.drm 5,0,i,uid,10026,com.android.providers.downloads 5,0,i,uid,10032,com.android.launcher 5,0,i,uid,10039,com.google.android.gm 5,0,i,uid,10041,com.google.android.gallery3d 5,0,i,uid,10049,com.android.providers.calendar Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
2010-11-19Implement issue #2367442: Please add API for manipulating installerDianne Hackborn
package names Change-Id: I0563e896a47ae1a6e77aebc2d624fb1bde52ffbc
2010-11-15Fix more things that CloseGuard found.Brad Fitzpatrick
Not terribly happy with how the code looks after, though. Change-Id: I7bf5f78ef6c0ac82339a2e49488ca6e64d13c05e
2010-11-15Close some things in system_server that CloseGuard found.Brad Fitzpatrick
Change-Id: I788c022235caddcb1972a34131442a683cd51eb5
2010-11-08make the resolver activity's items visibleJoe Onorato
Change-Id: Ic02c834c01c3d71d6e1c073f986b87ae5faa1da0
2010-11-05Reorganize PackageManager dump to avoid NPEKenny Root
versionCode and mVersionName were added recently but ps.pkg can be null in some situations. Move them to where it will check before dereferencing it. Bug: 3152896 Change-Id: If992a1f29ac7b8f595f847b7743fd2374662bb6e
2010-11-04Integrate StrictMode with CloseGuardBrian Carlstrom
In additional to adding the StringMode API for controling CloseGuard, this checkin fixes several CloseGuard issues found booting a device. Bug: 3041575 Change-Id: I4dffd184f49438d6d477ed81a1c2a2a5b56cc76b
2010-10-22Reorganize PackageManager dump to avoid NPEKenny Root
versionCode and mVersionName were added recently but ps.pkg can be null in some situations. Move them to where it will check before dereferencing it. Bug: 3121050 Change-Id: I46081f300e7a40354cb757f9eaa7ec98b9334c8b
2010-10-21resolved conflicts for merge of 368fdba4 to masterBrad Fitzpatrick
Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d