From 61fcbaf7a3790b381af0e5272682d69c5e469ecb Mon Sep 17 00:00:00 2001 From: Isaac Katzenelson Date: Wed, 8 Mar 2023 00:34:42 +0000 Subject: [PATCH] Fix getters to return null on failure. Per API review comment, changed getters for hotspot and known network to return null on failure. Fixed tests to correspond to the fix. Bug: 271178371 Test: atest SharedConnectivityManagerTest Change-Id: I6a1aac661d1d0f7a730d52a1ee92fd6ea2705cf5 --- core/api/system-current.txt | 4 ++-- .../app/SharedConnectivityManager.java | 18 ++++++++++-------- .../app/SharedConnectivityManagerTest.java | 16 ++++++++-------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index a8a48b75b155d..fb96ab7009b30 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -10141,9 +10141,9 @@ package android.net.wifi.sharedconnectivity.app { method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean disconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork); method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean forgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus getHotspotNetworkConnectionStatus(); - method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List getHotspotNetworks(); + method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List getHotspotNetworks(); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus getKnownNetworkConnectionStatus(); - method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List getKnownNetworks(); + method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List getKnownNetworks(); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState getSettingsState(); method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback); method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean unregisterCallback(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback); diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java index 684b385d60e85..6046415202520 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java @@ -434,14 +434,15 @@ public class SharedConnectivityManager { /** * Gets the list of hotspot networks the user can select to connect to. * - * @return Returns a {@link List} of {@link HotspotNetwork} objects, empty list on failure. + * @return Returns a {@link List} of {@link HotspotNetwork} objects, null on failure. */ @RequiresPermission(anyOf = {android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) - @NonNull + @SuppressWarnings("NullableCollection") + @Nullable public List getHotspotNetworks() { if (mService == null) { - return List.of(); + return null; } try { @@ -449,20 +450,21 @@ public class SharedConnectivityManager { } catch (RemoteException e) { Log.e(TAG, "Exception in getHotspotNetworks", e); } - return List.of(); + return null; } /** * Gets the list of known networks the user can select to connect to. * - * @return Returns a {@link List} of {@link KnownNetwork} objects, empty list on failure. + * @return Returns a {@link List} of {@link KnownNetwork} objects, null on failure. */ @RequiresPermission(anyOf = {android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) - @NonNull + @SuppressWarnings("NullableCollection") + @Nullable public List getKnownNetworks() { if (mService == null) { - return List.of(); + return null; } try { @@ -470,7 +472,7 @@ public class SharedConnectivityManager { } catch (RemoteException e) { Log.e(TAG, "Exception in getKnownNetworks", e); } - return List.of(); + return null; } /** diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java index 8c573e302213d..7578dfd112257 100644 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java +++ b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java @@ -423,20 +423,20 @@ public class SharedConnectivityManagerTest { * Verify getters. */ @Test - public void getHotspotNetworks_serviceNotConnected_shouldReturnEmptyList() { + public void getHotspotNetworks_serviceNotConnected_shouldReturnNull() { SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(null); - assertThat(manager.getKnownNetworks()).isEmpty(); + assertThat(manager.getHotspotNetworks()).isNull(); } @Test - public void getHotspotNetworks_remoteException_shouldReturnEmptyList() throws RemoteException { + public void getHotspotNetworks_remoteException_shouldReturnNull() throws RemoteException { SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(mService); doThrow(new RemoteException()).when(mService).getHotspotNetworks(); - assertThat(manager.getKnownNetworks()).isEmpty(); + assertThat(manager.getHotspotNetworks()).isNull(); } @Test @@ -450,21 +450,21 @@ public class SharedConnectivityManagerTest { } @Test - public void getKnownNetworks_serviceNotConnected_shouldReturnEmptyList() + public void getKnownNetworks_serviceNotConnected_shouldReturnNull() throws RemoteException { SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(null); - assertThat(manager.getKnownNetworks()).isEmpty(); + assertThat(manager.getKnownNetworks()).isNull(); } @Test - public void getKnownNetworks_remoteException_shouldReturnEmptyList() throws RemoteException { + public void getKnownNetworks_remoteException_shouldReturnNull() throws RemoteException { SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(mService); doThrow(new RemoteException()).when(mService).getKnownNetworks(); - assertThat(manager.getKnownNetworks()).isEmpty(); + assertThat(manager.getKnownNetworks()).isNull(); } @Test