Revert "Revert "Show "Add users from lock screen" dependent on secure lock screen.""

And fix the failing test that caused the revert.

Bug: 148015798
Bug: 149209670
Test: make -j64 RunSettingsRoboTests

This reverts commit 666dacc32a.

Change-Id: I34bb82e621e009ec26c28835f309e7a5b996e9b3
This commit is contained in:
Ben Murdoch
2020-02-11 12:06:11 +00:00
parent 040c548d81
commit fa92269759
3 changed files with 63 additions and 2 deletions

View File

@@ -16,22 +16,29 @@
package com.android.settings.users;
import android.content.Context;
import android.os.UserHandle;
import android.provider.Settings;
import androidx.preference.Preference;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.RestrictedSwitchPreference;
public class AddUserWhenLockedPreferenceController extends TogglePreferenceController {
private final UserCapabilities mUserCaps;
private LockPatternUtils mLockPatternUtils;
public AddUserWhenLockedPreferenceController(Context context, String key) {
super(context, key);
mUserCaps = UserCapabilities.create(context);
}
void setLockPatternUtils(LockPatternUtils lockPatternUtils) {
mLockPatternUtils = lockPatternUtils;
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
@@ -53,6 +60,8 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr
return DISABLED_FOR_USER;
} else if (mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin()) {
return DISABLED_FOR_USER;
} else if (!mLockPatternUtils.isSecure(UserHandle.myUserId())) {
return CONDITIONALLY_UNAVAILABLE;
} else {
return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}