Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14e88ca2 authored by lucaslin's avatar lucaslin Committed by Automerger Merge Worker
Browse files

Hide private DNS settings UI in Guest mode am: 52e863b5 am: 2c1c76cd

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063

Change-Id: I417c9687ae22749f428a902a01612c50cbf0e52c
parents cd6ce52e 2c1c76cd
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -84,9 +84,12 @@ public class PrivateDnsPreferenceController extends BasePreferenceController

    @Override
    public int getAvailabilityStatus() {
        return mContext.getResources().getBoolean(R.bool.config_show_private_dns_settings)
                ? AVAILABLE
                : UNSUPPORTED_ON_DEVICE;
        if (!mContext.getResources().getBoolean(R.bool.config_show_private_dns_settings)) {
            return UNSUPPORTED_ON_DEVICE;
        }
        final UserManager userManager = mContext.getSystemService(UserManager.class);
        if (userManager.isGuestUser()) return DISABLED_FOR_USER;
        return AVAILABLE;
    }

    @Override
+11 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import static androidx.lifecycle.Lifecycle.Event.ON_START;
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;

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.google.common.truth.Truth.assertThat;
@@ -36,6 +37,7 @@ import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.CALLS_REAL_METHODS;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
@@ -109,6 +111,8 @@ public class PrivateDnsPreferenceControllerTest {
    private Network mNetwork;
    @Mock
    private Preference mPreference;
    @Mock
    private UserManager mUserManager;
    @Captor
    private ArgumentCaptor<NetworkCallback> mCallbackCaptor;
    private PrivateDnsPreferenceController mController;
@@ -127,6 +131,7 @@ public class PrivateDnsPreferenceControllerTest {
        mShadowContentResolver = Shadow.extract(mContentResolver);
        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
                .thenReturn(mConnectivityManager);
        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
        doNothing().when(mConnectivityManager).registerDefaultNetworkCallback(
                mCallbackCaptor.capture(), nullable(Handler.class));

@@ -173,6 +178,12 @@ public class PrivateDnsPreferenceControllerTest {
        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
    public void goThroughLifecycle_shouldRegisterUnregisterSettingsObserver() {
        mLifecycle.handleLifecycleEvent(ON_START);