Loading res/xml/network_provider_settings.xml +7 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,13 @@ <PreferenceCategory android:key="access_points" android:layout="@layout/preference_category_no_label"/> android:layout="@layout/preference_category_no_label"> <com.android.settings.wifi.AddWifiNetworkPreference android:key="add_wifi_network" android:title="@string/wifi_add_network" android:icon="@drawable/ic_add_24dp"/> </PreferenceCategory> <Preference android:key="configure_network_settings" Loading src/com/android/settings/network/NetworkProviderSettings.java +9 −1 Original line number Diff line number Diff line Loading @@ -137,6 +137,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @VisibleForTesting static final String PREF_KEY_FIRST_ACCESS_POINTS = "first_access_points"; private static final String PREF_KEY_ACCESS_POINTS = "access_points"; @VisibleForTesting static final String PREF_KEY_ADD_WIFI_NETWORK = "add_wifi_network"; private static final String PREF_KEY_CONFIGURE_NETWORK_SETTINGS = "configure_network_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; @VisibleForTesting Loading Loading @@ -322,7 +324,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS); mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_NETWORK_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext()); mAddWifiNetworkPreference = findPreference(PREF_KEY_ADD_WIFI_NETWORK); // Hide mAddWifiNetworkPreference by default. updateWifiEntryPreferences() will add it back // later when appropriate. mWifiEntryPreferenceCategory.removePreference(mAddWifiNetworkPreference); mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE); mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext())); mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI) Loading Loading @@ -1291,6 +1296,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (WifiSavedConfigUtils.getAllConfigsCount(context, wifiManager) == 0) { keys.add(PREF_KEY_SAVED_NETWORKS); } if (wifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { keys.add(PREF_KEY_ADD_WIFI_NETWORK); } if (!DataUsageUtils.hasWifiRadio(context)) { keys.add(PREF_KEY_DATA_USAGE); Loading src/com/android/settings/wifi/AddWifiNetworkPreference.java +6 −1 Original line number Diff line number Diff line Loading @@ -20,10 +20,12 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.UserManager; import android.util.AttributeSet; import android.util.Log; import android.widget.ImageButton; import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; Loading @@ -40,8 +42,11 @@ public class AddWifiNetworkPreference extends RestrictedPreference { private final Drawable mScanIconDrawable; public AddWifiNetworkPreference(Context context) { super(context); this(context, null); } public AddWifiNetworkPreference(Context context, @Nullable AttributeSet attrs) { super(context, attrs); setLayoutResource(com.android.settingslib.R.layout.preference_access_point); setWidgetLayoutResource(R.layout.wifi_button_preference_widget); setIcon(R.drawable.ic_add_24dp); Loading tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -796,6 +796,28 @@ public class NetworkProviderSettingsTest { assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_WIFI_TOGGLE); } @Test public void getNonIndexableKeys_wifiStateEnabled_addWifiNetworkKeyNotReturned() { when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_ENABLED); NetworkProviderSettings.SearchIndexProvider searchIndexProvider = new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction); final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext); assertThat(keys).doesNotContain(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK); } @Test public void getNonIndexableKeys_wifiStateDisabled_addWifiNetworkKeyReturned() { when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED); NetworkProviderSettings.SearchIndexProvider searchIndexProvider = new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction); final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext); assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK); } @Test public void launchConfigNewNetworkFragment_fragmentIsRestricted_ignoreWifiEntry() { mNetworkProviderSettings.mIsRestricted = true; Loading Loading
res/xml/network_provider_settings.xml +7 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,13 @@ <PreferenceCategory android:key="access_points" android:layout="@layout/preference_category_no_label"/> android:layout="@layout/preference_category_no_label"> <com.android.settings.wifi.AddWifiNetworkPreference android:key="add_wifi_network" android:title="@string/wifi_add_network" android:icon="@drawable/ic_add_24dp"/> </PreferenceCategory> <Preference android:key="configure_network_settings" Loading
src/com/android/settings/network/NetworkProviderSettings.java +9 −1 Original line number Diff line number Diff line Loading @@ -137,6 +137,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @VisibleForTesting static final String PREF_KEY_FIRST_ACCESS_POINTS = "first_access_points"; private static final String PREF_KEY_ACCESS_POINTS = "access_points"; @VisibleForTesting static final String PREF_KEY_ADD_WIFI_NETWORK = "add_wifi_network"; private static final String PREF_KEY_CONFIGURE_NETWORK_SETTINGS = "configure_network_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; @VisibleForTesting Loading Loading @@ -322,7 +324,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS); mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_NETWORK_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext()); mAddWifiNetworkPreference = findPreference(PREF_KEY_ADD_WIFI_NETWORK); // Hide mAddWifiNetworkPreference by default. updateWifiEntryPreferences() will add it back // later when appropriate. mWifiEntryPreferenceCategory.removePreference(mAddWifiNetworkPreference); mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE); mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext())); mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI) Loading Loading @@ -1291,6 +1296,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (WifiSavedConfigUtils.getAllConfigsCount(context, wifiManager) == 0) { keys.add(PREF_KEY_SAVED_NETWORKS); } if (wifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { keys.add(PREF_KEY_ADD_WIFI_NETWORK); } if (!DataUsageUtils.hasWifiRadio(context)) { keys.add(PREF_KEY_DATA_USAGE); Loading
src/com/android/settings/wifi/AddWifiNetworkPreference.java +6 −1 Original line number Diff line number Diff line Loading @@ -20,10 +20,12 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.UserManager; import android.util.AttributeSet; import android.util.Log; import android.widget.ImageButton; import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; Loading @@ -40,8 +42,11 @@ public class AddWifiNetworkPreference extends RestrictedPreference { private final Drawable mScanIconDrawable; public AddWifiNetworkPreference(Context context) { super(context); this(context, null); } public AddWifiNetworkPreference(Context context, @Nullable AttributeSet attrs) { super(context, attrs); setLayoutResource(com.android.settingslib.R.layout.preference_access_point); setWidgetLayoutResource(R.layout.wifi_button_preference_widget); setIcon(R.drawable.ic_add_24dp); Loading
tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -796,6 +796,28 @@ public class NetworkProviderSettingsTest { assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_WIFI_TOGGLE); } @Test public void getNonIndexableKeys_wifiStateEnabled_addWifiNetworkKeyNotReturned() { when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_ENABLED); NetworkProviderSettings.SearchIndexProvider searchIndexProvider = new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction); final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext); assertThat(keys).doesNotContain(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK); } @Test public void getNonIndexableKeys_wifiStateDisabled_addWifiNetworkKeyReturned() { when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED); NetworkProviderSettings.SearchIndexProvider searchIndexProvider = new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction); final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext); assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK); } @Test public void launchConfigNewNetworkFragment_fragmentIsRestricted_ignoreWifiEntry() { mNetworkProviderSettings.mIsRestricted = true; Loading