|
30 | 30 | import android.content.pm.PackageManager.NameNotFoundException; |
31 | 31 | import android.content.pm.PermissionInfo; |
32 | 32 | import android.graphics.drawable.Drawable; |
| 33 | +import android.Manifest; |
33 | 34 | import android.net.Uri; |
34 | 35 | import android.os.Bundle; |
35 | 36 | import android.preference.Preference; |
@@ -243,24 +244,25 @@ private void loadPreferences() { |
243 | 244 | } |
244 | 245 | if (AppPermissionGroup.isStrictOpEnable() && isPlatform) { |
245 | 246 | try { |
246 | | - PackageManager pm = context.getPackageManager(); |
247 | | - for (Permission permission : group.getPermissions()) { |
248 | | - PermissionInfo perm = pm.getPermissionInfo(permission.getName(), 0); |
249 | | - final String[] filterPermissions = new String[]{permission.getName()}; |
250 | | - |
251 | | - if (perm.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) { |
252 | | - SwitchPreference preference_permission = new SwitchPreference(context); |
253 | | - preference_permission.setOnPreferenceChangeListener(this); |
254 | | - preference_permission.setKey(permission.getName()); |
255 | | - preference_permission.setTitle(perm.loadLabel(pm)); |
256 | | - preference_permission.setPersistent(false); |
257 | | - preference_permission.setEnabled(true); |
258 | | - AppPermissionGroup permissionGroup = getPermisssionGroup(perm.group); |
259 | | - preference_permission.setChecked( |
260 | | - permissionGroup.areRuntimePermissionsGranted(filterPermissions)); |
261 | | - screen.addPreference(preference_permission); |
262 | | - } else if (perm.protectionLevel == PermissionInfo.PROTECTION_NORMAL) { |
263 | | - continue; |
| 247 | + if (!group.getName().equals(Manifest.permission_group.STORAGE)) { |
| 248 | + PackageManager pm = context.getPackageManager(); |
| 249 | + for (Permission permission : group.getPermissions()) { |
| 250 | + PermissionInfo perm = pm.getPermissionInfo(permission.getName(), 0); |
| 251 | + final String[] filterPermissions = new String[]{permission.getName()}; |
| 252 | + if (perm.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) { |
| 253 | + SwitchPreference preference_permission = new SwitchPreference(context); |
| 254 | + preference_permission.setOnPreferenceChangeListener(this); |
| 255 | + preference_permission.setKey(permission.getName()); |
| 256 | + preference_permission.setTitle(perm.loadLabel(pm)); |
| 257 | + preference_permission.setPersistent(false); |
| 258 | + preference_permission.setEnabled(true); |
| 259 | + AppPermissionGroup permissionGroup = getPermisssionGroup(perm.group); |
| 260 | + preference_permission.setChecked( |
| 261 | + permissionGroup.areRuntimePermissionsGranted(filterPermissions)); |
| 262 | + screen.addPreference(preference_permission); |
| 263 | + } else if (perm.protectionLevel == PermissionInfo.PROTECTION_NORMAL) { |
| 264 | + continue; |
| 265 | + } |
264 | 266 | } |
265 | 267 | } |
266 | 268 | } catch (NameNotFoundException e) { |
@@ -302,6 +304,7 @@ private AppPermissionGroup getPermisssionGroup(String group) { |
302 | 304 | } |
303 | 305 |
|
304 | 306 | private void updateEveryPermissionPreference(AppPermissionGroup group) { |
| 307 | + if (group.getName().equals(Manifest.permission_group.STORAGE)) return; |
305 | 308 | PackageManager pm = getContext().getPackageManager(); |
306 | 309 | PreferenceScreen screen = getPreferenceScreen(); |
307 | 310 | for (Permission permission : group.getPermissions()) { |
|
0 commit comments