Write restriction bundle right away for required apps.
User shouldn't have to go tap on the settings icon for an app that is ON by default
in a restricted profile. This way apps can write some defaults to the restricted
profile when it is created.
The app entry is also automatically removed from the list if there are no visible
restrictions.
Bug: 9074051
Also fix an incorrect dialog label. Bug: 9068877
Change-Id: I2a7ddc31fe695f58611d2ba36a8bf541b7817b10
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java
index bfcc677..3d68024 100644
--- a/src/com/android/settings/users/AppRestrictionsFragment.java
+++ b/src/com/android/settings/users/AppRestrictionsFragment.java
@@ -607,6 +607,11 @@
p.setImmutable(true);
// If the app is required and has no restrictions, skip showing it
if (!hasSettings && !isSettingsApp) continue;
+ // Get and populate the defaults, since the user is not going to be
+ // able to toggle this app ON (it's ON by default and immutable).
+ if (hasSettings) {
+ requestRestrictionsForApp(packageName, p);
+ }
} else if (!mNewUser && appInfoListHasPackage(mUserApps, packageName)) {
p.setChecked(true);
}
@@ -896,6 +901,12 @@
}
}
preference.setRestrictions(restrictions);
+ if (count == 1 // No visible restrictions
+ && preference.isImmutable()
+ && preference.isChecked()) {
+ // Special case of required app with no visible restrictions. Remove it
+ mAppList.removePreference(preference);
+ }
}
/**
@@ -1001,7 +1012,7 @@
mSavedPhoto, drawable);
mEditUserInfoDialog = new AlertDialog.Builder(getActivity())
- .setTitle(R.string.user_info_settings_title)
+ .setTitle(R.string.profile_info_settings_title)
.setIconAttribute(R.drawable.ic_settings_multiuser)
.setView(content)
.setCancelable(true)