Loading services/core/java/com/android/server/pm/PackageManagerService.java +2 −18 Original line number Diff line number Diff line Loading @@ -19867,7 +19867,7 @@ public class PackageManagerService extends IPackageManager.Stub final PreferredIntentResolver pir = mSettings.editPreferredActivitiesLPw(userId); final ArrayList<PreferredActivity> existing = pir.findFilters(filter); if (removeExisting && existing != null) { removeFiltersLocked(pir, filter, existing); mSettings.removeFiltersLPw(pir, filter, existing); } pir.addFilter(new PreferredActivity(filter, match, set, activity, always)); scheduleWritePackageRestrictionsLocked(userId); Loading Loading @@ -19968,7 +19968,7 @@ public class PackageManagerService extends IPackageManager.Stub } } if (existing != null) { removeFiltersLocked(pir, filter, existing); mSettings.removeFiltersLPw(pir, filter, existing); } } } Loading @@ -19976,22 +19976,6 @@ public class PackageManagerService extends IPackageManager.Stub "Replacing preferred", false); } private void removeFiltersLocked(@NonNull PreferredIntentResolver pir, @NonNull IntentFilter filter, @NonNull List<PreferredActivity> existing) { if (DEBUG_PREFERRED) { Slog.i(TAG, existing.size() + " preferred matches for:"); filter.dump(new LogPrinter(Log.INFO, TAG), " "); } for (int i = existing.size() - 1; i >= 0; --i) { final PreferredActivity pa = existing.get(i); if (DEBUG_PREFERRED) { Slog.i(TAG, "Removing preferred activity " + pa.mPref.mComponent + ":"); pa.dump(new LogPrinter(Log.INFO, TAG), " "); } pir.removeFilter(pa); } } @Override public void clearPackagePreferredActivities(String packageName) { final int callingUid = Binder.getCallingUid(); services/core/java/com/android/server/pm/Settings.java +22 −2 Original line number Diff line number Diff line Loading @@ -102,7 +102,6 @@ import com.android.internal.util.XmlUtils; import com.android.permission.persistence.RuntimePermissionsPersistence; import com.android.permission.persistence.RuntimePermissionsState; import com.android.server.LocalServices; import com.android.server.pm.Installer.Batch; import com.android.server.pm.Installer.InstallerException; import com.android.server.pm.parsing.PackageInfoUtils; import com.android.server.pm.parsing.pkg.AndroidPackage; Loading Loading @@ -3192,6 +3191,22 @@ public final class Settings { } } void removeFiltersLPw(@NonNull PreferredIntentResolver pir, @NonNull IntentFilter filter, @NonNull List<PreferredActivity> existing) { if (PackageManagerService.DEBUG_PREFERRED) { Slog.i(TAG, existing.size() + " preferred matches for:"); filter.dump(new LogPrinter(Log.INFO, TAG), " "); } for (int i = existing.size() - 1; i >= 0; --i) { final PreferredActivity pa = existing.get(i); if (PackageManagerService.DEBUG_PREFERRED) { Slog.i(TAG, "Removing preferred activity " + pa.mPref.mComponent + ":"); pa.dump(new LogPrinter(Log.INFO, TAG), " "); } pir.removeFilter(pa); } } private void applyDefaultPreferredActivityLPw( PackageManagerInternal pmInternal, IntentFilter tmpPa, ComponentName cn, int userId) { // The initial preferences only specify the target activity Loading Loading @@ -3395,8 +3410,13 @@ public final class Settings { Slog.w(TAG, "Malformed mimetype " + intent.getType() + " for " + cn); } } final PreferredIntentResolver pir = editPreferredActivitiesLPw(userId); final List<PreferredActivity> existing = pir.findFilters(filter); if (existing != null) { removeFiltersLPw(pir, filter, existing); } PreferredActivity pa = new PreferredActivity(filter, systemMatch, set, cn, true); editPreferredActivitiesLPw(userId).addFilter(pa); pir.addFilter(pa); } else if (haveNonSys == null) { StringBuilder sb = new StringBuilder(); sb.append("No component "); Loading Loading
services/core/java/com/android/server/pm/PackageManagerService.java +2 −18 Original line number Diff line number Diff line Loading @@ -19867,7 +19867,7 @@ public class PackageManagerService extends IPackageManager.Stub final PreferredIntentResolver pir = mSettings.editPreferredActivitiesLPw(userId); final ArrayList<PreferredActivity> existing = pir.findFilters(filter); if (removeExisting && existing != null) { removeFiltersLocked(pir, filter, existing); mSettings.removeFiltersLPw(pir, filter, existing); } pir.addFilter(new PreferredActivity(filter, match, set, activity, always)); scheduleWritePackageRestrictionsLocked(userId); Loading Loading @@ -19968,7 +19968,7 @@ public class PackageManagerService extends IPackageManager.Stub } } if (existing != null) { removeFiltersLocked(pir, filter, existing); mSettings.removeFiltersLPw(pir, filter, existing); } } } Loading @@ -19976,22 +19976,6 @@ public class PackageManagerService extends IPackageManager.Stub "Replacing preferred", false); } private void removeFiltersLocked(@NonNull PreferredIntentResolver pir, @NonNull IntentFilter filter, @NonNull List<PreferredActivity> existing) { if (DEBUG_PREFERRED) { Slog.i(TAG, existing.size() + " preferred matches for:"); filter.dump(new LogPrinter(Log.INFO, TAG), " "); } for (int i = existing.size() - 1; i >= 0; --i) { final PreferredActivity pa = existing.get(i); if (DEBUG_PREFERRED) { Slog.i(TAG, "Removing preferred activity " + pa.mPref.mComponent + ":"); pa.dump(new LogPrinter(Log.INFO, TAG), " "); } pir.removeFilter(pa); } } @Override public void clearPackagePreferredActivities(String packageName) { final int callingUid = Binder.getCallingUid();
services/core/java/com/android/server/pm/Settings.java +22 −2 Original line number Diff line number Diff line Loading @@ -102,7 +102,6 @@ import com.android.internal.util.XmlUtils; import com.android.permission.persistence.RuntimePermissionsPersistence; import com.android.permission.persistence.RuntimePermissionsState; import com.android.server.LocalServices; import com.android.server.pm.Installer.Batch; import com.android.server.pm.Installer.InstallerException; import com.android.server.pm.parsing.PackageInfoUtils; import com.android.server.pm.parsing.pkg.AndroidPackage; Loading Loading @@ -3192,6 +3191,22 @@ public final class Settings { } } void removeFiltersLPw(@NonNull PreferredIntentResolver pir, @NonNull IntentFilter filter, @NonNull List<PreferredActivity> existing) { if (PackageManagerService.DEBUG_PREFERRED) { Slog.i(TAG, existing.size() + " preferred matches for:"); filter.dump(new LogPrinter(Log.INFO, TAG), " "); } for (int i = existing.size() - 1; i >= 0; --i) { final PreferredActivity pa = existing.get(i); if (PackageManagerService.DEBUG_PREFERRED) { Slog.i(TAG, "Removing preferred activity " + pa.mPref.mComponent + ":"); pa.dump(new LogPrinter(Log.INFO, TAG), " "); } pir.removeFilter(pa); } } private void applyDefaultPreferredActivityLPw( PackageManagerInternal pmInternal, IntentFilter tmpPa, ComponentName cn, int userId) { // The initial preferences only specify the target activity Loading Loading @@ -3395,8 +3410,13 @@ public final class Settings { Slog.w(TAG, "Malformed mimetype " + intent.getType() + " for " + cn); } } final PreferredIntentResolver pir = editPreferredActivitiesLPw(userId); final List<PreferredActivity> existing = pir.findFilters(filter); if (existing != null) { removeFiltersLPw(pir, filter, existing); } PreferredActivity pa = new PreferredActivity(filter, systemMatch, set, cn, true); editPreferredActivitiesLPw(userId).addFilter(pa); pir.addFilter(pa); } else if (haveNonSys == null) { StringBuilder sb = new StringBuilder(); sb.append("No component "); Loading