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
This commit is contained in:
parent
9c29783be8
commit
49c0582b47
@ -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);
|
||||
|
@ -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() {
|
||||
try {
|
||||
if (mWificond != null) {
|
||||
mWificond.notifyCountryCodeChanged();
|
||||
return true;
|
||||
}
|
||||
} catch (RemoteException e1) {
|
||||
Log.e(TAG, "Failed to notify country code changed due to remote exception");
|
||||
public void notifyCountryCodeChanged(@Nullable String newCountryCode) {
|
||||
if (mWificond == null) {
|
||||
new RemoteException("Wificond service doesn't exist!").rethrowFromSystemServer();
|
||||
}
|
||||
try {
|
||||
mWificond.notifyCountryCodeChanged();
|
||||
Log.i(TAG, "Receive country code change to " + newCountryCode);
|
||||
} catch (RemoteException re) {
|
||||
re.rethrowFromSystemServer();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user