History log of /frameworks/base/services/java/com/android/server/PackageManagerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2ed287b6ba7a05548240033f416bf1a646602e32 05-Aug-2009 Suchi Amalapurapu <asuchitra@google.com> fix issue with gids not being added for packages with shared user id

Squashed commit of the following:

commit 2bc4c29dab22d8a541dfca0a20320b307ba64cfb
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Tue Aug 4 16:24:55 2009 -0700

fix issue with gids not being added for packages with shared user id
/frameworks/base/services/java/com/android/server/PackageManagerService.java
f2c1072a3ba33828a1be6903a90c4b24c3bbdefb 30-Jul-2009 Suchi Amalapurapu <asuchitra@google.com> Change the resource path for fwd locked apps when scanning the fwd locked install
directory
/frameworks/base/services/java/com/android/server/PackageManagerService.java
261e66acd1963d9c404fd2d3ddc6ef99ccd745cf 28-Jul-2009 Suchi Amalapurapu <asuchitra@google.com> Fix resource code and version attributes
Create a new package setting object for updated system apps rather than moving
around the same setting. This updates the resource, code and version correctly.
For updating system packages, disable the package first which removes the entry
from internal structures, create a new package setting, add it to list of user id's
then rest of installation steps, kill the process if needed via ActivityManager
then add this setting if everything was successful. This also fixes issues with
updating values prematurely.

When a new version of system package is available via OTA, just physically remove
entries for pkg. Note that the component and other info will be eventually updated
later on when scanning the package.
Also move certificate verification slightly ahead before scanning packages.

Some null checks

New api's in ActivityManager to kill an application pkg before finishing installation
/frameworks/base/services/java/com/android/server/PackageManagerService.java
11b822d2a91ea17c34c0cb1c11e80a9a30d72864 22-Jul-2009 Dianne Hackborn <hackbod@google.com> Simplify density compatibility to a boolean.

Instead of a list, we now just have a single boolean indicating whether an
application is density aware, and this set set to true by default as of
Donut.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c4db95c077f826585d20be2f3db4043c53d30cf5 22-Jul-2009 Dianne Hackborn <hackbod@google.com> First pass at reworking screen density/size APIs.

This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources. Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
69fff4a72d4dfc9208db79d773ef3ca23350287e 21-Jul-2009 Mitsuru Oshima <oshima@google.com> * Disable compatibility mode for all cases.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
841f13c8e9ff3f7695b6c18a8abcec3c947983ff 18-Jul-2009 Mitsuru Oshima <oshima@google.com> * Reverted the change in PackageParser that I checked by accident
* More surface view fix.
- correct event translation on surface view.
- use compatible window
* removed FLAG_NO_COMPATIBILITY_SCALE. It was my misunderstanding of how SurfaceView works, and this was not necessary.
* Added compatibility related info to package dumpsys
/frameworks/base/services/java/com/android/server/PackageManagerService.java
ea5c044412f6853d686e93b8bef07f4729b6ad26 13-Jul-2009 Suchi Amalapurapu <asuchitra@google.com> When apps switch between system and data partition the code and
resource paths should also be updated based on which version
is being picked up. update the code and resource paths when a path change
is detected
/frameworks/base/services/java/com/android/server/PackageManagerService.java
854060af30f928c0a65591e9c8314ae17056e6b8 10-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix bug #1873249i: Apps can DoS/brick device

This is the problem where various things are listening for broadcasts
(such as battery status, PIN/PUK/Network) that an application can send
to cause harm to the system.

Solving this is tricky because many of these broadcasts are sticky,
and I have never figured out how to do permissions with sticky
broadcasts in a sane way. So instead, I am going to punt on the
general problem and just brute force it:

There is new a way for system components to declare specific
broadcast actions to be protected, which means that only the system
and the phone can send them. This is good enough for now. None
of it is exposed in the public API so we can make something a little
less stupid in the future if we ever need to.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
d595c79cdd16ab90fabbe2d4b352236f901c598b 03-Jul-2009 Marco Nelissen <marcone@google.com> Fix the simulator.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
b24a96701a2724bf69c5a34bd70a1bc7177ef0f2 01-Jul-2009 Suchi Amalapurapu <asuchitra@google.com> Remove the constraint to assign new uid when code path changes for system packages
/frameworks/base/services/java/com/android/server/PackageManagerService.java
de7faf658cd40d34c08a98b39477055da8e19172 30-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1673793: Theme styles don't apply.

It turns out this was not a problem in the resource code at all. Rather,
the system process has a cache of pre-loaded attributes it uses to avoid
continually reloading things as it needs them. Well it turns out this
cache wasn't flushed after a package was uninstalled or a configuration
changed, so you could re-install an app where you change its style resources
so its theme now points to one that is inconsistent in the cache.

This is mostly a problem for developers, where they continually install
new versions of an app where resources have changed. This could possibly
show up when updating an app on a normal phone, although the problem would
eventually correct itself since this cache uses weak references.

Anyway, the cache is now reworked to be flushed appropriately.

This change also includes an update to aapt to be able to dump the
contents of bags in resources.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
64f59342d41849bd365cb43fad7505d5e3daa417 21-Jun-2009 Mitsuru Oshima <oshima@google.com> * new screen resolution support impl.
* use full window for activities, and shift & clip the content
* refactored the compatibility code, and introdcued Translator class to handle cooridnate translations.
* removed a workaround to handle an activity with configChagne=rotation in old implementation.
* I'll fix background issue on rotation in next CL.

* removed unnecessary scaling code in SurfaceView, which I forgot to remove when I changed SurfaceView
not to scale the content.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
b97b8f88063e64449da6d27a48b711ac60ccc6c8 20-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Fix issue with shared user permissions.
just look in the requested permissions of packages within shared user setting rather than the granted permissions
/frameworks/base/services/java/com/android/server/PackageManagerService.java
bc806f65edc33f6eda0f475ac84e5e037a013a90 18-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
5c1e00b14d2ef10ec76abf3e951fa8003a67f558 19-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.

- Fix a bug where targetSdkVersion could not be set if minSdkVersion. Stupid, stupid.
Also make sure to fail if minSdkVersion is for a code name. Really stupid.

- Change the API for resize compatibility mode to be a bit in the flags field, instead
of a separate boolean.

- Implement delayed dexopting, to avoid the looong full dexopt during boot. This is
only enabled for "eng" builds. When in this mode, the activity manager will make
sure that a dexopt has been done before loading an .apk into a process, and will
try to avoid displaying ANRs if they are due to the dexopt causing some operation
to take longer than it normally would (though I make no guarantees about this
totally working).

- Add API to Context to get the ApplicationInfo for its package, for easy access to
things like targetSdkVersion.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c14b9ccdf13163cae5ce5d21bcf377010b37594b 18-Jun-2009 Dianne Hackborn <hackbod@google.com> Extend Intent/Uri conversion for use by Browser

This introduces a new Uri form of Intent with an "intent:" scheme, and a
corresponding update to the parser to handle these, so that the browser
can use this generic facility for starting activities based on the links
that are clicked and allow for web pages to link to arbitrary intents.

There is also a new "package" field on Intent which allows you to limit
the components it finds to a given package. This replaces the new method
that was added to PackageManger for doing this when resolving activities,
and implements it for all Intent queries against the package manager.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
1ccac75e1f1b97eccb916a8de04fc1012b30f6e5 12-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app
Create a new public IntentSender class that can be used by PackageManager instead.
This new class uses IIntentSender internally and can only be created by PendingIntent for now.
Provide a new getIntentSender api in PendingIntent to create an instance of this class.
Move IIntentSender and IIntentReceiver from android.app to android.content
Change imports of IIntentSender and IIntentReceiver to reflect the new package name
The PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage
once the older api(which has been deprecated) will be removed shortly.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
e5fb328825995aa33b5b7ecf8b5bee2b17f81715 10-Jun-2009 Mitsuru Oshima <oshima@google.com> resolution support fix/improvement
* adding compatibility menu
* backup gravity
* set expanable=true if the screen size is hvga * density.
* added "supports any density" mode. I'll add sdk check later.
* disallow to catch orientation change event if the app is not expandable. This
was causing layout problem under non-expandable mode. I discussed this with Mike C
and we agreed to do this approach for now. We'll revisit if this causes problem to
a lot of applications.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
701f5164c1230cc1416b1a1f3b0091ca68f6caec 04-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Grant permissions to older package when deleting an updated system application.
When a system app gets updated, the permissions are granted to the new pkg. Similary when this updated pkg(from data partition)
gets removed, the older pkg from system partition is restored. but the permissions are'nt being granted explicitly and so the restore fails.
This fix addresses specific bugs related to uninstall of updated system apps. These code paths will be revisited later but this fix is needed for OTA's that might
fall back to older versions of system apps.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
8dbe612dc60526d635e57257b58627b33a099678 03-Jun-2009 Satish Sampath <satish@android.com> Adding internal method replacePreferredActivity.

This was required because we need a way to set the preferred activity for a
particular intent filter based on user selection (in our case the
ACTION_WEB_SEARCH intent filter for selecting the preferred search engine from
the list of available search engines providers). The current
addPreferredActivity call was not sufficient since it leaves the existing
preferred activities in the list and does not remove them, which this call
does.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
5a3a77dabd744d5be79d7745c2a977c108a9ad98 01-Jun-2009 San Mehat <san@google.com> base: Rename WRITE_SDCARD -> WRITE_EXTERNAL_STORAGE

Signed-off-by: San Mehat <san@google.com>
/frameworks/base/services/java/com/android/server/PackageManagerService.java
b181118b6e58c0014da4e9d52bf38548adc73a8a 22-May-2009 Dianne Hackborn <hackbod@google.com> Define TARGET_CPU_ABI for finding native code in .apks
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c3320dbe1c7acf040a3ec895129d8aae09c570ea 18-May-2009 Mihai Preda <preda@google.com> Minor performance improvement when filtering intents by package.

Don't consider the activities that have no intent filters.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
074edef7c4fce50fc780e864068305f01965e3ac 18-May-2009 Mihai Preda <preda@google.com> remove unused ContentResolver parameter from IntentResolver.queryIntent.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
eae850cefe7e149f396c9e8ca1f34ec02b20a3f0 13-May-2009 Mihai Preda <preda@google.com> Allow intent resolution to be constrained by package name.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
b91081113692acc87ae67f235956ae1cecab68cc 14-May-2009 Dianne Hackborn <nobody@android.com> am 5d6d773: AI 148824: Fix issue #1851541 (sharedUserId requests not bei

Merge commit '5d6d773fab559fdc12e553d60d789f3991ac552c' into donut

* commit '5d6d773fab559fdc12e553d60d789f3991ac552c':
AI 148824: Fix issue #1851541 (sharedUserId requests not being checked for matching signatures on .apk).
5d6d773fab559fdc12e553d60d789f3991ac552c 14-May-2009 Dianne Hackborn <nobody@android.com> AI 148824: Fix issue #1851541 (sharedUserId requests not being checked for matching signatures on .apk).
To address issues where we could leave half-installed applications around if there was a failure during the install, we split getPackageLP() into two phases: the first would create the record, and only after doing all verification checks would we call insertPackageSettingLP() to do the remaining part of the original implementation and actually insert the record into the data structures.
Unfortunately it was only in insertPackageSettingLP() that we would set the sharedUser field of the PackageSetting structure, so when before that we went to verify certificates, we didn't think it had requested a shared user ID, and let it through without checking.
This fix simply sets the sharedUser field when the PackageSetting structure is first created, so we will actually check against its certs. We still also set this again in insertPackageSettingLP(), but there is no harm in this because the only time we call this function is in that big install func, which just passes in the same shared user that it had when first getting the package.
BUG=1851541

Automated import of CL 148824
/frameworks/base/services/java/com/android/server/PackageManagerService.java
ade3ecad94d1f4431576f53bae26c35efbf7a2c9 12-May-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1783881 (manifest option for adb-install-only apps)

You can now use android:testOnly="true" to not allow your .apk to be installed
as a normal app. The only way to do so is with the pm command and giving the
-t option, which sets a new INSTALL_ALLOW_TEST flag when installing.

I also used this to clean up the install API... actually, mostly to hide
it, since it is not accessible to apps so shouldn't be in the SDK. We
will be doing some more work on it, so this will prevent adding yet
another backwards-compatibility-for-no-reason version.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c64322c35212e919906ffd66118c7d5d3ad36636 28-Apr-2009 Jacek Surazski <jaceks@google.com> PackageManager keeps track of who installed what.

Stores the package name of the installer app in packages.xml
/frameworks/base/services/java/com/android/server/PackageManagerService.java
851a54143c15a1c33361efae2db3f7f45059b472 08-May-2009 Dianne Hackborn <hackbod@google.com> Implement targetSdkVersion and maxSdkVersion, plus version code names.

This adds new attributes for specifying a targetSdkVersion and maxSdkVersion.
There is a new ApplicationInfo flag that is set if the application has set
its targetSdkVersion to the current platform or later. Also you can now
use a string for minSdkVersion and targetSdkVerion, to indicate you are
building against a development tree instead of an official platform.
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c2af31f89bf3688db066c6eaee44d3b6bdc1d6ef 08-May-2009 Suchi Amalapurapu <asuchitra@google.com> Squashed commit of the following:

commit 85585eb0860e52a3dc3b8efe57ef8b30ee35c98d
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Thu May 7 11:59:24 2009 -0700

Remove new error code in PackageManager.
Remove version check in installation code path. Let the install continue irrespective of version number.
Check if data needs to be wiped(for downgrades only) in uninstallation code path.
Also remove only code and resources when checking for updated system packages(via ota)
Add version attribute when persisting package settings

commit f90797348c5170e6263d249e4fc77f1c0328eb27
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Thu May 7 10:54:07 2009 -0700

remove trailing white spaces
hide new install code in PackageManager

commit 397eb81265160f73caf9827d381ed6622041d54e
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Thu May 7 10:33:23 2009 -0700

Add version check in install and uninstall code paths.
New error code for invalid upgrades in PackageManager
/frameworks/base/services/java/com/android/server/PackageManagerService.java
1d442e0d990b581357f33f5463c7c5cb49b551e8 21-Apr-2009 Dianne Hackborn <hackbod@google.com> More optimization of dumpsys output.

There are three major classes of changes here:

- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c4dd60fd4a8df20f01f3f43c3e7b15a5252f51a7 25-Mar-2009 Suchi Amalapurapu <> Automated import from //branches/donutburger/...@141958,141958
/frameworks/base/services/java/com/android/server/PackageManagerService.java
96f4357e065124eda502ee5ad29b6d327d7ad446 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@141523,141523
/frameworks/base/services/java/com/android/server/PackageManagerService.java
7f0ed3c071132a2ad1f4a7a973de06415881c365 25-Mar-2009 Suchi Amalapurapu <> Automated import from //branches/cupcake/...@141957,141957
/frameworks/base/services/java/com/android/server/PackageManagerService.java
f63220f58e29673eba1c6228c04b43fb680af5f2 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@140828,140828
/frameworks/base/services/java/com/android/server/PackageManagerService.java
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
/frameworks/base/services/java/com/android/server/PackageManagerService.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/services/java/com/android/server/PackageManagerService.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
/frameworks/base/services/java/com/android/server/PackageManagerService.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/PackageManagerService.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/PackageManagerService.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/services/java/com/android/server/PackageManagerService.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/services/java/com/android/server/PackageManagerService.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/frameworks/base/services/java/com/android/server/PackageManagerService.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/services/java/com/android/server/PackageManagerService.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/frameworks/base/services/java/com/android/server/PackageManagerService.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/base/services/java/com/android/server/PackageManagerService.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/services/java/com/android/server/PackageManagerService.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/services/java/com/android/server/PackageManagerService.java