Loading res/xml/network_provider_settings.xml +4 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,10 @@ android:layout="@layout/preference_category_no_label" settings:controller="com.android.settings.network.NetworkMobileProviderController"/> <PreferenceCategory android:key="first_access_points" android:layout="@layout/preference_category_no_label"/> <PreferenceCategory android:key="access_points" android:layout="@layout/preference_category_no_label"/> Loading src/com/android/settings/network/NetworkProviderSettings.java +69 −10 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.widget.Toast; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; Loading Loading @@ -80,6 +81,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager; import com.android.settingslib.search.Indexable; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.widget.LayoutPreference; import com.android.settingslib.wifi.LongPressWifiEntryPreference; import com.android.settingslib.wifi.WifiSavedConfigUtils; Loading @@ -100,7 +102,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment implements Indexable, WifiPickerTracker.WifiPickerTrackerCallback, WifiDialog2.WifiDialog2Listener, DialogInterface.OnDismissListener, ConnectivitySubsystemsRecoveryManager.RecoveryStatusCallback, AirplaneModeEnabler.OnAirplaneModeChangedListener { AirplaneModeEnabler.OnAirplaneModeChangedListener, InternetUpdater.InternetChangeListener { public static final String ACTION_NETWORK_PROVIDER_SETTINGS = "android.settings.NETWORK_PROVIDER_SETTINGS"; Loading @@ -123,7 +125,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment private static final String PREF_KEY_AIRPLANE_MODE_MSG = "airplane_mode_message"; private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list"; // TODO(b/70983952): Rename these to use WifiEntry instead of AccessPoint. private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point"; @VisibleForTesting static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point"; @VisibleForTesting static final String PREF_KEY_FIRST_ACCESS_POINTS = "first_access_points"; private static final String PREF_KEY_ACCESS_POINTS = "access_points"; private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; Loading Loading @@ -192,12 +197,17 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @VisibleForTesting WifiPickerTracker mWifiPickerTracker; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; @VisibleForTesting InternetUpdater mInternetUpdater; private WifiDialog2 mDialog; private View mProgressHeader; private PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mFirstWifiEntryPreferenceCategory; private PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting AddWifiNetworkPreference mAddWifiNetworkPreference; Loading Loading @@ -262,6 +272,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mAirplaneModeMsgPreference = findPreference(PREF_KEY_AIRPLANE_MODE_MSG); updateAirplaneModeMsgPreference(mAirplaneModeEnabler.isAirplaneModeOn() /* visible */); mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS); mFirstWifiEntryPreferenceCategory = findPreference(PREF_KEY_FIRST_ACCESS_POINTS); mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS); mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); Loading Loading @@ -318,6 +329,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), this); mWifiPickerTracker = mWifiPickerTrackerHelper.getWifiPickerTracker(); mInternetUpdater = new InternetUpdater(getContext(), getSettingsLifecycle(), this); final Activity activity = getActivity(); Loading Loading @@ -635,6 +647,13 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } @Override public void onInternetTypeChanged(@InternetUpdater.InternetType int internetType) { ThreadUtils.postOnMainThread(() -> { onWifiStateChanged(); }); } /** Called when the state of Wifi has changed. */ @Override public void onWifiStateChanged() { Loading Loading @@ -738,17 +757,18 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mWifiEntryPreferenceCategory.setVisible(true); final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry(); mConnectedWifiEntryPreferenceCategory.setVisible(connectedEntry != null); PreferenceCategory connectedWifiPreferenceCategory = getConnectedWifiPreferenceCategory(); connectedWifiPreferenceCategory.setVisible(connectedEntry != null); if (connectedEntry != null) { final LongPressWifiEntryPreference connectedPref = mConnectedWifiEntryPreferenceCategory.findPreference(connectedEntry.getKey()); connectedWifiPreferenceCategory.findPreference(connectedEntry.getKey()); if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) { mConnectedWifiEntryPreferenceCategory.removeAll(); connectedWifiPreferenceCategory.removeAll(); final ConnectedWifiEntryPreference pref = new ConnectedWifiEntryPreference(getPrefContext(), connectedEntry, this); createConnectedWifiEntryPreference(connectedEntry); pref.setKey(connectedEntry.getKey()); pref.refresh(); mConnectedWifiEntryPreferenceCategory.addPreference(pref); connectedWifiPreferenceCategory.addPreference(pref); pref.setOnPreferenceClickListener(preference -> { if (connectedEntry.canSignIn()) { connectedEntry.signIn(null /* callback */); Loading @@ -763,11 +783,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (mClickedConnect) { mClickedConnect = false; scrollToPreference(mConnectedWifiEntryPreferenceCategory); scrollToPreference(connectedWifiPreferenceCategory); } } } else { mConnectedWifiEntryPreferenceCategory.removeAll(); connectedWifiPreferenceCategory.removeAll(); } int index = 0; Loading Loading @@ -821,6 +841,27 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment setAdditionalSettingsSummaries(); } @VisibleForTesting PreferenceCategory getConnectedWifiPreferenceCategory() { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { mFirstWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.removeAll(); return mConnectedWifiEntryPreferenceCategory; } mConnectedWifiEntryPreferenceCategory.setVisible(false); mConnectedWifiEntryPreferenceCategory.removeAll(); return mFirstWifiEntryPreferenceCategory; } @VisibleForTesting ConnectedWifiEntryPreference createConnectedWifiEntryPreference(WifiEntry wifiEntry) { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { return new ConnectedWifiEntryPreference(getPrefContext(), wifiEntry, this); } return new FirstWifiEntryPreference(getPrefContext(), wifiEntry, this); } private void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) { final WifiEntry wifiEntry = pref.getWifiEntry(); final Context context = getContext(); Loading Loading @@ -1217,4 +1258,22 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment public void onAirplaneModeChanged(boolean isAirplaneModeOn) { updateAirplaneModeMsgPreference(isAirplaneModeOn /* visible */); } /** * A Wi-Fi preference for the connected Wi-Fi network without internet access. * * Override the icon color attribute by {@link ConnectedWifiEntryPreference#getIconColorAttr()} * and show the icon color to android.R.attr.colorControlNormal for the preference. */ public class FirstWifiEntryPreference extends ConnectedWifiEntryPreference { public FirstWifiEntryPreference(Context context, WifiEntry wifiEntry, Fragment fragment) { super(context, wifiEntry, fragment); } @Override protected int getIconColorAttr() { return android.R.attr.colorControlNormal; } } } tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +55 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import android.view.View; import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; Loading @@ -61,6 +62,7 @@ import com.android.settings.datausage.DataUsagePreference; import com.android.settings.testutils.shadow.ShadowDataUsageUtils; import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.wifi.AddWifiNetworkPreference; import com.android.settings.wifi.ConnectedWifiEntryPreference; import com.android.settings.wifi.WifiConfigController2; import com.android.settings.wifi.WifiDialog2; import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager; Loading Loading @@ -109,6 +111,12 @@ public class NetworkProviderSettingsTest { private LayoutPreference mResetInternetPreference; @Mock private MenuItem mMenuItem; @Mock InternetUpdater mInternetUpdater; @Mock PreferenceCategory mConnectedWifiEntryPreferenceCategory; @Mock PreferenceCategory mFirstWifiEntryPreferenceCategory; @Before public void setUp() { Loading @@ -132,6 +140,15 @@ public class NetworkProviderSettingsTest { mNetworkProviderSettings.mResetInternetPreference = mResetInternetPreference; mNetworkProviderSettings.mAirplaneModeMsgPreference = mAirplaneModeMsgPreference; mNetworkProviderSettings.mAirplaneModeEnabler = mAirplaneModeEnabler; mNetworkProviderSettings.mInternetUpdater = mInternetUpdater; doReturn(NetworkProviderSettings.PREF_KEY_CONNECTED_ACCESS_POINTS) .when(mConnectedWifiEntryPreferenceCategory).getKey(); mNetworkProviderSettings.mConnectedWifiEntryPreferenceCategory = mConnectedWifiEntryPreferenceCategory; doReturn(NetworkProviderSettings.PREF_KEY_FIRST_ACCESS_POINTS) .when(mFirstWifiEntryPreferenceCategory).getKey(); mNetworkProviderSettings.mFirstWifiEntryPreferenceCategory = mFirstWifiEntryPreferenceCategory; FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, false); } Loading Loading @@ -452,11 +469,48 @@ public class NetworkProviderSettingsTest { verify(mAirplaneModeMsgPreference).setVisible(true); } @Test public void onAirplaneModeChanged_apmIsOff_hideApmMsg() { mNetworkProviderSettings.onAirplaneModeChanged(false); verify(mAirplaneModeMsgPreference).setVisible(false); } @Test public void getConnectedWifiPreferenceCategory_internetWiFi_getConnectedAccessPoints() { doReturn(InternetUpdater.INTERNET_WIFI).when(mInternetUpdater).getInternetType(); final PreferenceCategory pc = mNetworkProviderSettings.getConnectedWifiPreferenceCategory(); assertThat(pc.getKey()).isEqualTo(NetworkProviderSettings.PREF_KEY_CONNECTED_ACCESS_POINTS); } @Test public void getConnectedWifiPreferenceCategory_internetCellular_getFirstAccessPoints() { doReturn(InternetUpdater.INTERNET_CELLULAR).when(mInternetUpdater).getInternetType(); final PreferenceCategory pc = mNetworkProviderSettings.getConnectedWifiPreferenceCategory(); assertThat(pc.getKey()).isEqualTo(NetworkProviderSettings.PREF_KEY_FIRST_ACCESS_POINTS); } @Test public void createConnectedWifiEntryPreference_internetWiFi_createConnectedPreference() { final WifiEntry wifiEntry = mock(WifiEntry.class); doReturn(InternetUpdater.INTERNET_WIFI).when(mInternetUpdater).getInternetType(); final Preference p = mNetworkProviderSettings.createConnectedWifiEntryPreference(wifiEntry); assertThat(p instanceof ConnectedWifiEntryPreference).isTrue(); } @Test public void createConnectedWifiEntryPreference_internetCellular_createFirstWifiPreference() { final WifiEntry wifiEntry = mock(WifiEntry.class); doReturn(InternetUpdater.INTERNET_CELLULAR).when(mInternetUpdater).getInternetType(); final Preference p = mNetworkProviderSettings.createConnectedWifiEntryPreference(wifiEntry); assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue(); } } Loading
res/xml/network_provider_settings.xml +4 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,10 @@ android:layout="@layout/preference_category_no_label" settings:controller="com.android.settings.network.NetworkMobileProviderController"/> <PreferenceCategory android:key="first_access_points" android:layout="@layout/preference_category_no_label"/> <PreferenceCategory android:key="access_points" android:layout="@layout/preference_category_no_label"/> Loading
src/com/android/settings/network/NetworkProviderSettings.java +69 −10 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.widget.Toast; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; Loading Loading @@ -80,6 +81,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager; import com.android.settingslib.search.Indexable; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.widget.LayoutPreference; import com.android.settingslib.wifi.LongPressWifiEntryPreference; import com.android.settingslib.wifi.WifiSavedConfigUtils; Loading @@ -100,7 +102,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment implements Indexable, WifiPickerTracker.WifiPickerTrackerCallback, WifiDialog2.WifiDialog2Listener, DialogInterface.OnDismissListener, ConnectivitySubsystemsRecoveryManager.RecoveryStatusCallback, AirplaneModeEnabler.OnAirplaneModeChangedListener { AirplaneModeEnabler.OnAirplaneModeChangedListener, InternetUpdater.InternetChangeListener { public static final String ACTION_NETWORK_PROVIDER_SETTINGS = "android.settings.NETWORK_PROVIDER_SETTINGS"; Loading @@ -123,7 +125,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment private static final String PREF_KEY_AIRPLANE_MODE_MSG = "airplane_mode_message"; private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list"; // TODO(b/70983952): Rename these to use WifiEntry instead of AccessPoint. private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point"; @VisibleForTesting static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point"; @VisibleForTesting static final String PREF_KEY_FIRST_ACCESS_POINTS = "first_access_points"; private static final String PREF_KEY_ACCESS_POINTS = "access_points"; private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; Loading Loading @@ -192,12 +197,17 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @VisibleForTesting WifiPickerTracker mWifiPickerTracker; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; @VisibleForTesting InternetUpdater mInternetUpdater; private WifiDialog2 mDialog; private View mProgressHeader; private PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mFirstWifiEntryPreferenceCategory; private PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting AddWifiNetworkPreference mAddWifiNetworkPreference; Loading Loading @@ -262,6 +272,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mAirplaneModeMsgPreference = findPreference(PREF_KEY_AIRPLANE_MODE_MSG); updateAirplaneModeMsgPreference(mAirplaneModeEnabler.isAirplaneModeOn() /* visible */); mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS); mFirstWifiEntryPreferenceCategory = findPreference(PREF_KEY_FIRST_ACCESS_POINTS); mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS); mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); Loading Loading @@ -318,6 +329,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), this); mWifiPickerTracker = mWifiPickerTrackerHelper.getWifiPickerTracker(); mInternetUpdater = new InternetUpdater(getContext(), getSettingsLifecycle(), this); final Activity activity = getActivity(); Loading Loading @@ -635,6 +647,13 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } @Override public void onInternetTypeChanged(@InternetUpdater.InternetType int internetType) { ThreadUtils.postOnMainThread(() -> { onWifiStateChanged(); }); } /** Called when the state of Wifi has changed. */ @Override public void onWifiStateChanged() { Loading Loading @@ -738,17 +757,18 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mWifiEntryPreferenceCategory.setVisible(true); final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry(); mConnectedWifiEntryPreferenceCategory.setVisible(connectedEntry != null); PreferenceCategory connectedWifiPreferenceCategory = getConnectedWifiPreferenceCategory(); connectedWifiPreferenceCategory.setVisible(connectedEntry != null); if (connectedEntry != null) { final LongPressWifiEntryPreference connectedPref = mConnectedWifiEntryPreferenceCategory.findPreference(connectedEntry.getKey()); connectedWifiPreferenceCategory.findPreference(connectedEntry.getKey()); if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) { mConnectedWifiEntryPreferenceCategory.removeAll(); connectedWifiPreferenceCategory.removeAll(); final ConnectedWifiEntryPreference pref = new ConnectedWifiEntryPreference(getPrefContext(), connectedEntry, this); createConnectedWifiEntryPreference(connectedEntry); pref.setKey(connectedEntry.getKey()); pref.refresh(); mConnectedWifiEntryPreferenceCategory.addPreference(pref); connectedWifiPreferenceCategory.addPreference(pref); pref.setOnPreferenceClickListener(preference -> { if (connectedEntry.canSignIn()) { connectedEntry.signIn(null /* callback */); Loading @@ -763,11 +783,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (mClickedConnect) { mClickedConnect = false; scrollToPreference(mConnectedWifiEntryPreferenceCategory); scrollToPreference(connectedWifiPreferenceCategory); } } } else { mConnectedWifiEntryPreferenceCategory.removeAll(); connectedWifiPreferenceCategory.removeAll(); } int index = 0; Loading Loading @@ -821,6 +841,27 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment setAdditionalSettingsSummaries(); } @VisibleForTesting PreferenceCategory getConnectedWifiPreferenceCategory() { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { mFirstWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.removeAll(); return mConnectedWifiEntryPreferenceCategory; } mConnectedWifiEntryPreferenceCategory.setVisible(false); mConnectedWifiEntryPreferenceCategory.removeAll(); return mFirstWifiEntryPreferenceCategory; } @VisibleForTesting ConnectedWifiEntryPreference createConnectedWifiEntryPreference(WifiEntry wifiEntry) { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { return new ConnectedWifiEntryPreference(getPrefContext(), wifiEntry, this); } return new FirstWifiEntryPreference(getPrefContext(), wifiEntry, this); } private void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) { final WifiEntry wifiEntry = pref.getWifiEntry(); final Context context = getContext(); Loading Loading @@ -1217,4 +1258,22 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment public void onAirplaneModeChanged(boolean isAirplaneModeOn) { updateAirplaneModeMsgPreference(isAirplaneModeOn /* visible */); } /** * A Wi-Fi preference for the connected Wi-Fi network without internet access. * * Override the icon color attribute by {@link ConnectedWifiEntryPreference#getIconColorAttr()} * and show the icon color to android.R.attr.colorControlNormal for the preference. */ public class FirstWifiEntryPreference extends ConnectedWifiEntryPreference { public FirstWifiEntryPreference(Context context, WifiEntry wifiEntry, Fragment fragment) { super(context, wifiEntry, fragment); } @Override protected int getIconColorAttr() { return android.R.attr.colorControlNormal; } } }
tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +55 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import android.view.View; import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; Loading @@ -61,6 +62,7 @@ import com.android.settings.datausage.DataUsagePreference; import com.android.settings.testutils.shadow.ShadowDataUsageUtils; import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.wifi.AddWifiNetworkPreference; import com.android.settings.wifi.ConnectedWifiEntryPreference; import com.android.settings.wifi.WifiConfigController2; import com.android.settings.wifi.WifiDialog2; import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager; Loading Loading @@ -109,6 +111,12 @@ public class NetworkProviderSettingsTest { private LayoutPreference mResetInternetPreference; @Mock private MenuItem mMenuItem; @Mock InternetUpdater mInternetUpdater; @Mock PreferenceCategory mConnectedWifiEntryPreferenceCategory; @Mock PreferenceCategory mFirstWifiEntryPreferenceCategory; @Before public void setUp() { Loading @@ -132,6 +140,15 @@ public class NetworkProviderSettingsTest { mNetworkProviderSettings.mResetInternetPreference = mResetInternetPreference; mNetworkProviderSettings.mAirplaneModeMsgPreference = mAirplaneModeMsgPreference; mNetworkProviderSettings.mAirplaneModeEnabler = mAirplaneModeEnabler; mNetworkProviderSettings.mInternetUpdater = mInternetUpdater; doReturn(NetworkProviderSettings.PREF_KEY_CONNECTED_ACCESS_POINTS) .when(mConnectedWifiEntryPreferenceCategory).getKey(); mNetworkProviderSettings.mConnectedWifiEntryPreferenceCategory = mConnectedWifiEntryPreferenceCategory; doReturn(NetworkProviderSettings.PREF_KEY_FIRST_ACCESS_POINTS) .when(mFirstWifiEntryPreferenceCategory).getKey(); mNetworkProviderSettings.mFirstWifiEntryPreferenceCategory = mFirstWifiEntryPreferenceCategory; FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, false); } Loading Loading @@ -452,11 +469,48 @@ public class NetworkProviderSettingsTest { verify(mAirplaneModeMsgPreference).setVisible(true); } @Test public void onAirplaneModeChanged_apmIsOff_hideApmMsg() { mNetworkProviderSettings.onAirplaneModeChanged(false); verify(mAirplaneModeMsgPreference).setVisible(false); } @Test public void getConnectedWifiPreferenceCategory_internetWiFi_getConnectedAccessPoints() { doReturn(InternetUpdater.INTERNET_WIFI).when(mInternetUpdater).getInternetType(); final PreferenceCategory pc = mNetworkProviderSettings.getConnectedWifiPreferenceCategory(); assertThat(pc.getKey()).isEqualTo(NetworkProviderSettings.PREF_KEY_CONNECTED_ACCESS_POINTS); } @Test public void getConnectedWifiPreferenceCategory_internetCellular_getFirstAccessPoints() { doReturn(InternetUpdater.INTERNET_CELLULAR).when(mInternetUpdater).getInternetType(); final PreferenceCategory pc = mNetworkProviderSettings.getConnectedWifiPreferenceCategory(); assertThat(pc.getKey()).isEqualTo(NetworkProviderSettings.PREF_KEY_FIRST_ACCESS_POINTS); } @Test public void createConnectedWifiEntryPreference_internetWiFi_createConnectedPreference() { final WifiEntry wifiEntry = mock(WifiEntry.class); doReturn(InternetUpdater.INTERNET_WIFI).when(mInternetUpdater).getInternetType(); final Preference p = mNetworkProviderSettings.createConnectedWifiEntryPreference(wifiEntry); assertThat(p instanceof ConnectedWifiEntryPreference).isTrue(); } @Test public void createConnectedWifiEntryPreference_internetCellular_createFirstWifiPreference() { final WifiEntry wifiEntry = mock(WifiEntry.class); doReturn(InternetUpdater.INTERNET_CELLULAR).when(mInternetUpdater).getInternetType(); final Preference p = mNetworkProviderSettings.createConnectedWifiEntryPreference(wifiEntry); assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue(); } }