diff options
| author | 2022-02-09 15:15:59 +0800 | |
|---|---|---|
| committer | 2022-02-10 15:28:39 +0800 | |
| commit | 49c0582b47737d4022a24b16b43fd909413d7bb8 (patch) | |
| tree | b936555d00e419aa113e22e041f1ac5b5e985a82 | |
| parent | 9c29783be8d0367014ea2ef3638bb400fe1ce5a5 (diff) | |
wifi: refine API: notifyCountryCodeChanged
Feedback from API council:
1. Change to return void
2. Rethrow exception instead of logging
3. Consider passing and notifying the new value for country code
Bug: 216637965
Test: atest -c WifiNl80211ManagerTest
Trst: atest -c FrameworksWifiTests
Change-Id: If40f9434e20fd960a65de37c341d8bd6f57ed9d9
| -rw-r--r-- | core/api/system-current.txt | 2 | ||||
| -rw-r--r-- | wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java | 19 | ||||
| -rw-r--r-- | wifi/tests/src/android/net/wifi/nl80211/WifiNl80211ManagerTest.java | 6 |
3 files changed, 14 insertions, 13 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 82539e80474e..2822737f4833 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -8856,7 +8856,7 @@ package android.net.wifi.nl80211 { method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String); method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int); method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String); - method public boolean notifyCountryCodeChanged(); + method public void notifyCountryCodeChanged(@Nullable String); method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]); method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback); method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener); diff --git a/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java b/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java index d3eb8e03c7aa..960447504d15 100644 --- a/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java +++ b/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java @@ -1269,18 +1269,19 @@ public class WifiNl80211Manager { * support the NL80211_CMD_REG_CHANGED (otherwise it will find out on its own). The wificond * updates in internal state in response to this Country Code update. * - * @return true on success, false otherwise. + * @param newCountryCode new country code. An ISO-3166-alpha2 country code which is 2-Character + * alphanumeric. */ - public boolean notifyCountryCodeChanged() { + public void notifyCountryCodeChanged(@Nullable String newCountryCode) { + if (mWificond == null) { + new RemoteException("Wificond service doesn't exist!").rethrowFromSystemServer(); + } try { - if (mWificond != null) { - mWificond.notifyCountryCodeChanged(); - return true; - } - } catch (RemoteException e1) { - Log.e(TAG, "Failed to notify country code changed due to remote exception"); + mWificond.notifyCountryCodeChanged(); + Log.i(TAG, "Receive country code change to " + newCountryCode); + } catch (RemoteException re) { + re.rethrowFromSystemServer(); } - return false; } /** diff --git a/wifi/tests/src/android/net/wifi/nl80211/WifiNl80211ManagerTest.java b/wifi/tests/src/android/net/wifi/nl80211/WifiNl80211ManagerTest.java index 4032a7b0c75c..a750696628f9 100644 --- a/wifi/tests/src/android/net/wifi/nl80211/WifiNl80211ManagerTest.java +++ b/wifi/tests/src/android/net/wifi/nl80211/WifiNl80211ManagerTest.java @@ -1143,17 +1143,17 @@ public class WifiNl80211ManagerTest { @Test public void testNotifyCountryCodeChanged() throws Exception { doNothing().when(mWificond).notifyCountryCodeChanged(); - assertTrue(mWificondControl.notifyCountryCodeChanged()); + mWificondControl.notifyCountryCodeChanged(TEST_COUNTRY_CODE); verify(mWificond).notifyCountryCodeChanged(); } /** * Tests notifyCountryCodeChanged with RemoteException */ - @Test + @Test(expected = RuntimeException.class) public void testNotifyCountryCodeChangedRemoteException() throws Exception { doThrow(new RemoteException()).when(mWificond).notifyCountryCodeChanged(); - assertFalse(mWificondControl.notifyCountryCodeChanged()); + mWificondControl.notifyCountryCodeChanged(TEST_COUNTRY_CODE); verify(mWificond).notifyCountryCodeChanged(); } |