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

Commit bfb8a426 authored by Song Chun Fan's avatar Song Chun Fan Committed by Android (Google) Code Review
Browse files

Merge "Fix cleaning up all persistent preferred activity" into main

parents 25cfce35 d60f6534
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -6411,16 +6411,25 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile
    }

    boolean clearPersistentPreferredActivity(IntentFilter filter, int userId) {
        ArrayList<PersistentPreferredActivity> removed = null;
        PersistentPreferredIntentResolver ppir = mPersistentPreferredActivities.get(userId);
        Iterator<PersistentPreferredActivity> it = ppir.filterIterator();
        boolean changed = false;
        while (it.hasNext()) {
            PersistentPreferredActivity ppa = it.next();
            if (IntentFilter.filterEquals(ppa.getIntentFilter(), filter)) {
                if (removed == null) {
                    removed = new ArrayList<>();
                }
                removed.add(ppa);
            }
        }
        if (removed != null) {
            for (int i = 0; i < removed.size(); i++) {
                PersistentPreferredActivity ppa = removed.get(i);
                ppir.removeFilter(ppa);
                changed = true;
                break;
            }
            changed = true;
        }
        if (changed) {
            onChanged();