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
This commit is contained in:
Amith Yamasani
2013-05-21 16:07:28 -07:00
parent f88e6e5ae6
commit 0b2781ae53

View File

@@ -607,6 +607,11 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
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 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
}
}
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 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
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)