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

Commit 30a7cef2 authored by Shijian Li's avatar Shijian Li Committed by android-build-merger
Browse files

Add refresh logic for individually controlled permission in onResume.

am: 8bb25537

Change-Id: I2d2fa415b54694bacfa168eb4ca2449f6c988cdf
parents dad10e69 8bb25537
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);
        }
    }
}