Merge Android 12 QPR3 ab/8391262
Bug: 226662282 Merged-In: I50e3649c21bb83ee9130fa98a71560fe261198a9 Change-Id: I2a97159d0de32a6262bbace7bb82b09897447bdb
This commit is contained in:
@@ -32,7 +32,7 @@ import android.os.UserHandle;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedSwitchPreference;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -48,7 +48,7 @@ public class DefaultUsbConfigurationPreferenceControllerTest {
|
||||
private static final ComponentName TEST_COMPONENT_NAME = new ComponentName("test", "test");
|
||||
|
||||
@Mock
|
||||
private RestrictedSwitchPreference mPreference;
|
||||
private RestrictedPreference mPreference;
|
||||
@Mock
|
||||
private PreferenceScreen mPreferenceScreen;
|
||||
@Mock
|
||||
|
@@ -15,6 +15,9 @@
|
||||
*/
|
||||
package com.android.settings.network;
|
||||
|
||||
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_DISCONNECT;
|
||||
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_FORGET;
|
||||
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_SHARE;
|
||||
import static com.android.settings.wifi.WifiConfigUiBase2.MODE_CONNECT;
|
||||
import static com.android.settings.wifi.WifiConfigUiBase2.MODE_MODIFY;
|
||||
|
||||
@@ -78,6 +81,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
@@ -109,6 +113,8 @@ public class NetworkProviderSettingsTest {
|
||||
@Mock
|
||||
private WifiPickerTracker mMockWifiPickerTracker;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry;
|
||||
@Mock
|
||||
private PreferenceManager mPreferenceManager;
|
||||
@Mock
|
||||
private InternetResetHelper mInternetResetHelper;
|
||||
@@ -117,6 +123,8 @@ public class NetworkProviderSettingsTest {
|
||||
@Mock
|
||||
private LayoutPreference mResetInternetPreference;
|
||||
@Mock
|
||||
private ContextMenu mContextMenu;
|
||||
@Mock
|
||||
private MenuItem mMenuItem;
|
||||
@Mock
|
||||
InternetUpdater mInternetUpdater;
|
||||
@@ -322,12 +330,54 @@ public class NetworkProviderSettingsTest {
|
||||
final View view = mock(View.class);
|
||||
when(view.getTag()).thenReturn(connectedWifiEntryPreference);
|
||||
|
||||
final ContextMenu menu = mock(ContextMenu.class);
|
||||
mNetworkProviderSettings.onCreateContextMenu(menu, view, null /* info */);
|
||||
mNetworkProviderSettings.onCreateContextMenu(mContextMenu, view, null /* info */);
|
||||
|
||||
verify(menu).add(anyInt(), eq(NetworkProviderSettings.MENU_ID_FORGET), anyInt(), anyInt());
|
||||
verify(menu).add(anyInt(), eq(NetworkProviderSettings.MENU_ID_DISCONNECT), anyInt(),
|
||||
anyInt());
|
||||
verify(mContextMenu).add(anyInt(), eq(MENU_ID_FORGET), anyInt(), anyInt());
|
||||
verify(mContextMenu).add(anyInt(), eq(MENU_ID_DISCONNECT), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onCreateContextMenu_canShare_shouldHaveShareMenuForConnectedWifiEntry() {
|
||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
||||
|
||||
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
||||
when(mWifiEntry.canShare()).thenReturn(true);
|
||||
when(mWifiEntry.canForget()).thenReturn(true);
|
||||
when(mWifiEntry.isSaved()).thenReturn(true);
|
||||
when(mWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||
|
||||
final LongPressWifiEntryPreference connectedWifiEntryPreference =
|
||||
mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
|
||||
final View view = mock(View.class);
|
||||
when(view.getTag()).thenReturn(connectedWifiEntryPreference);
|
||||
|
||||
mNetworkProviderSettings.onCreateContextMenu(mContextMenu, view, null /* info */);
|
||||
|
||||
verify(mContextMenu).add(anyInt(), eq(MENU_ID_SHARE), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onCreateContextMenu_canNotShare_shouldDisappearShareMenuForConnectedWifiEntry() {
|
||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
||||
|
||||
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
||||
when(mWifiEntry.canShare()).thenReturn(false);
|
||||
when(mWifiEntry.canForget()).thenReturn(true);
|
||||
when(mWifiEntry.isSaved()).thenReturn(true);
|
||||
when(mWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||
|
||||
final LongPressWifiEntryPreference connectedWifiEntryPreference =
|
||||
mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
|
||||
final View view = mock(View.class);
|
||||
when(view.getTag()).thenReturn(connectedWifiEntryPreference);
|
||||
|
||||
mNetworkProviderSettings.onCreateContextMenu(mContextMenu, view, null /* info */);
|
||||
|
||||
verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_SHARE), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -602,6 +652,46 @@ public class NetworkProviderSettingsTest {
|
||||
verify(mAirplaneModeEnabler).stop();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addShareMenuIfSuitable_isAdmin_addMenu() {
|
||||
mNetworkProviderSettings.mIsAdmin = true;
|
||||
Mockito.reset(mContextMenu);
|
||||
|
||||
mNetworkProviderSettings.addShareMenuIfSuitable(mContextMenu);
|
||||
|
||||
verify(mContextMenu).add(anyInt(), eq(MENU_ID_SHARE), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addShareMenuIfSuitable_isNotAdmin_notAddMenu() {
|
||||
mNetworkProviderSettings.mIsAdmin = false;
|
||||
Mockito.reset(mContextMenu);
|
||||
|
||||
mNetworkProviderSettings.addShareMenuIfSuitable(mContextMenu);
|
||||
|
||||
verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_SHARE), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addForgetMenuIfSuitable_isAdmin_addMenu() {
|
||||
mNetworkProviderSettings.mIsAdmin = true;
|
||||
Mockito.reset(mContextMenu);
|
||||
|
||||
mNetworkProviderSettings.addForgetMenuIfSuitable(mContextMenu);
|
||||
|
||||
verify(mContextMenu).add(anyInt(), eq(MENU_ID_FORGET), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addForgetMenuIfSuitable_isNotAdmin_notAddMenu() {
|
||||
mNetworkProviderSettings.mIsAdmin = false;
|
||||
Mockito.reset(mContextMenu);
|
||||
|
||||
mNetworkProviderSettings.addForgetMenuIfSuitable(mContextMenu);
|
||||
|
||||
verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_FORGET), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Implements(PreferenceFragmentCompat.class)
|
||||
public static class ShadowPreferenceFragmentCompat {
|
||||
|
||||
|
@@ -26,6 +26,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;
|
||||
@@ -35,6 +36,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);
|
||||
|
Reference in New Issue
Block a user