summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2015-05-18 15:53:13 -0700
committerSvetoslav <svetoslavganov@google.com>2015-05-18 15:53:19 -0700
commitfed504a8ca875d7bba8fd9f4876b7d34fdc1f319 (patch)
tree2a2d131c824b4369628ddba1ae385e6aea4e3413 /src
parent267c2bd39c248eea2679c0a8efa334d3155e262c (diff)
downloadandroid_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.java23
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);