Loading api/system-current.txt +8 −4 Original line number Diff line number Diff line Loading @@ -26340,9 +26340,12 @@ package android.net { public final class RecommendationRequest implements android.os.Parcelable { ctor protected RecommendationRequest(android.os.Parcel); method public int describeContents(); method public android.net.wifi.WifiConfiguration getCurrentSelectedConfig(); method public android.net.NetworkCapabilities getRequiredCapabilities(); method public android.net.wifi.WifiConfiguration[] getConnectableConfigs(); method public android.net.wifi.WifiConfiguration getConnectedConfig(); method public android.net.wifi.WifiConfiguration getDefaultWifiConfig(); method public android.net.wifi.ScanResult[] getScanResults(); method public void setConnectableConfigs(android.net.wifi.WifiConfiguration[]); method public void setConnectedConfig(android.net.wifi.WifiConfiguration); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.net.RecommendationRequest> CREATOR; } Loading @@ -26350,8 +26353,9 @@ package android.net { public static final class RecommendationRequest.Builder { ctor public RecommendationRequest.Builder(); method public android.net.RecommendationRequest build(); method public android.net.RecommendationRequest.Builder setCurrentRecommendedWifiConfig(android.net.wifi.WifiConfiguration); method public android.net.RecommendationRequest.Builder setNetworkCapabilities(android.net.NetworkCapabilities); method public android.net.RecommendationRequest.Builder setConnectableConfigs(android.net.wifi.WifiConfiguration[]); method public android.net.RecommendationRequest.Builder setConnectedWifiConfig(android.net.wifi.WifiConfiguration); method public android.net.RecommendationRequest.Builder setDefaultWifiConfig(android.net.wifi.WifiConfiguration); method public android.net.RecommendationRequest.Builder setScanResults(android.net.wifi.ScanResult[]); } core/java/android/net/RecommendationRequest.java +113 −29 Original line number Diff line number Diff line Loading @@ -34,8 +34,9 @@ import com.android.internal.annotations.VisibleForTesting; @SystemApi public final class RecommendationRequest implements Parcelable { private final ScanResult[] mScanResults; private final WifiConfiguration mCurrentSelectedConfig; private final NetworkCapabilities mRequiredCapabilities; private final WifiConfiguration mDefaultConfig; private WifiConfiguration mConnectedConfig; private WifiConfiguration[] mConnectableConfigs; /** * Builder class for constructing {@link RecommendationRequest} instances. Loading @@ -44,26 +45,62 @@ public final class RecommendationRequest implements Parcelable { @SystemApi public static final class Builder { private ScanResult[] mScanResults; private WifiConfiguration mCurrentConfig; private NetworkCapabilities mNetworkCapabilities; private WifiConfiguration mDefaultConfig; private WifiConfiguration mConnectedConfig; private WifiConfiguration[] mConnectableConfigs; /** * @param scanResults the array of {@link ScanResult}s the recommendation must be * constrained to i.e. if a non-null wifi config recommendation is * returned then it must be able to connect to one of the networks in * the results list. * * If the array is {@code null} or empty then there is no constraint. * * @return this */ public Builder setScanResults(ScanResult[] scanResults) { mScanResults = scanResults; return this; } public Builder setCurrentRecommendedWifiConfig(WifiConfiguration config) { this.mCurrentConfig = config; /** * @param config the {@link WifiConfiguration} to return if no recommendation is available. * @return this */ public Builder setDefaultWifiConfig(WifiConfiguration config) { this.mDefaultConfig = config; return this; } public Builder setNetworkCapabilities(NetworkCapabilities capabilities) { mNetworkCapabilities = capabilities; /** * @param config the {@link WifiConfiguration} of the connected network at the time the * this request was made. * @return this */ public Builder setConnectedWifiConfig(WifiConfiguration config) { this.mConnectedConfig = config; return this; } /** * @param connectableConfigs the set of saved {@link WifiConfiguration}s that can be * connected to based on the current set of {@link ScanResult}s. * @return this */ public Builder setConnectableConfigs(WifiConfiguration[] connectableConfigs) { mConnectableConfigs = connectableConfigs; return this; } /** * @return a new {@link RecommendationRequest} instance */ public RecommendationRequest build() { return new RecommendationRequest(mScanResults, mCurrentConfig, mNetworkCapabilities); return new RecommendationRequest(mScanResults, mDefaultConfig, mConnectedConfig, mConnectableConfigs); } } Loading @@ -79,45 +116,80 @@ public final class RecommendationRequest implements Parcelable { } /** * @return The best recommendation at the time this {@code RecommendationRequest} instance * was created. This may be null which indicates that no recommendation is available. * @return the {@link WifiConfiguration} to return if no recommendation is available. */ public WifiConfiguration getCurrentSelectedConfig() { return mCurrentSelectedConfig; public WifiConfiguration getDefaultWifiConfig() { return mDefaultConfig; } /** * * @return The set of {@link NetworkCapabilities} the recommendation must be constrained to. * This may be {@code null} which indicates that there are no constraints on the * capabilities of the recommended network. * @return the {@link WifiConfiguration} of the connected network at the time the this request * was made. */ public WifiConfiguration getConnectedConfig() { return mConnectedConfig; } /** * @return the set of saved {@link WifiConfiguration}s that can be connected to based on the * current set of {@link ScanResult}s. */ public NetworkCapabilities getRequiredCapabilities() { return mRequiredCapabilities; public WifiConfiguration[] getConnectableConfigs() { return mConnectableConfigs; } /** * @param connectedConfig the {@link WifiConfiguration} of the connected network at the time * the this request was made. */ public void setConnectedConfig(WifiConfiguration connectedConfig) { mConnectedConfig = connectedConfig; } /** * @param connectableConfigs the set of saved {@link WifiConfiguration}s that can be connected * to based on the current set of {@link ScanResult}s. */ public void setConnectableConfigs(WifiConfiguration[] connectableConfigs) { mConnectableConfigs = connectableConfigs; } @VisibleForTesting RecommendationRequest(ScanResult[] scanResults, WifiConfiguration currentSelectedConfig, NetworkCapabilities requiredCapabilities) { WifiConfiguration defaultWifiConfig, WifiConfiguration connectedWifiConfig, WifiConfiguration[] connectableConfigs) { mScanResults = scanResults; mCurrentSelectedConfig = currentSelectedConfig; mRequiredCapabilities = requiredCapabilities; mDefaultConfig = defaultWifiConfig; mConnectedConfig = connectedWifiConfig; mConnectableConfigs = connectableConfigs; } protected RecommendationRequest(Parcel in) { final int resultCount = in.readInt(); if (resultCount > 0) { mScanResults = new ScanResult[resultCount]; final ClassLoader classLoader = ScanResult.class.getClassLoader(); for (int i = 0; i < resultCount; i++) { mScanResults[i] = in.readParcelable(ScanResult.class.getClassLoader()); mScanResults[i] = in.readParcelable(classLoader); } } else { mScanResults = null; } mCurrentSelectedConfig = in.readParcelable(WifiConfiguration.class.getClassLoader()); mRequiredCapabilities = in.readParcelable(NetworkCapabilities.class.getClassLoader()); mDefaultConfig = in.readParcelable(WifiConfiguration.class.getClassLoader()); mConnectedConfig = in.readParcelable(WifiConfiguration.class.getClassLoader()); final int configCount = in.readInt(); if (configCount > 0) { mConnectableConfigs = new WifiConfiguration[configCount]; final ClassLoader classLoader = WifiConfiguration.class.getClassLoader(); for (int i = 0; i < configCount; i++) { mConnectableConfigs[i] = in.readParcelable(classLoader); } } else { mConnectableConfigs = null; } } @Override Loading @@ -135,8 +207,20 @@ public final class RecommendationRequest implements Parcelable { } else { dest.writeInt(0); } dest.writeParcelable(mCurrentSelectedConfig, flags); dest.writeParcelable(mRequiredCapabilities, flags); dest.writeParcelable(mDefaultConfig, flags); dest.writeParcelable(mConnectedConfig, flags); if (mConnectableConfigs != null) { dest.writeInt(mConnectableConfigs.length); for (int i = 0; i < mConnectableConfigs.length; i++) { dest.writeParcelable(mConnectableConfigs[i], flags); } } else { dest.writeInt(0); } } public static final Creator<RecommendationRequest> CREATOR = Loading core/tests/coretests/src/android/net/RecommendationRequestTest.java +30 −16 Original line number Diff line number Diff line Loading @@ -7,8 +7,9 @@ import android.test.AndroidTestCase; public class RecommendationRequestTest extends AndroidTestCase { private ScanResult[] mScanResults; private WifiConfiguration mConfiguration; private NetworkCapabilities mCapabilities; private WifiConfiguration mDefaultConfig; private WifiConfiguration mConnectedConfig; private WifiConfiguration[] mConnectableConfigs; @Override public void setUp() throws Exception { Loading @@ -29,45 +30,58 @@ public class RecommendationRequestTest extends AndroidTestCase { 8 /*centerFreq0*/, 9 /*centerFreq1*/, false /*is80211McRTTResponder*/); mConfiguration = new WifiConfiguration(); mConfiguration.SSID = "RecommendationRequestTest"; mCapabilities = new NetworkCapabilities() .removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED); mDefaultConfig = new WifiConfiguration(); mDefaultConfig.SSID = "default_config"; mConnectedConfig = new WifiConfiguration(); mConnectedConfig.SSID = "connected_config"; mConnectableConfigs = new WifiConfiguration[] {mDefaultConfig, mConnectedConfig}; } public void testParceling() throws Exception { RecommendationRequest request = new RecommendationRequest.Builder() .setCurrentRecommendedWifiConfig(mConfiguration) .setDefaultWifiConfig(mDefaultConfig) .setScanResults(mScanResults) .setNetworkCapabilities(mCapabilities) .setConnectedWifiConfig(mConnectedConfig) .setConnectableConfigs(mConnectableConfigs) .build(); RecommendationRequest parceled = passThroughParcel(request); assertEquals(request.getCurrentSelectedConfig().SSID, parceled.getCurrentSelectedConfig().SSID); assertEquals(request.getRequiredCapabilities(), parceled.getRequiredCapabilities()); assertEquals(request.getDefaultWifiConfig().SSID, parceled.getDefaultWifiConfig().SSID); assertEquals(request.getConnectedConfig().SSID, parceled.getConnectedConfig().SSID); ScanResult[] parceledScanResults = parceled.getScanResults(); assertNotNull(parceledScanResults); assertEquals(mScanResults.length, parceledScanResults.length); for (int i = 0; i < mScanResults.length; i++) { assertEquals(mScanResults[i].SSID, parceledScanResults[i].SSID); } WifiConfiguration[] parceledConfigs = parceled.getConnectableConfigs(); for (int i = 0; i < parceledConfigs.length; i++) { assertEquals(mConnectableConfigs[i].SSID, parceledConfigs[i].SSID); } } public void testParceling_nullScanResults() throws Exception { RecommendationRequest request = new RecommendationRequest.Builder() .setCurrentRecommendedWifiConfig(mConfiguration) .setNetworkCapabilities(mCapabilities) .setDefaultWifiConfig(mDefaultConfig) .build(); RecommendationRequest parceled = passThroughParcel(request); assertEquals(request.getCurrentSelectedConfig().SSID, parceled.getCurrentSelectedConfig().SSID); assertEquals(request.getRequiredCapabilities(), parceled.getRequiredCapabilities()); ScanResult[] parceledScanResults = parceled.getScanResults(); assertNull(parceledScanResults); } public void testParceling_nullWifiConfigArray() throws Exception { RecommendationRequest request = new RecommendationRequest.Builder() .setDefaultWifiConfig(mDefaultConfig) .build(); RecommendationRequest parceled = passThroughParcel(request); WifiConfiguration[] parceledConfigs = parceled.getConnectableConfigs(); assertNull(parceledConfigs); } private RecommendationRequest passThroughParcel(RecommendationRequest request) { Parcel p = Parcel.obtain(); RecommendationRequest output = null; Loading services/core/java/com/android/server/NetworkScoreService.java +4 −4 Original line number Diff line number Diff line Loading @@ -582,9 +582,9 @@ public class NetworkScoreService extends INetworkScoreService.Stub { Log.d(TAG, "Returning the default network recommendation."); } if (request != null && request.getCurrentSelectedConfig() != null) { if (request != null && request.getDefaultWifiConfig() != null) { return RecommendationResult.createConnectRecommendation( request.getCurrentSelectedConfig()); request.getDefaultWifiConfig()); } return RecommendationResult.createDoNotConnectRecommendation(); } finally { Loading Loading @@ -887,9 +887,9 @@ public class NetworkScoreService extends INetworkScoreService.Stub { } final RecommendationResult result; if (request != null && request.getCurrentSelectedConfig() != null) { if (request != null && request.getDefaultWifiConfig() != null) { result = RecommendationResult.createConnectRecommendation( request.getCurrentSelectedConfig()); request.getDefaultWifiConfig()); } else { result = RecommendationResult.createDoNotConnectRecommendation(); } Loading services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ public class NetworkScoreServiceTest { configuration.SSID = "NetworkScoreServiceTest_SSID"; configuration.BSSID = "NetworkScoreServiceTest_BSSID"; mRecommendationRequest = new RecommendationRequest.Builder() .setCurrentRecommendedWifiConfig(configuration).build(); .setDefaultWifiConfig(configuration).build(); mOnResultListener = new OnResultListener(); mRemoteCallback = new RemoteCallback(mOnResultListener); Settings.Global.putLong(mContentResolver, Loading Loading @@ -240,7 +240,7 @@ public class NetworkScoreServiceTest { final RecommendationResult result = mNetworkScoreService.requestRecommendation(mRecommendationRequest); assertNotNull(result); assertEquals(mRecommendationRequest.getCurrentSelectedConfig(), assertEquals(mRecommendationRequest.getDefaultWifiConfig(), result.getWifiConfiguration()); } Loading @@ -255,7 +255,7 @@ public class NetworkScoreServiceTest { final RecommendationResult result = mNetworkScoreService.requestRecommendation(mRecommendationRequest); assertNotNull(result); assertEquals(mRecommendationRequest.getCurrentSelectedConfig(), assertEquals(mRecommendationRequest.getDefaultWifiConfig(), result.getWifiConfiguration()); } Loading Loading @@ -327,7 +327,7 @@ public class NetworkScoreServiceTest { RecommendationResult result = mOnResultListener.receivedBundle.getParcelable(EXTRA_RECOMMENDATION_RESULT); assertTrue(result.hasRecommendation()); assertEquals(mRecommendationRequest.getCurrentSelectedConfig().SSID, assertEquals(mRecommendationRequest.getDefaultWifiConfig().SSID, result.getWifiConfiguration().SSID); } Loading Loading
api/system-current.txt +8 −4 Original line number Diff line number Diff line Loading @@ -26340,9 +26340,12 @@ package android.net { public final class RecommendationRequest implements android.os.Parcelable { ctor protected RecommendationRequest(android.os.Parcel); method public int describeContents(); method public android.net.wifi.WifiConfiguration getCurrentSelectedConfig(); method public android.net.NetworkCapabilities getRequiredCapabilities(); method public android.net.wifi.WifiConfiguration[] getConnectableConfigs(); method public android.net.wifi.WifiConfiguration getConnectedConfig(); method public android.net.wifi.WifiConfiguration getDefaultWifiConfig(); method public android.net.wifi.ScanResult[] getScanResults(); method public void setConnectableConfigs(android.net.wifi.WifiConfiguration[]); method public void setConnectedConfig(android.net.wifi.WifiConfiguration); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.net.RecommendationRequest> CREATOR; } Loading @@ -26350,8 +26353,9 @@ package android.net { public static final class RecommendationRequest.Builder { ctor public RecommendationRequest.Builder(); method public android.net.RecommendationRequest build(); method public android.net.RecommendationRequest.Builder setCurrentRecommendedWifiConfig(android.net.wifi.WifiConfiguration); method public android.net.RecommendationRequest.Builder setNetworkCapabilities(android.net.NetworkCapabilities); method public android.net.RecommendationRequest.Builder setConnectableConfigs(android.net.wifi.WifiConfiguration[]); method public android.net.RecommendationRequest.Builder setConnectedWifiConfig(android.net.wifi.WifiConfiguration); method public android.net.RecommendationRequest.Builder setDefaultWifiConfig(android.net.wifi.WifiConfiguration); method public android.net.RecommendationRequest.Builder setScanResults(android.net.wifi.ScanResult[]); }
core/java/android/net/RecommendationRequest.java +113 −29 Original line number Diff line number Diff line Loading @@ -34,8 +34,9 @@ import com.android.internal.annotations.VisibleForTesting; @SystemApi public final class RecommendationRequest implements Parcelable { private final ScanResult[] mScanResults; private final WifiConfiguration mCurrentSelectedConfig; private final NetworkCapabilities mRequiredCapabilities; private final WifiConfiguration mDefaultConfig; private WifiConfiguration mConnectedConfig; private WifiConfiguration[] mConnectableConfigs; /** * Builder class for constructing {@link RecommendationRequest} instances. Loading @@ -44,26 +45,62 @@ public final class RecommendationRequest implements Parcelable { @SystemApi public static final class Builder { private ScanResult[] mScanResults; private WifiConfiguration mCurrentConfig; private NetworkCapabilities mNetworkCapabilities; private WifiConfiguration mDefaultConfig; private WifiConfiguration mConnectedConfig; private WifiConfiguration[] mConnectableConfigs; /** * @param scanResults the array of {@link ScanResult}s the recommendation must be * constrained to i.e. if a non-null wifi config recommendation is * returned then it must be able to connect to one of the networks in * the results list. * * If the array is {@code null} or empty then there is no constraint. * * @return this */ public Builder setScanResults(ScanResult[] scanResults) { mScanResults = scanResults; return this; } public Builder setCurrentRecommendedWifiConfig(WifiConfiguration config) { this.mCurrentConfig = config; /** * @param config the {@link WifiConfiguration} to return if no recommendation is available. * @return this */ public Builder setDefaultWifiConfig(WifiConfiguration config) { this.mDefaultConfig = config; return this; } public Builder setNetworkCapabilities(NetworkCapabilities capabilities) { mNetworkCapabilities = capabilities; /** * @param config the {@link WifiConfiguration} of the connected network at the time the * this request was made. * @return this */ public Builder setConnectedWifiConfig(WifiConfiguration config) { this.mConnectedConfig = config; return this; } /** * @param connectableConfigs the set of saved {@link WifiConfiguration}s that can be * connected to based on the current set of {@link ScanResult}s. * @return this */ public Builder setConnectableConfigs(WifiConfiguration[] connectableConfigs) { mConnectableConfigs = connectableConfigs; return this; } /** * @return a new {@link RecommendationRequest} instance */ public RecommendationRequest build() { return new RecommendationRequest(mScanResults, mCurrentConfig, mNetworkCapabilities); return new RecommendationRequest(mScanResults, mDefaultConfig, mConnectedConfig, mConnectableConfigs); } } Loading @@ -79,45 +116,80 @@ public final class RecommendationRequest implements Parcelable { } /** * @return The best recommendation at the time this {@code RecommendationRequest} instance * was created. This may be null which indicates that no recommendation is available. * @return the {@link WifiConfiguration} to return if no recommendation is available. */ public WifiConfiguration getCurrentSelectedConfig() { return mCurrentSelectedConfig; public WifiConfiguration getDefaultWifiConfig() { return mDefaultConfig; } /** * * @return The set of {@link NetworkCapabilities} the recommendation must be constrained to. * This may be {@code null} which indicates that there are no constraints on the * capabilities of the recommended network. * @return the {@link WifiConfiguration} of the connected network at the time the this request * was made. */ public WifiConfiguration getConnectedConfig() { return mConnectedConfig; } /** * @return the set of saved {@link WifiConfiguration}s that can be connected to based on the * current set of {@link ScanResult}s. */ public NetworkCapabilities getRequiredCapabilities() { return mRequiredCapabilities; public WifiConfiguration[] getConnectableConfigs() { return mConnectableConfigs; } /** * @param connectedConfig the {@link WifiConfiguration} of the connected network at the time * the this request was made. */ public void setConnectedConfig(WifiConfiguration connectedConfig) { mConnectedConfig = connectedConfig; } /** * @param connectableConfigs the set of saved {@link WifiConfiguration}s that can be connected * to based on the current set of {@link ScanResult}s. */ public void setConnectableConfigs(WifiConfiguration[] connectableConfigs) { mConnectableConfigs = connectableConfigs; } @VisibleForTesting RecommendationRequest(ScanResult[] scanResults, WifiConfiguration currentSelectedConfig, NetworkCapabilities requiredCapabilities) { WifiConfiguration defaultWifiConfig, WifiConfiguration connectedWifiConfig, WifiConfiguration[] connectableConfigs) { mScanResults = scanResults; mCurrentSelectedConfig = currentSelectedConfig; mRequiredCapabilities = requiredCapabilities; mDefaultConfig = defaultWifiConfig; mConnectedConfig = connectedWifiConfig; mConnectableConfigs = connectableConfigs; } protected RecommendationRequest(Parcel in) { final int resultCount = in.readInt(); if (resultCount > 0) { mScanResults = new ScanResult[resultCount]; final ClassLoader classLoader = ScanResult.class.getClassLoader(); for (int i = 0; i < resultCount; i++) { mScanResults[i] = in.readParcelable(ScanResult.class.getClassLoader()); mScanResults[i] = in.readParcelable(classLoader); } } else { mScanResults = null; } mCurrentSelectedConfig = in.readParcelable(WifiConfiguration.class.getClassLoader()); mRequiredCapabilities = in.readParcelable(NetworkCapabilities.class.getClassLoader()); mDefaultConfig = in.readParcelable(WifiConfiguration.class.getClassLoader()); mConnectedConfig = in.readParcelable(WifiConfiguration.class.getClassLoader()); final int configCount = in.readInt(); if (configCount > 0) { mConnectableConfigs = new WifiConfiguration[configCount]; final ClassLoader classLoader = WifiConfiguration.class.getClassLoader(); for (int i = 0; i < configCount; i++) { mConnectableConfigs[i] = in.readParcelable(classLoader); } } else { mConnectableConfigs = null; } } @Override Loading @@ -135,8 +207,20 @@ public final class RecommendationRequest implements Parcelable { } else { dest.writeInt(0); } dest.writeParcelable(mCurrentSelectedConfig, flags); dest.writeParcelable(mRequiredCapabilities, flags); dest.writeParcelable(mDefaultConfig, flags); dest.writeParcelable(mConnectedConfig, flags); if (mConnectableConfigs != null) { dest.writeInt(mConnectableConfigs.length); for (int i = 0; i < mConnectableConfigs.length; i++) { dest.writeParcelable(mConnectableConfigs[i], flags); } } else { dest.writeInt(0); } } public static final Creator<RecommendationRequest> CREATOR = Loading
core/tests/coretests/src/android/net/RecommendationRequestTest.java +30 −16 Original line number Diff line number Diff line Loading @@ -7,8 +7,9 @@ import android.test.AndroidTestCase; public class RecommendationRequestTest extends AndroidTestCase { private ScanResult[] mScanResults; private WifiConfiguration mConfiguration; private NetworkCapabilities mCapabilities; private WifiConfiguration mDefaultConfig; private WifiConfiguration mConnectedConfig; private WifiConfiguration[] mConnectableConfigs; @Override public void setUp() throws Exception { Loading @@ -29,45 +30,58 @@ public class RecommendationRequestTest extends AndroidTestCase { 8 /*centerFreq0*/, 9 /*centerFreq1*/, false /*is80211McRTTResponder*/); mConfiguration = new WifiConfiguration(); mConfiguration.SSID = "RecommendationRequestTest"; mCapabilities = new NetworkCapabilities() .removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED); mDefaultConfig = new WifiConfiguration(); mDefaultConfig.SSID = "default_config"; mConnectedConfig = new WifiConfiguration(); mConnectedConfig.SSID = "connected_config"; mConnectableConfigs = new WifiConfiguration[] {mDefaultConfig, mConnectedConfig}; } public void testParceling() throws Exception { RecommendationRequest request = new RecommendationRequest.Builder() .setCurrentRecommendedWifiConfig(mConfiguration) .setDefaultWifiConfig(mDefaultConfig) .setScanResults(mScanResults) .setNetworkCapabilities(mCapabilities) .setConnectedWifiConfig(mConnectedConfig) .setConnectableConfigs(mConnectableConfigs) .build(); RecommendationRequest parceled = passThroughParcel(request); assertEquals(request.getCurrentSelectedConfig().SSID, parceled.getCurrentSelectedConfig().SSID); assertEquals(request.getRequiredCapabilities(), parceled.getRequiredCapabilities()); assertEquals(request.getDefaultWifiConfig().SSID, parceled.getDefaultWifiConfig().SSID); assertEquals(request.getConnectedConfig().SSID, parceled.getConnectedConfig().SSID); ScanResult[] parceledScanResults = parceled.getScanResults(); assertNotNull(parceledScanResults); assertEquals(mScanResults.length, parceledScanResults.length); for (int i = 0; i < mScanResults.length; i++) { assertEquals(mScanResults[i].SSID, parceledScanResults[i].SSID); } WifiConfiguration[] parceledConfigs = parceled.getConnectableConfigs(); for (int i = 0; i < parceledConfigs.length; i++) { assertEquals(mConnectableConfigs[i].SSID, parceledConfigs[i].SSID); } } public void testParceling_nullScanResults() throws Exception { RecommendationRequest request = new RecommendationRequest.Builder() .setCurrentRecommendedWifiConfig(mConfiguration) .setNetworkCapabilities(mCapabilities) .setDefaultWifiConfig(mDefaultConfig) .build(); RecommendationRequest parceled = passThroughParcel(request); assertEquals(request.getCurrentSelectedConfig().SSID, parceled.getCurrentSelectedConfig().SSID); assertEquals(request.getRequiredCapabilities(), parceled.getRequiredCapabilities()); ScanResult[] parceledScanResults = parceled.getScanResults(); assertNull(parceledScanResults); } public void testParceling_nullWifiConfigArray() throws Exception { RecommendationRequest request = new RecommendationRequest.Builder() .setDefaultWifiConfig(mDefaultConfig) .build(); RecommendationRequest parceled = passThroughParcel(request); WifiConfiguration[] parceledConfigs = parceled.getConnectableConfigs(); assertNull(parceledConfigs); } private RecommendationRequest passThroughParcel(RecommendationRequest request) { Parcel p = Parcel.obtain(); RecommendationRequest output = null; Loading
services/core/java/com/android/server/NetworkScoreService.java +4 −4 Original line number Diff line number Diff line Loading @@ -582,9 +582,9 @@ public class NetworkScoreService extends INetworkScoreService.Stub { Log.d(TAG, "Returning the default network recommendation."); } if (request != null && request.getCurrentSelectedConfig() != null) { if (request != null && request.getDefaultWifiConfig() != null) { return RecommendationResult.createConnectRecommendation( request.getCurrentSelectedConfig()); request.getDefaultWifiConfig()); } return RecommendationResult.createDoNotConnectRecommendation(); } finally { Loading Loading @@ -887,9 +887,9 @@ public class NetworkScoreService extends INetworkScoreService.Stub { } final RecommendationResult result; if (request != null && request.getCurrentSelectedConfig() != null) { if (request != null && request.getDefaultWifiConfig() != null) { result = RecommendationResult.createConnectRecommendation( request.getCurrentSelectedConfig()); request.getDefaultWifiConfig()); } else { result = RecommendationResult.createDoNotConnectRecommendation(); } Loading
services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ public class NetworkScoreServiceTest { configuration.SSID = "NetworkScoreServiceTest_SSID"; configuration.BSSID = "NetworkScoreServiceTest_BSSID"; mRecommendationRequest = new RecommendationRequest.Builder() .setCurrentRecommendedWifiConfig(configuration).build(); .setDefaultWifiConfig(configuration).build(); mOnResultListener = new OnResultListener(); mRemoteCallback = new RemoteCallback(mOnResultListener); Settings.Global.putLong(mContentResolver, Loading Loading @@ -240,7 +240,7 @@ public class NetworkScoreServiceTest { final RecommendationResult result = mNetworkScoreService.requestRecommendation(mRecommendationRequest); assertNotNull(result); assertEquals(mRecommendationRequest.getCurrentSelectedConfig(), assertEquals(mRecommendationRequest.getDefaultWifiConfig(), result.getWifiConfiguration()); } Loading @@ -255,7 +255,7 @@ public class NetworkScoreServiceTest { final RecommendationResult result = mNetworkScoreService.requestRecommendation(mRecommendationRequest); assertNotNull(result); assertEquals(mRecommendationRequest.getCurrentSelectedConfig(), assertEquals(mRecommendationRequest.getDefaultWifiConfig(), result.getWifiConfiguration()); } Loading Loading @@ -327,7 +327,7 @@ public class NetworkScoreServiceTest { RecommendationResult result = mOnResultListener.receivedBundle.getParcelable(EXTRA_RECOMMENDATION_RESULT); assertTrue(result.hasRecommendation()); assertEquals(mRecommendationRequest.getCurrentSelectedConfig().SSID, assertEquals(mRecommendationRequest.getDefaultWifiConfig().SSID, result.getWifiConfiguration().SSID); } Loading