summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/pm
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-02-11 15:57:09 -0800
committerDianne Hackborn <hackbod@google.com>2010-02-11 20:02:20 -0800
commit470969346d7958f859d97d1a136b4ecc11e2a464 (patch)
treec9c1ec33c9b3dd2463ffa4b7704cd87e1a12ca9c /core/java/android/content/pm
parentb509065a586d11e6800373d0a57f5296428f2d89 (diff)
downloadframeworks_base-470969346d7958f859d97d1a136b4ecc11e2a464.zip
frameworks_base-470969346d7958f859d97d1a136b4ecc11e2a464.tar.gz
frameworks_base-470969346d7958f859d97d1a136b4ecc11e2a464.tar.bz2
Add APIs for mapping between new and current package names.
This will allow Market and others to find out what the "real" name of a package is, when it is currently running under the old name of a previously installed version.
Diffstat (limited to 'core/java/android/content/pm')
-rw-r--r--core/java/android/content/pm/IPackageManager.aidl3
-rw-r--r--core/java/android/content/pm/PackageManager.java17
2 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index 2c8c112..47789a5 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -47,6 +47,9 @@ interface IPackageManager {
PackageInfo getPackageInfo(String packageName, int flags);
int getPackageUid(String packageName);
int[] getPackageGids(String packageName);
+
+ String[] currentToCanonicalPackageNames(in String[] names);
+ String[] canonicalToCurrentPackageNames(in String[] names);
PermissionInfo getPermissionInfo(String name, int flags);
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index a61eab9..17bee48 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -691,6 +691,23 @@ public abstract class PackageManager {
throws NameNotFoundException;
/**
+ * Map from the current package names in use on the device to whatever
+ * the current canonical name of that package is.
+ * @param names Array of current names to be mapped.
+ * @return Returns an array of the same size as the original, containing
+ * the canonical name for each package.
+ */
+ public abstract String[] currentToCanonicalPackageNames(String[] names);
+
+ /**
+ * Map from a packages canonical name to the current name in use on the device.
+ * @param names Array of new names to be mapped.
+ * @return Returns an array of the same size as the original, containing
+ * the current name for each package.
+ */
+ public abstract String[] canonicalToCurrentPackageNames(String[] names);
+
+ /**
* Return a "good" intent to launch a front-door activity in a package,
* for use for example to implement an "open" button when browsing through
* packages. The current implementation will look first for a main