diff options
author | Svetoslav <svetoslavganov@google.com> | 2015-05-18 15:53:13 -0700 |
---|---|---|
committer | Svetoslav <svetoslavganov@google.com> | 2015-05-18 15:53:19 -0700 |
commit | fed504a8ca875d7bba8fd9f4876b7d34fdc1f319 (patch) | |
tree | 2a2d131c824b4369628ddba1ae385e6aea4e3413 /src | |
parent | 267c2bd39c248eea2679c0a8efa334d3155e262c (diff) | |
download | android_packages_apps_PackageInstaller-fed504a8ca875d7bba8fd9f4876b7d34fdc1f319.tar.gz android_packages_apps_PackageInstaller-fed504a8ca875d7bba8fd9f4876b7d34fdc1f319.tar.bz2 android_packages_apps_PackageInstaller-fed504a8ca875d7bba8fd9f4876b7d34fdc1f319.zip |
Update permission preferences on reload
bug:21195624
Change-Id: I2ca03d80fd514258959c9e3e847d620e233a8de5
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java index 79e66246..2310306a 100644 --- a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java @@ -108,7 +108,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader case R.id.toggle_legacy_permissions: { mShowLegacyPermissions = !mShowLegacyPermissions; - updatePermissionsUi(); + bindPermissionsUi(); return true; } } @@ -134,7 +134,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); bindUi(); - updatePermissionsUi(); } @Override @@ -196,20 +195,27 @@ public final class AppPermissionsFragment extends SettingsWithHeader } }); - PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(activity); - setPreferenceScreen(screen); + bindPermissionsUi(); } - private void updatePermissionsUi() { + private void bindPermissionsUi() { final Activity activity = getActivity(); if (activity == null) { return; } - final PreferenceScreen screen = getPreferenceScreen(); - screen.removeAll(); - mExtraScreen = null; + PreferenceScreen screen = getPreferenceScreen(); + if (screen == null) { + screen = getPreferenceManager().createPreferenceScreen(activity); + setPreferenceScreen(screen); + } else { + screen.removeAll(); + } + + if (mExtraScreen != null) { + mExtraScreen.removeAll(); + } final Preference extraPerms = new Preference(activity); extraPerms.setIcon(R.drawable.ic_toc); @@ -242,6 +248,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader preference.setTitle(group.getLabel()); preference.setPersistent(false); preference.setEnabled(!group.isPolicyFixed()); + preference.setChecked(group.areRuntimePermissionsGranted()); if (group.getIconPkg().equals(OS_PKG)) { screen.addPreference(preference); |