Hide timeout to user0 pref when switching blocked.
Do not show the "timeout to admin user" settings preference when user switching is blocked on the current user, e.g. in demo mode. Test: atest SettingsRoboTests:TimeoutToDockUserPreferenceControllerTest Bug: 255277938 Change-Id: Ibd0944c69254000a453f477eb72a0ba5832e9793
This commit is contained in:
@@ -20,6 +20,7 @@ import static android.provider.Settings.Secure.TIMEOUT_TO_DOCK_USER;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -34,6 +35,8 @@ import java.util.Arrays;
|
||||
* automatically switch to the designated Dock User when the device is docked.
|
||||
*/
|
||||
public class TimeoutToDockUserPreferenceController extends BasePreferenceController {
|
||||
private final UserManager mUserManager;
|
||||
|
||||
private final String[] mEntries;
|
||||
private final String[] mValues;
|
||||
|
||||
@@ -41,6 +44,8 @@ public class TimeoutToDockUserPreferenceController extends BasePreferenceControl
|
||||
String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
|
||||
mUserManager = context.getSystemService(UserManager.class);
|
||||
|
||||
mEntries = mContext.getResources().getStringArray(
|
||||
com.android.settings.R.array.switch_to_dock_user_when_docked_timeout_entries);
|
||||
mValues = mContext.getResources().getStringArray(
|
||||
@@ -62,9 +67,10 @@ public class TimeoutToDockUserPreferenceController extends BasePreferenceControl
|
||||
return UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
|
||||
// Multi-user feature disabled by user.
|
||||
// Multi-user feature disabled by user, or user switching blocked on the user.
|
||||
if (Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.USER_SWITCHER_ENABLED, 0) != 1) {
|
||||
Settings.Global.USER_SWITCHER_ENABLED, 0) != 1
|
||||
|| mUserManager.hasUserRestriction(UserManager.DISALLOW_USER_SWITCH)) {
|
||||
return CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user