[Provider Model] Add Fix connectivity toggle to Internet Settings
- Add Fix connectivity toggle in menu item - Show "Resetting your internet..." when recovering - Screenshot: https://screenshot.googleplex.com/BPyRADfNUoPE8Dc Bug: 172297799 Test: manual test - make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest Change-Id: I27594d24659ca281e224f86accc20d49514d5001
This commit is contained in:
@@ -27,6 +27,7 @@ import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -44,6 +45,7 @@ import android.os.PowerManager;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
@@ -59,6 +61,8 @@ import com.android.settings.testutils.shadow.ShadowFragment;
|
||||
import com.android.settings.wifi.AddWifiNetworkPreference;
|
||||
import com.android.settings.wifi.WifiConfigController2;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager;
|
||||
import com.android.settingslib.widget.LayoutPreference;
|
||||
import com.android.settingslib.wifi.LongPressWifiEntryPreference;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
@@ -91,6 +95,15 @@ public class NetworkProviderSettingsTest {
|
||||
private WifiPickerTracker mMockWifiPickerTracker;
|
||||
@Mock
|
||||
private PreferenceManager mPreferenceManager;
|
||||
@Mock
|
||||
private ConnectivitySubsystemsRecoveryManager mConnectivitySubsystemsRecoveryManager;
|
||||
@Mock
|
||||
private ViewAirplaneModeNetworksLayoutPreferenceController
|
||||
mViewAirplaneModeNetworksButtonPreference;
|
||||
@Mock
|
||||
private LayoutPreference mResetInternetPreference;
|
||||
@Mock
|
||||
private MenuItem mMenuItem;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -374,4 +387,57 @@ public class NetworkProviderSettingsTest {
|
||||
when(wifiDialog2.getController()).thenReturn(controller);
|
||||
return wifiDialog2;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onOptionsItemSelected_fixConnectivity_triggerSubsystemRestart() {
|
||||
doReturn(true).when(mConnectivitySubsystemsRecoveryManager).isRecoveryAvailable();
|
||||
mNetworkProviderSettings.mConnectivitySubsystemsRecoveryManager =
|
||||
mConnectivitySubsystemsRecoveryManager;
|
||||
doReturn(false).when(mNetworkProviderSettings).isPhoneOnCall();
|
||||
doReturn(NetworkProviderSettings.MENU_FIX_CONNECTIVITY).when(mMenuItem).getItemId();
|
||||
|
||||
mNetworkProviderSettings.onOptionsItemSelected(mMenuItem);
|
||||
|
||||
verify(mConnectivitySubsystemsRecoveryManager).triggerSubsystemRestart(any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onOptionsItemSelected_fixConnectivityOnCall_neverTriggerSubsystemRestart() {
|
||||
doReturn(true).when(mConnectivitySubsystemsRecoveryManager).isRecoveryAvailable();
|
||||
mNetworkProviderSettings.mConnectivitySubsystemsRecoveryManager =
|
||||
mConnectivitySubsystemsRecoveryManager;
|
||||
doReturn(true).when(mNetworkProviderSettings).isPhoneOnCall();
|
||||
doNothing().when(mNetworkProviderSettings).showResetInternetDialog();
|
||||
doReturn(NetworkProviderSettings.MENU_FIX_CONNECTIVITY).when(mMenuItem).getItemId();
|
||||
|
||||
mNetworkProviderSettings.onOptionsItemSelected(mMenuItem);
|
||||
|
||||
verify(mConnectivitySubsystemsRecoveryManager, never()).triggerSubsystemRestart(any(),
|
||||
any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onSubsystemRestartOperationBegin_showResetInternetHideApmNetworks() {
|
||||
mNetworkProviderSettings.mResetInternetPreference = mResetInternetPreference;
|
||||
mNetworkProviderSettings.mViewAirplaneModeNetworksButtonPreference =
|
||||
mViewAirplaneModeNetworksButtonPreference;
|
||||
|
||||
mNetworkProviderSettings.onSubsystemRestartOperationBegin();
|
||||
|
||||
verify(mResetInternetPreference).setVisible(true);
|
||||
verify(mViewAirplaneModeNetworksButtonPreference).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onSubsystemRestartOperationEnd_showApmNetworksHideResetInternet() {
|
||||
mNetworkProviderSettings.mResetInternetPreference = mResetInternetPreference;
|
||||
mNetworkProviderSettings.mViewAirplaneModeNetworksButtonPreference =
|
||||
mViewAirplaneModeNetworksButtonPreference;
|
||||
doReturn(true).when(mViewAirplaneModeNetworksButtonPreference).isAvailable();
|
||||
|
||||
mNetworkProviderSettings.onSubsystemRestartOperationEnd();
|
||||
|
||||
verify(mResetInternetPreference).setVisible(false);
|
||||
verify(mViewAirplaneModeNetworksButtonPreference).setVisible(true);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user