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

Commit 8bb25537 authored by Shijian Li's avatar Shijian Li
Browse files

Add refresh logic for individually controlled permission in onResume.

Test: Manually test with a testing apk.
Bug: 34157556
Change-Id: I78ffbfa2fbbff14fb05242d7979cd226b1725ba7
parent 1019d738
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -137,9 +137,13 @@ public final class AppPermissionsFragmentWear extends PreferenceFragment {

        // Also refresh the UI
        for (final AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
            Preference pref = findPreference(group.getName());
            if (pref instanceof SwitchPreference) {
                ((SwitchPreference) pref).setChecked(group.areRuntimePermissionsGranted());
            if (Utils.areGroupPermissionsIndividuallyControlled(getContext(), group.getName())) {
                for (PermissionInfo perm : getPermissionInfosFromGroup(group)) {
                    setPreferenceCheckedIfPresent(perm.name,
                            group.areRuntimePermissionsGranted(new String[]{ perm.name }));
                }
            } else {
                setPreferenceCheckedIfPresent(group.getName(), group.areRuntimePermissionsGranted());
            }
        }
    }
@@ -304,4 +308,11 @@ public final class AppPermissionsFragmentWear extends PreferenceFragment {
        }
        return permInfos;
    }

    private void setPreferenceCheckedIfPresent(String preferenceKey, boolean checked) {
        Preference pref = findPreference(preferenceKey);
        if (pref instanceof SwitchPreference) {
            ((SwitchPreference) pref).setChecked(checked);
        }
    }
}