Hide private DNS settings UI in Guest mode am: 52e863b5a2
am: 2c1c76cd35
am: 14e88ca2f9
am: 652527b496
am: b38110f853
am: 92245b8f57
am: 1264191233
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063 Change-Id: I2f039885b8cb3823cb7da5031ef7931d587564f1
This commit is contained in:
@@ -85,9 +85,12 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return mContext.getResources().getBoolean(R.bool.config_show_private_dns_settings)
|
if (!mContext.getResources().getBoolean(R.bool.config_show_private_dns_settings)) {
|
||||||
? AVAILABLE
|
return UNSUPPORTED_ON_DEVICE;
|
||||||
: UNSUPPORTED_ON_DEVICE;
|
}
|
||||||
|
final UserManager userManager = mContext.getSystemService(UserManager.class);
|
||||||
|
if (userManager.isGuestUser()) return DISABLED_FOR_USER;
|
||||||
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -26,6 +26,7 @@ import static androidx.lifecycle.Lifecycle.Event.ON_START;
|
|||||||
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
|
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
|
||||||
|
|
||||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||||
|
import static com.android.settings.core.BasePreferenceController.DISABLED_FOR_USER;
|
||||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
@@ -35,6 +36,7 @@ import static org.mockito.ArgumentMatchers.nullable;
|
|||||||
import static org.mockito.Mockito.CALLS_REAL_METHODS;
|
import static org.mockito.Mockito.CALLS_REAL_METHODS;
|
||||||
import static org.mockito.Mockito.atLeastOnce;
|
import static org.mockito.Mockito.atLeastOnce;
|
||||||
import static org.mockito.Mockito.doNothing;
|
import static org.mockito.Mockito.doNothing;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.reset;
|
import static org.mockito.Mockito.reset;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
@@ -109,6 +111,8 @@ public class PrivateDnsPreferenceControllerTest {
|
|||||||
private Network mNetwork;
|
private Network mNetwork;
|
||||||
@Mock
|
@Mock
|
||||||
private Preference mPreference;
|
private Preference mPreference;
|
||||||
|
@Mock
|
||||||
|
private UserManager mUserManager;
|
||||||
@Captor
|
@Captor
|
||||||
private ArgumentCaptor<NetworkCallback> mCallbackCaptor;
|
private ArgumentCaptor<NetworkCallback> mCallbackCaptor;
|
||||||
private PrivateDnsPreferenceController mController;
|
private PrivateDnsPreferenceController mController;
|
||||||
@@ -127,6 +131,7 @@ public class PrivateDnsPreferenceControllerTest {
|
|||||||
mShadowContentResolver = Shadow.extract(mContentResolver);
|
mShadowContentResolver = Shadow.extract(mContentResolver);
|
||||||
when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
|
when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
|
||||||
.thenReturn(mConnectivityManager);
|
.thenReturn(mConnectivityManager);
|
||||||
|
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
||||||
doNothing().when(mConnectivityManager).registerDefaultNetworkCallback(
|
doNothing().when(mConnectivityManager).registerDefaultNetworkCallback(
|
||||||
mCallbackCaptor.capture(), nullable(Handler.class));
|
mCallbackCaptor.capture(), nullable(Handler.class));
|
||||||
|
|
||||||
@@ -173,6 +178,12 @@ public class PrivateDnsPreferenceControllerTest {
|
|||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_disabledForGuestUser() {
|
||||||
|
doReturn(true).when(mUserManager).isGuestUser();
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void goThroughLifecycle_shouldRegisterUnregisterSettingsObserver() {
|
public void goThroughLifecycle_shouldRegisterUnregisterSettingsObserver() {
|
||||||
mLifecycle.handleLifecycleEvent(ON_START);
|
mLifecycle.handleLifecycleEvent(ON_START);
|
||||||
|
Reference in New Issue
Block a user