Loading src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java +3 −7 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,6 @@ import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache; import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache; import com.android.settingslib.wifi.WifiSavedConfigUtils; import com.android.settingslib.wifi.WifiSavedConfigUtils; import java.util.Collections; import java.util.List; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Collectors; Loading @@ -40,17 +39,14 @@ import java.util.stream.Collectors; public class SavedAccessPointsPreferenceController extends BasePreferenceController implements public class SavedAccessPointsPreferenceController extends BasePreferenceController implements Preference.OnPreferenceClickListener { Preference.OnPreferenceClickListener { private static final String TAG = "SavedApPrefCtrl"; protected final WifiManager mWifiManager; private final WifiManager mWifiManager; private final UserBadgeCache mUserBadgeCache; private final UserBadgeCache mUserBadgeCache; private PreferenceGroup mPreferenceGroup; private PreferenceGroup mPreferenceGroup; private SavedAccessPointsWifiSettings mHost; private SavedAccessPointsWifiSettings mHost; @VisibleForTesting @VisibleForTesting List<AccessPoint> mAccessPoints; List<AccessPoint> mAccessPoints; public SavedAccessPointsPreferenceController(Context context, public SavedAccessPointsPreferenceController(Context context, String preferenceKey) { String preferenceKey) { super(context, preferenceKey); super(context, preferenceKey); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager()); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager()); mWifiManager = context.getSystemService(WifiManager.class); mWifiManager = context.getSystemService(WifiManager.class); Loading Loading @@ -84,7 +80,7 @@ public class SavedAccessPointsPreferenceController extends BasePreferenceControl return false; return false; } } private void refreshSavedAccessPoints() { protected void refreshSavedAccessPoints() { mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() .filter(accessPoint -> !accessPoint.isPasspointConfig()) .filter(accessPoint -> !accessPoint.isPasspointConfig()) .sorted(SavedNetworkComparator.INSTANCE) .sorted(SavedNetworkComparator.INSTANCE) Loading src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceController.java +4 −70 Original line number Original line Diff line number Diff line Loading @@ -17,92 +17,26 @@ package com.android.settings.wifi.savedaccesspoints; package com.android.settings.wifi.savedaccesspoints; import android.content.Context; import android.content.Context; import android.net.wifi.WifiManager; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache; import com.android.settingslib.wifi.WifiSavedConfigUtils; import com.android.settingslib.wifi.WifiSavedConfigUtils; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Collectors; /** /** * Controller that manages a PreferenceGroup, which contains a list of subscribed access points. * Controller that manages a PreferenceGroup, which contains a list of subscribed access points. */ */ public class SubscribedAccessPointsPreferenceController extends BasePreferenceController implements public class SubscribedAccessPointsPreferenceController extends Preference.OnPreferenceClickListener { SavedAccessPointsPreferenceController { private static final String TAG = "SubscribedApPrefCtrl"; private final WifiManager mWifiManager; private final UserBadgeCache mUserBadgeCache; private PreferenceGroup mPreferenceGroup; private SavedAccessPointsWifiSettings mHost; @VisibleForTesting List<AccessPoint> mAccessPoints; public SubscribedAccessPointsPreferenceController(Context context, public SubscribedAccessPointsPreferenceController(Context context, String preferenceKey) { String preferenceKey) { super(context, preferenceKey); super(context, preferenceKey); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager()); mWifiManager = context.getSystemService(WifiManager.class); } public SubscribedAccessPointsPreferenceController setHost(SavedAccessPointsWifiSettings host) { mHost = host; return this; } } @Override @Override public int getAvailabilityStatus() { protected void refreshSavedAccessPoints() { return mAccessPoints.size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; } @Override public void displayPreference(PreferenceScreen screen) { mPreferenceGroup = screen.findPreference(getPreferenceKey()); refreshSubscribedAccessPoints(); updatePreference(); super.displayPreference(screen); } @Override public boolean onPreferenceClick(Preference preference) { if (mHost != null) { final Preference preferenceInGroup = mPreferenceGroup.findPreference(preference.getKey()); mHost.showWifiPage((AccessPointPreference) preferenceInGroup); } return false; } private void refreshSubscribedAccessPoints() { mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() .filter(accessPoint -> accessPoint.isPasspointConfig()) .filter(accessPoint -> accessPoint.isPasspointConfig()) .sorted(SavedNetworkComparator.INSTANCE) .sorted(SavedNetworkComparator.INSTANCE) .collect(Collectors.toList()); .collect(Collectors.toList()); } } private void updatePreference() { mPreferenceGroup.removeAll(); for (AccessPoint accessPoint : mAccessPoints) { final String key = accessPoint.getKey(); final AccessPointPreference preference = new AccessPointPreference(accessPoint, mContext, mUserBadgeCache, true /* forSavedNetworks */); preference.setKey(key); preference.setIcon(null); preference.setOnPreferenceClickListener(this); mPreferenceGroup.addPreference(preference); } } } } tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -98,7 +98,7 @@ public class SavedAccessPointsPreferenceControllerTest { @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSavedAccessPoints_shouldListNonSubscribedAPs() { public void displayPreference_oneAccessPoint_shouldListNonSubscribedAPs() { final WifiConfiguration config = new WifiConfiguration(); final WifiConfiguration config = new WifiConfiguration(); config.SSID = "SSID"; config.SSID = "SSID"; config.BSSID = "BSSID"; config.BSSID = "BSSID"; Loading @@ -117,7 +117,7 @@ public class SavedAccessPointsPreferenceControllerTest { @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSavedAccessPoints_shouldNotListSubscribedAPs() { public void displayPreference_onePasspoint_shouldNotListSubscribedAPs() { mWifiManager.addOrUpdatePasspointConfiguration( mWifiManager.addOrUpdatePasspointConfiguration( SubscribedAccessPointsPreferenceControllerTest.createMockPasspointConfiguration()); SubscribedAccessPointsPreferenceControllerTest.createMockPasspointConfiguration()); Loading tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceControllerTest.java +2 −24 Original line number Original line Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.settings.wifi.savedaccesspoints; 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; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any; Loading @@ -32,7 +29,6 @@ import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager; import android.net.wifi.hotspot2.PasspointConfiguration; import android.net.wifi.hotspot2.PasspointConfiguration; import android.net.wifi.hotspot2.pps.HomeSp; import android.net.wifi.hotspot2.pps.HomeSp; import android.os.Bundle; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen; Loading @@ -42,9 +38,6 @@ import com.android.settings.testutils.shadow.ShadowWifiManager; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference; import java.util.ArrayList; import java.util.Arrays; import org.junit.Before; import org.junit.Before; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; Loading Loading @@ -83,24 +76,9 @@ public class SubscribedAccessPointsPreferenceControllerTest { when(mPreferenceCategory.getContext()).thenReturn(mContext); when(mPreferenceCategory.getContext()).thenReturn(mContext); } } @Test public void getAvailability_noSavedAccessPoint_shouldNotAvailable() { mController.mAccessPoints = new ArrayList<>(); assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE); } @Test public void getAvailability_oneSavedAccessPoint_shouldAvailable() { final AccessPoint accessPoint = new AccessPoint(mContext, new Bundle() /* savedState */); mController.mAccessPoints = new ArrayList<AccessPoint>(Arrays.asList(accessPoint)); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); } @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSubscribedAccessPoints_shouldNotListNonSubscribedAPs() { public void displayPreference_oneAccessPoint_shouldNotListNonSubscribedAPs() { final WifiConfiguration config = new WifiConfiguration(); final WifiConfiguration config = new WifiConfiguration(); config.SSID = "SSID"; config.SSID = "SSID"; config.BSSID = "BSSID"; config.BSSID = "BSSID"; Loading @@ -114,7 +92,7 @@ public class SubscribedAccessPointsPreferenceControllerTest { @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSubscribedAccessPoints_shouldListSubscribedAPs() { public void displayPreference_onePasspoint_shouldListSubscribedAPs() { mWifiManager.addOrUpdatePasspointConfiguration(createMockPasspointConfiguration()); mWifiManager.addOrUpdatePasspointConfiguration(createMockPasspointConfiguration()); mController.displayPreference(mPreferenceScreen); mController.displayPreference(mPreferenceScreen); Loading Loading
src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java +3 −7 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,6 @@ import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache; import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache; import com.android.settingslib.wifi.WifiSavedConfigUtils; import com.android.settingslib.wifi.WifiSavedConfigUtils; import java.util.Collections; import java.util.List; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Collectors; Loading @@ -40,17 +39,14 @@ import java.util.stream.Collectors; public class SavedAccessPointsPreferenceController extends BasePreferenceController implements public class SavedAccessPointsPreferenceController extends BasePreferenceController implements Preference.OnPreferenceClickListener { Preference.OnPreferenceClickListener { private static final String TAG = "SavedApPrefCtrl"; protected final WifiManager mWifiManager; private final WifiManager mWifiManager; private final UserBadgeCache mUserBadgeCache; private final UserBadgeCache mUserBadgeCache; private PreferenceGroup mPreferenceGroup; private PreferenceGroup mPreferenceGroup; private SavedAccessPointsWifiSettings mHost; private SavedAccessPointsWifiSettings mHost; @VisibleForTesting @VisibleForTesting List<AccessPoint> mAccessPoints; List<AccessPoint> mAccessPoints; public SavedAccessPointsPreferenceController(Context context, public SavedAccessPointsPreferenceController(Context context, String preferenceKey) { String preferenceKey) { super(context, preferenceKey); super(context, preferenceKey); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager()); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager()); mWifiManager = context.getSystemService(WifiManager.class); mWifiManager = context.getSystemService(WifiManager.class); Loading Loading @@ -84,7 +80,7 @@ public class SavedAccessPointsPreferenceController extends BasePreferenceControl return false; return false; } } private void refreshSavedAccessPoints() { protected void refreshSavedAccessPoints() { mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() .filter(accessPoint -> !accessPoint.isPasspointConfig()) .filter(accessPoint -> !accessPoint.isPasspointConfig()) .sorted(SavedNetworkComparator.INSTANCE) .sorted(SavedNetworkComparator.INSTANCE) Loading
src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceController.java +4 −70 Original line number Original line Diff line number Diff line Loading @@ -17,92 +17,26 @@ package com.android.settings.wifi.savedaccesspoints; package com.android.settings.wifi.savedaccesspoints; import android.content.Context; import android.content.Context; import android.net.wifi.WifiManager; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache; import com.android.settingslib.wifi.WifiSavedConfigUtils; import com.android.settingslib.wifi.WifiSavedConfigUtils; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Collectors; /** /** * Controller that manages a PreferenceGroup, which contains a list of subscribed access points. * Controller that manages a PreferenceGroup, which contains a list of subscribed access points. */ */ public class SubscribedAccessPointsPreferenceController extends BasePreferenceController implements public class SubscribedAccessPointsPreferenceController extends Preference.OnPreferenceClickListener { SavedAccessPointsPreferenceController { private static final String TAG = "SubscribedApPrefCtrl"; private final WifiManager mWifiManager; private final UserBadgeCache mUserBadgeCache; private PreferenceGroup mPreferenceGroup; private SavedAccessPointsWifiSettings mHost; @VisibleForTesting List<AccessPoint> mAccessPoints; public SubscribedAccessPointsPreferenceController(Context context, public SubscribedAccessPointsPreferenceController(Context context, String preferenceKey) { String preferenceKey) { super(context, preferenceKey); super(context, preferenceKey); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager()); mWifiManager = context.getSystemService(WifiManager.class); } public SubscribedAccessPointsPreferenceController setHost(SavedAccessPointsWifiSettings host) { mHost = host; return this; } } @Override @Override public int getAvailabilityStatus() { protected void refreshSavedAccessPoints() { return mAccessPoints.size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; } @Override public void displayPreference(PreferenceScreen screen) { mPreferenceGroup = screen.findPreference(getPreferenceKey()); refreshSubscribedAccessPoints(); updatePreference(); super.displayPreference(screen); } @Override public boolean onPreferenceClick(Preference preference) { if (mHost != null) { final Preference preferenceInGroup = mPreferenceGroup.findPreference(preference.getKey()); mHost.showWifiPage((AccessPointPreference) preferenceInGroup); } return false; } private void refreshSubscribedAccessPoints() { mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream() .filter(accessPoint -> accessPoint.isPasspointConfig()) .filter(accessPoint -> accessPoint.isPasspointConfig()) .sorted(SavedNetworkComparator.INSTANCE) .sorted(SavedNetworkComparator.INSTANCE) .collect(Collectors.toList()); .collect(Collectors.toList()); } } private void updatePreference() { mPreferenceGroup.removeAll(); for (AccessPoint accessPoint : mAccessPoints) { final String key = accessPoint.getKey(); final AccessPointPreference preference = new AccessPointPreference(accessPoint, mContext, mUserBadgeCache, true /* forSavedNetworks */); preference.setKey(key); preference.setIcon(null); preference.setOnPreferenceClickListener(this); mPreferenceGroup.addPreference(preference); } } } }
tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -98,7 +98,7 @@ public class SavedAccessPointsPreferenceControllerTest { @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSavedAccessPoints_shouldListNonSubscribedAPs() { public void displayPreference_oneAccessPoint_shouldListNonSubscribedAPs() { final WifiConfiguration config = new WifiConfiguration(); final WifiConfiguration config = new WifiConfiguration(); config.SSID = "SSID"; config.SSID = "SSID"; config.BSSID = "BSSID"; config.BSSID = "BSSID"; Loading @@ -117,7 +117,7 @@ public class SavedAccessPointsPreferenceControllerTest { @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSavedAccessPoints_shouldNotListSubscribedAPs() { public void displayPreference_onePasspoint_shouldNotListSubscribedAPs() { mWifiManager.addOrUpdatePasspointConfiguration( mWifiManager.addOrUpdatePasspointConfiguration( SubscribedAccessPointsPreferenceControllerTest.createMockPasspointConfiguration()); SubscribedAccessPointsPreferenceControllerTest.createMockPasspointConfiguration()); Loading
tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceControllerTest.java +2 −24 Original line number Original line Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.settings.wifi.savedaccesspoints; 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; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any; Loading @@ -32,7 +29,6 @@ import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager; import android.net.wifi.hotspot2.PasspointConfiguration; import android.net.wifi.hotspot2.PasspointConfiguration; import android.net.wifi.hotspot2.pps.HomeSp; import android.net.wifi.hotspot2.pps.HomeSp; import android.os.Bundle; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen; Loading @@ -42,9 +38,6 @@ import com.android.settings.testutils.shadow.ShadowWifiManager; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference; import java.util.ArrayList; import java.util.Arrays; import org.junit.Before; import org.junit.Before; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; Loading Loading @@ -83,24 +76,9 @@ public class SubscribedAccessPointsPreferenceControllerTest { when(mPreferenceCategory.getContext()).thenReturn(mContext); when(mPreferenceCategory.getContext()).thenReturn(mContext); } } @Test public void getAvailability_noSavedAccessPoint_shouldNotAvailable() { mController.mAccessPoints = new ArrayList<>(); assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE); } @Test public void getAvailability_oneSavedAccessPoint_shouldAvailable() { final AccessPoint accessPoint = new AccessPoint(mContext, new Bundle() /* savedState */); mController.mAccessPoints = new ArrayList<AccessPoint>(Arrays.asList(accessPoint)); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); } @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSubscribedAccessPoints_shouldNotListNonSubscribedAPs() { public void displayPreference_oneAccessPoint_shouldNotListNonSubscribedAPs() { final WifiConfiguration config = new WifiConfiguration(); final WifiConfiguration config = new WifiConfiguration(); config.SSID = "SSID"; config.SSID = "SSID"; config.BSSID = "BSSID"; config.BSSID = "BSSID"; Loading @@ -114,7 +92,7 @@ public class SubscribedAccessPointsPreferenceControllerTest { @Test @Test @Config(shadows = ShadowAccessPoint.class) @Config(shadows = ShadowAccessPoint.class) public void refreshSubscribedAccessPoints_shouldListSubscribedAPs() { public void displayPreference_onePasspoint_shouldListSubscribedAPs() { mWifiManager.addOrUpdatePasspointConfiguration(createMockPasspointConfiguration()); mWifiManager.addOrUpdatePasspointConfiguration(createMockPasspointConfiguration()); mController.displayPreference(mPreferenceScreen); mController.displayPreference(mPreferenceScreen); Loading