Merge "Fix "Allow guest to use telephony" toggle not updating its value" into udc-qpr-dev am: 8141b10269
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23899169 Change-Id: I44ca0e373d432ab38e8a3fe8a19a4676ca31a771 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -34,14 +34,11 @@ public class GuestTelephonyPreferenceController extends TogglePreferenceControll
|
||||
|
||||
private final UserManager mUserManager;
|
||||
private final UserCapabilities mUserCaps;
|
||||
private Bundle mDefaultGuestRestrictions;
|
||||
|
||||
public GuestTelephonyPreferenceController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
mUserManager = context.getSystemService(UserManager.class);
|
||||
mUserCaps = UserCapabilities.create(context);
|
||||
mDefaultGuestRestrictions = mUserManager.getDefaultGuestRestrictions();
|
||||
mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,13 +52,16 @@ public class GuestTelephonyPreferenceController extends TogglePreferenceControll
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return !mDefaultGuestRestrictions.getBoolean(UserManager.DISALLOW_OUTGOING_CALLS, false);
|
||||
return !mUserManager.getDefaultGuestRestrictions()
|
||||
.getBoolean(UserManager.DISALLOW_OUTGOING_CALLS, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setChecked(boolean isChecked) {
|
||||
mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_OUTGOING_CALLS, !isChecked);
|
||||
mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions);
|
||||
Bundle guestRestrictions = mUserManager.getDefaultGuestRestrictions();
|
||||
guestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
|
||||
guestRestrictions.putBoolean(UserManager.DISALLOW_OUTGOING_CALLS, !isChecked);
|
||||
mUserManager.setDefaultGuestRestrictions(guestRestrictions);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public class GuestTelephonyPreferenceController extends TogglePreferenceControll
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
mUserCaps.updateAddUserCapabilities(mContext);
|
||||
preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled && mContext
|
||||
.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
|
||||
preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled
|
||||
&& mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
|
||||
}
|
||||
}
|
||||
|
@@ -18,12 +18,14 @@ package com.android.settings.users;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.junit.Assume.assumeTrue;
|
||||
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserManager;
|
||||
|
||||
@@ -103,6 +105,8 @@ public class GuestTelephonyPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void updateState_Admin_shouldDisplayPreference() {
|
||||
assumeTrue("Device does not have telephony feature ",
|
||||
mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
|
||||
SystemProperties.set("fw.max_users", Long.toBinaryString(4));
|
||||
mDpm.setDeviceOwner(null);
|
||||
mUserManager.setIsAdminUser(true);
|
||||
|
Reference in New Issue
Block a user