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:
Tetiana Meronyk
2023-07-06 14:01:26 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 8 deletions

View File

@@ -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));
}
}

View File

@@ -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);