Merge "Define "Add network" preference in XML." into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
c06c74af17
@@ -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"
|
||||
|
@@ -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
|
||||
@@ -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)
|
||||
@@ -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);
|
||||
|
@@ -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;
|
||||
@@ -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);
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user