sys user split: first pass updating Settings

Update various places in Settings to use "admin" ueser flag
instead of checking user id "0".  This should be no-op in
single user mode since the only admin user would be user 0.
In split system user mode, this will correctly ACL admin
user instead of non-interactive system user.

Bug: 19913735
Change-Id: Ida4d59c5f689ea0dc34b3b3ff0822b087fa0afd6
This commit is contained in:
Xiaohui Chen
2015-07-22 13:53:22 -07:00
parent 9a946b3cac
commit 44879a387a
16 changed files with 62 additions and 72 deletions

View File

@@ -439,13 +439,6 @@ public class SettingsActivity extends Activity
int titleRes = pref.getTitleRes();
if (pref.getFragment().equals(WallpaperTypeSettings.class.getName())) {
titleRes = R.string.wallpaper_settings_fragment_title;
} else if (pref.getFragment().equals(OwnerInfoSettings.class.getName())
&& UserHandle.myUserId() != UserHandle.USER_OWNER) {
if (UserManager.get(this).isLinkedUser()) {
titleRes = R.string.profile_info_settings_title;
} else {
titleRes = R.string.user_info_settings_title;
}
}
startPreferencePanel(pref.getFragment(), pref.getExtras(), titleRes, pref.getTitle(),
null, 0);
@@ -1219,7 +1212,8 @@ public class SettingsActivity extends Activity
DevelopmentSettings.PREF_SHOW,
android.os.Build.TYPE.equals("eng"));
final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
final UserManager um = UserManager.get(this);
final boolean isAdmin = um.isAdminUser();
final int size = target.size();
for (int i = 0; i < size; i++) {
@@ -1264,9 +1258,6 @@ public class SettingsActivity extends Activity
removeTile = true;
}
} else if (id == R.id.user_settings) {
boolean hasMultipleUsers =
((UserManager) getSystemService(Context.USER_SERVICE))
.getUserCount() > 1;
if (!UserHandle.MU_ENABLED
|| !UserManager.supportsMultipleUsers()
|| Utils.isMonkeyRunning()) {
@@ -1297,7 +1288,7 @@ public class SettingsActivity extends Activity
}
}
if (UserHandle.MU_ENABLED && UserHandle.myUserId() != 0
if (UserHandle.MU_ENABLED && !isAdmin
&& !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, id)) {
removeTile = true;
}