Merge "Add config resource to control simple user switcher state."
This commit is contained in:
@@ -4343,4 +4343,7 @@
|
||||
Determines whether the specified key groups can be used to wake up the device. -->
|
||||
<bool name="config_wakeOnDpadKeyPress">true</bool>
|
||||
<bool name="config_wakeOnAssistKeyPress">true</bool>
|
||||
|
||||
<!-- Whether to default to an expanded list of users on the lock screen user switcher. -->
|
||||
<bool name="config_expandLockScreenUserSwitcher">false</bool>
|
||||
</resources>
|
||||
|
||||
@@ -3863,4 +3863,7 @@
|
||||
|
||||
<!-- Toast message for background started foreground service while-in-use permission restriction feature -->
|
||||
<java-symbol type="string" name="allow_while_in_use_permission_in_fgs" />
|
||||
|
||||
<!-- Whether to expand the lock screen user switcher by default -->
|
||||
<java-symbol type="bool" name="config_expandLockScreenUserSwitcher" />
|
||||
</resources>
|
||||
|
||||
@@ -134,6 +134,8 @@ public class UserSwitcherController implements Dumpable {
|
||||
mBroadcastDispatcher.registerReceiver(
|
||||
mReceiver, filter, null /* handler */, UserHandle.SYSTEM);
|
||||
|
||||
mSimpleUserSwitcher = shouldUseSimpleUserSwitcher();
|
||||
|
||||
mSecondaryUserServiceIntent = new Intent(context, SystemUISecondaryUserService.class);
|
||||
|
||||
filter = new IntentFilter();
|
||||
@@ -258,22 +260,20 @@ public class UserSwitcherController implements Dumpable {
|
||||
&& mUserManager.canAddMoreUsers();
|
||||
boolean createIsRestricted = !addUsersWhenLocked;
|
||||
|
||||
if (!mSimpleUserSwitcher) {
|
||||
if (guestRecord == null) {
|
||||
if (canCreateGuest) {
|
||||
guestRecord = new UserRecord(null /* info */, null /* picture */,
|
||||
true /* isGuest */, false /* isCurrent */,
|
||||
false /* isAddUser */, createIsRestricted, canSwitchUsers);
|
||||
checkIfAddUserDisallowedByAdminOnly(guestRecord);
|
||||
records.add(guestRecord);
|
||||
}
|
||||
} else {
|
||||
int index = guestRecord.isCurrent ? 0 : records.size();
|
||||
records.add(index, guestRecord);
|
||||
if (guestRecord == null) {
|
||||
if (canCreateGuest) {
|
||||
guestRecord = new UserRecord(null /* info */, null /* picture */,
|
||||
true /* isGuest */, false /* isCurrent */,
|
||||
false /* isAddUser */, createIsRestricted, canSwitchUsers);
|
||||
checkIfAddUserDisallowedByAdminOnly(guestRecord);
|
||||
records.add(guestRecord);
|
||||
}
|
||||
} else {
|
||||
int index = guestRecord.isCurrent ? 0 : records.size();
|
||||
records.add(index, guestRecord);
|
||||
}
|
||||
|
||||
if (!mSimpleUserSwitcher && canCreateUser) {
|
||||
if (canCreateUser) {
|
||||
UserRecord addUserRecord = new UserRecord(null /* info */, null /* picture */,
|
||||
false /* isGuest */, false /* isCurrent */, true /* isAddUser */,
|
||||
createIsRestricted, canSwitchUsers);
|
||||
@@ -562,8 +562,7 @@ public class UserSwitcherController implements Dumpable {
|
||||
|
||||
private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
|
||||
public void onChange(boolean selfChange) {
|
||||
mSimpleUserSwitcher = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
SIMPLE_USER_SWITCHER_GLOBAL_SETTING, 0) != 0;
|
||||
mSimpleUserSwitcher = shouldUseSimpleUserSwitcher();
|
||||
mAddUsersWhenLocked = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.ADD_USERS_WHEN_LOCKED, 0) != 0;
|
||||
refreshUsers(UserHandle.USER_NULL);
|
||||
@@ -579,6 +578,7 @@ public class UserSwitcherController implements Dumpable {
|
||||
final UserRecord u = mUsers.get(i);
|
||||
pw.print(" "); pw.println(u.toString());
|
||||
}
|
||||
pw.println("mSimpleUserSwitcher=" + mSimpleUserSwitcher);
|
||||
}
|
||||
|
||||
public String getCurrentUserName(Context context) {
|
||||
@@ -717,6 +717,13 @@ public class UserSwitcherController implements Dumpable {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldUseSimpleUserSwitcher() {
|
||||
int defaultSimpleUserSwitcher = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_expandLockScreenUserSwitcher) ? 1 : 0;
|
||||
return Settings.Global.getInt(mContext.getContentResolver(),
|
||||
SIMPLE_USER_SWITCHER_GLOBAL_SETTING, defaultSimpleUserSwitcher) != 0;
|
||||
}
|
||||
|
||||
public void startActivity(Intent intent) {
|
||||
mActivityStarter.startActivity(intent, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user