Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcc0bd4c authored by Christopher Tate's avatar Christopher Tate Committed by Android Git Automerger
Browse files

am 9dcfcc84: am 19427156: Merge "Don\'t crash when preferred activity settings...

am 9dcfcc84: am 19427156: Merge "Don\'t crash when preferred activity settings are malformed" into klp-dev

* commit '9dcfcc84':
  Don't crash when preferred activity settings are malformed
parents ac132888 9dcfcc84
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -9965,6 +9965,10 @@ public class PackageManagerService extends IPackageManager.Stub {
        // writer
        int callingUid = Binder.getCallingUid();
        enforceCrossUserPermission(callingUid, userId, true, "add preferred activity");
        if (filter.countActions() == 0) {
            Slog.w(TAG, "Cannot set a preferred activity with no filter actions");
            return;
        }
        synchronized (mPackages) {
            if (mContext.checkCallingOrSelfPermission(
                    android.Manifest.permission.SET_PREFERRED_APPLICATIONS)
@@ -10024,7 +10028,9 @@ public class PackageManagerService extends IPackageManager.Stub {
                String category = filter.getCategory(0);
                while (it.hasNext()) {
                    PreferredActivity pa = it.next();
                    if (pa.getAction(0).equals(action) && pa.getCategory(0).equals(category)) {
                    if ((pa.countActions() == 0) || (pa.countCategories() == 0)
                            || (pa.getAction(0).equals(action)
                                    && pa.getCategory(0).equals(category))) {
                        if (removed == null) {
                            removed = new ArrayList<PreferredActivity>();
                        }