diff options
-rw-r--r-- | api/current.xml | 6 | ||||
-rw-r--r-- | core/java/android/content/pm/PackageManager.java | 18 | ||||
-rw-r--r-- | core/res/AndroidManifest.xml | 8 | ||||
-rw-r--r-- | services/java/com/android/server/PackageManagerService.java | 127 |
4 files changed, 18 insertions, 141 deletions
diff --git a/api/current.xml b/api/current.xml index a60c3a1..1dbe58f 100644 --- a/api/current.xml +++ b/api/current.xml @@ -976,7 +976,7 @@ value=""android.permission.SET_PREFERRED_APPLICATIONS"" static="true" final="true" - deprecated="not deprecated" + deprecated="deprecated" visibility="public" > </field> @@ -41097,7 +41097,7 @@ synchronized="false" static="false" final="false" - deprecated="not deprecated" + deprecated="deprecated" visibility="public" > <parameter name="packageName" type="java.lang.String"> @@ -41850,7 +41850,7 @@ synchronized="false" static="false" final="false" - deprecated="not deprecated" + deprecated="deprecated" visibility="public" > <parameter name="packageName" type="java.lang.String"> diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index e2030be..03d2a6d 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1656,21 +1656,19 @@ public abstract class PackageManager { IPackageStatsObserver observer); /** - * Add a new package to the list of preferred packages. This new package - * will be added to the front of the list (removed from its current location - * if already listed), meaning it will now be preferred over all other - * packages when resolving conflicts. - * - * @param packageName The package name of the new package to make preferred. + * @deprecated This function no longer does anything; it was an old + * approach to managing preferred activities, which has been superceeded + * (and conflicts with) the modern activity-based preferences. */ + @Deprecated public abstract void addPackageToPreferred(String packageName); /** - * Remove a package from the list of preferred packages. If it was on - * the list, it will no longer be preferred over other packages. - * - * @param packageName The package name to remove. + * @deprecated This function no longer does anything; it was an old + * approach to managing preferred activities, which has been superceeded + * (and conflicts with) the modern activity-based preferences. */ + @Deprecated public abstract void removePackageFromPreferred(String packageName); /** diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 1c3cf3c..0d03ff2 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -597,11 +597,9 @@ android:label="@string/permlab_getPackageSize" android:description="@string/permdesc_getPackageSize" /> - <!-- Allows an application to modify the list of preferred applications - with the {@link android.content.pm.PackageManager#addPackageToPreferred - PackageManager.addPackageToPreferred()} and - {@link android.content.pm.PackageManager#removePackageFromPreferred - PackageManager.removePackageFromPreferred()} methods. --> + <!-- @deprecated No longer useful, see + {@link android.content.pm.PackageManager#addPackageToPreferred} + for details. --> <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="dangerous" diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 5ed2d35..9382146 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -2966,12 +2966,6 @@ class PackageManagerService extends IPackageManager.Stub { TAG, "Removing package " + pkg.applicationInfo.packageName ); synchronized (mPackages) { - if (pkg.mPreferredOrder > 0) { - mSettings.mPreferredPackages.remove(pkg); - pkg.mPreferredOrder = 0; - updatePreferredIndicesLP(); - } - clearPackagePreferredActivitiesLP(pkg.packageName); mPackages.remove(pkg.applicationInfo.packageName); @@ -4938,62 +4932,17 @@ class PackageManagerService extends IPackageManager.Stub { public void addPackageToPreferred(String packageName) { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.SET_PREFERRED_APPLICATIONS, null); - - synchronized (mPackages) { - PackageParser.Package p = mPackages.get(packageName); - if (p == null) { - return; - } - PackageSetting ps = (PackageSetting)p.mExtras; - if (ps != null) { - mSettings.mPreferredPackages.remove(ps); - mSettings.mPreferredPackages.add(0, ps); - updatePreferredIndicesLP(); - mSettings.writeLP(); - } - } + Log.w(TAG, "addPackageToPreferred: no longer implemented"); } public void removePackageFromPreferred(String packageName) { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.SET_PREFERRED_APPLICATIONS, null); - - synchronized (mPackages) { - PackageParser.Package p = mPackages.get(packageName); - if (p == null) { - return; - } - if (p.mPreferredOrder > 0) { - PackageSetting ps = (PackageSetting)p.mExtras; - if (ps != null) { - mSettings.mPreferredPackages.remove(ps); - p.mPreferredOrder = 0; - updatePreferredIndicesLP(); - mSettings.writeLP(); - } - } - } - } - - private void updatePreferredIndicesLP() { - final ArrayList<PackageSetting> pkgs - = mSettings.mPreferredPackages; - final int N = pkgs.size(); - for (int i=0; i<N; i++) { - pkgs.get(i).pkg.mPreferredOrder = N - i; - } + Log.w(TAG, "removePackageFromPreferred: no longer implemented"); } public List<PackageInfo> getPreferredPackages(int flags) { - synchronized (mPackages) { - final ArrayList<PackageInfo> res = new ArrayList<PackageInfo>(); - final ArrayList<PackageSetting> pref = mSettings.mPreferredPackages; - final int N = pref.size(); - for (int i=0; i<N; i++) { - res.add(generatePackageInfo(pref.get(i).pkg, flags)); - } - return res; - } + return new ArrayList<PackageInfo>(); } public void addPreferredActivity(IntentFilter filter, int match, @@ -5307,13 +5256,6 @@ class PackageManagerService extends IPackageManager.Stub { pw.println("Preferred Activities:"); mSettings.mPreferredActivities.dump(pw, " "); pw.println(" "); - pw.println("Preferred Packages:"); - { - for (PackageSetting ps : mSettings.mPreferredPackages) { - pw.print(" "); pw.println(ps.name); - } - } - pw.println(" "); pw.println("Permissions:"); { for (BasePermission p : mSettings.mPermissions.values()) { @@ -6064,10 +6006,6 @@ class PackageManagerService extends IPackageManager.Stub { private final File mBackupSettingsFilename; private final HashMap<String, PackageSetting> mPackages = new HashMap<String, PackageSetting>(); - // The user's preferred packages/applications, in order of preference. - // First is the most preferred. - private final ArrayList<PackageSetting> mPreferredPackages = - new ArrayList<PackageSetting>(); // List of replaced system applications final HashMap<String, PackageSetting> mDisabledSysPackages = new HashMap<String, PackageSetting>(); @@ -6112,9 +6050,6 @@ class PackageManagerService extends IPackageManager.Stub { final HashMap<String, BasePermission> mPermissionTrees = new HashMap<String, BasePermission>(); - private final ArrayList<String> mPendingPreferredPackages - = new ArrayList<String>(); - private final StringBuilder mReadMessages = new StringBuilder(); private static final class PendingPackage extends PackageSettingBase { @@ -6598,16 +6533,6 @@ class PackageManagerService extends IPackageManager.Stub { writeDisabledSysPackage(serializer, pkg); } - serializer.startTag(null, "preferred-packages"); - int N = mPreferredPackages.size(); - for (int i=0; i<N; i++) { - PackageSetting pkg = mPreferredPackages.get(i); - serializer.startTag(null, "item"); - serializer.attribute(null, "name", pkg.name); - serializer.endTag(null, "item"); - } - serializer.endTag(null, "preferred-packages"); - serializer.startTag(null, "preferred-activities"); for (PreferredActivity pa : mPreferredActivities.filterSet()) { serializer.startTag(null, "item"); @@ -6885,7 +6810,7 @@ class PackageManagerService extends IPackageManager.Stub { } else if (tagName.equals("shared-user")) { readSharedUserLP(parser); } else if (tagName.equals("preferred-packages")) { - readPreferredPackagesLP(parser); + // no longer used. } else if (tagName.equals("preferred-activities")) { readPreferredActivitiesLP(parser); } else if(tagName.equals("updated-package")) { @@ -6939,19 +6864,6 @@ class PackageManagerService extends IPackageManager.Stub { } mPendingPackages.clear(); - N = mPendingPreferredPackages.size(); - mPreferredPackages.clear(); - for (int i=0; i<N; i++) { - final String name = mPendingPreferredPackages.get(i); - final PackageSetting p = mPackages.get(name); - if (p != null) { - mPreferredPackages.add(p); - } else { - Log.w(TAG, "Unknown preferred package: " + name); - } - } - mPendingPreferredPackages.clear(); - mReadMessages.append("Read completed successfully: " + mPackages.size() + " packages, " + mSharedUsers.size() + " shared uids\n"); @@ -7410,37 +7322,6 @@ class PackageManagerService extends IPackageManager.Stub { } } - private void readPreferredPackagesLP(XmlPullParser parser) - throws XmlPullParserException, IOException { - int outerDepth = parser.getDepth(); - int type; - while ((type=parser.next()) != XmlPullParser.END_DOCUMENT - && (type != XmlPullParser.END_TAG - || parser.getDepth() > outerDepth)) { - if (type == XmlPullParser.END_TAG - || type == XmlPullParser.TEXT) { - continue; - } - - String tagName = parser.getName(); - if (tagName.equals("item")) { - String name = parser.getAttributeValue(null, "name"); - if (name != null) { - mPendingPreferredPackages.add(name); - } else { - reportSettingsProblem(Log.WARN, - "Error in package manager settings: <preferred-package> has no name at " - + parser.getPositionDescription()); - } - } else { - reportSettingsProblem(Log.WARN, - "Unknown element under <preferred-packages>: " - + parser.getName()); - } - XmlUtils.skipCurrentTag(parser); - } - } - private void readPreferredActivitiesLP(XmlPullParser parser) throws XmlPullParserException, IOException { int outerDepth = parser.getDepth(); |