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

Commit f4a2e1df authored by David Stevens's avatar David Stevens
Browse files

Reset the default usb package less often

This CL makes logic for resetting the default package for handling USB
intents less agressive (added in ag/101452). First, instead of listening
for package changed events, we now listen for package replaced
broadcasts. Second, we don't reset the default package if the app being
added/updated is already the default package.

Bug: 35491880
Test: Manually tested with a work profile
Change-Id: Id1992239b5d8ace87fefeb4acd6ca1031c3c1085
parent 8ce439a7
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -543,9 +543,8 @@ class UsbProfileGroupSettingsManager {
        }

        @Override
        public boolean onPackageChanged(String packageName, int uid, String[] components) {
        public void onPackageUpdateFinished(String packageName, int uid) {
            handlePackageUpdate(packageName);
            return false;
        }

        @Override
@@ -1207,10 +1206,13 @@ class UsbProfileGroupSettingsManager {
        boolean changed = false;
        for (DeviceFilter test : mDevicePreferenceMap.keySet()) {
            if (filter.matches(test)) {
                UserPackage currentMatch = mDevicePreferenceMap.get(test);
                if (!currentMatch.packageName.equals(packageName)) {
                    mDevicePreferenceMap.remove(test);
                    changed = true;
                }
            }
        }
        return changed;
    }

@@ -1218,10 +1220,13 @@ class UsbProfileGroupSettingsManager {
        boolean changed = false;
        for (AccessoryFilter test : mAccessoryPreferenceMap.keySet()) {
            if (filter.matches(test)) {
                UserPackage currentMatch = mAccessoryPreferenceMap.get(test);
                if (!currentMatch.packageName.equals(packageName)) {
                    mAccessoryPreferenceMap.remove(test);
                    changed = true;
                }
            }
        }
        return changed;
    }