Merge "[Wi-Fi] Fix SavedAccessPointsPreferenceController crash when editing Settings search box"
diff --git a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java
index 2315c9b..fc91f6b 100644
--- a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java
+++ b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java
@@ -59,6 +59,7 @@
@Override
public int getAvailabilityStatus() {
+ refreshSavedAccessPoints();
return mAccessPoints.size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java
index e955224..483e259 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java
@@ -16,7 +16,6 @@
package com.android.settings.wifi.savedaccesspoints;
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
import static com.google.common.truth.Truth.assertThat;
@@ -30,19 +29,14 @@
import android.content.Context;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
-import android.os.Bundle;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.android.settings.testutils.shadow.ShadowAccessPoint;
import com.android.settings.testutils.shadow.ShadowWifiManager;
-import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.AccessPointPreference;
-import java.util.ArrayList;
-import java.util.Arrays;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -53,6 +47,8 @@
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import java.util.ArrayList;
+
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowWifiManager.class})
public class SavedAccessPointsPreferenceControllerTest {
@@ -89,11 +85,10 @@
}
@Test
- public void getAvailability_oneSavedAccessPoint_shouldAvailable() {
- final AccessPoint accessPoint = new AccessPoint(mContext, new Bundle() /* savedState */);
- mController.mAccessPoints = new ArrayList<AccessPoint>(Arrays.asList(accessPoint));
+ public void getAvailability_shouldRefreshSavedAccessPoints() {
+ mController.getAvailabilityStatus();
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+ verify(mController).refreshSavedAccessPoints();
}
@Test