diff options
6 files changed, 21 insertions, 14 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt index fdef0662b0b0..7eacfe374a65 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -10056,7 +10056,7 @@ package android.net.wifi.sharedconnectivity.app { public class SharedConnectivityManager { method public boolean connectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork); method public boolean connectTetherNetwork(@NonNull android.net.wifi.sharedconnectivity.app.TetherNetwork); - method public boolean disconnectTetherNetwork(); + method public boolean disconnectTetherNetwork(@NonNull android.net.wifi.sharedconnectivity.app.TetherNetwork); method public boolean forgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork); method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback); method public boolean unregisterCallback(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback); @@ -10143,7 +10143,7 @@ package android.net.wifi.sharedconnectivity.service { method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); method public abstract void onConnectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork); method public abstract void onConnectTetherNetwork(@NonNull android.net.wifi.sharedconnectivity.app.TetherNetwork); - method public abstract void onDisconnectTetherNetwork(); + method public abstract void onDisconnectTetherNetwork(@NonNull android.net.wifi.sharedconnectivity.app.TetherNetwork); method public abstract void onForgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork); method public final void setKnownNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>); method public final void setSettingsState(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState); 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 74b42d41d9d1..9593c8ae77a8 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java @@ -340,16 +340,18 @@ public class SharedConnectivityManager { * Send command to the implementation of {@link SharedConnectivityService} requesting * disconnection from the active Tether Network. * + * @param network {@link TetherNetwork} object representing the network the user has requested + * to disconnect from. * @return Returns true if the service received the command. Does not guarantee that the * disconnection was successful. */ - public boolean disconnectTetherNetwork() { + public boolean disconnectTetherNetwork(@NonNull TetherNetwork network) { if (mService == null) { return false; } try { - mService.disconnectTetherNetwork(); + mService.disconnectTetherNetwork(network); } catch (RemoteException e) { Log.e(TAG, "Exception in disconnectTetherNetwork", e); return false; diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityService.aidl b/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityService.aidl index 5d79405ba19a..52da596081a4 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityService.aidl +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityService.aidl @@ -27,7 +27,7 @@ interface ISharedConnectivityService { void registerCallback(in ISharedConnectivityCallback callback); void unregisterCallback(in ISharedConnectivityCallback callback); void connectTetherNetwork(in TetherNetwork network); - void disconnectTetherNetwork(); + void disconnectTetherNetwork(in TetherNetwork network); void connectKnownNetwork(in KnownNetwork network); void forgetKnownNetwork(in KnownNetwork network); } diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java b/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java index a0b931f24dfe..13084f47efe6 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java @@ -117,9 +117,9 @@ public abstract class SharedConnectivityService extends Service { } @Override - public void disconnectTetherNetwork() { + public void disconnectTetherNetwork(TetherNetwork network) { checkPermissions(); - mHandler.post(() -> onDisconnectTetherNetwork()); + mHandler.post(() -> onDisconnectTetherNetwork(network)); } @Override @@ -323,8 +323,10 @@ public abstract class SharedConnectivityService extends Service { * Implementing application should implement this method. * * Implementation should initiate a disconnection from the active Tether Network. + * + * @param network Object identifying the Tether Network the user has requested to disconnect. */ - public abstract void onDisconnectTetherNetwork(); + public abstract void onDisconnectTetherNetwork(@NonNull TetherNetwork network); /** * Implementing application should implement this method. 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 815a012ea253..439d456d7657 100644 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java +++ b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java @@ -285,25 +285,28 @@ public class SharedConnectivityManagerTest { */ @Test public void disconnectTetherNetwork_serviceNotConnected_shouldFail() { + TetherNetwork network = buildTetherNetwork(); SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(null); - assertFalse(manager.disconnectTetherNetwork()); + assertFalse(manager.disconnectTetherNetwork(network)); } @Test public void disconnectTetherNetwork() throws RemoteException { + TetherNetwork network = buildTetherNetwork(); SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(mService); - manager.disconnectTetherNetwork(); - verify(mService).disconnectTetherNetwork(); + manager.disconnectTetherNetwork(network); + verify(mService).disconnectTetherNetwork(network); } @Test public void disconnectTetherNetwork_remoteException_shouldFail() throws RemoteException { + TetherNetwork network = buildTetherNetwork(); SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); manager.setService(mService); - doThrow(new RemoteException()).when(mService).disconnectTetherNetwork(); - assertFalse(manager.disconnectTetherNetwork()); + doThrow(new RemoteException()).when(mService).disconnectTetherNetwork(any()); + assertFalse(manager.disconnectTetherNetwork(network)); } /** diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java index e15be8b24a67..fb8d7bf95ea0 100644 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java +++ b/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java @@ -56,7 +56,7 @@ public class SharedConnectivityServiceTest { public void onConnectTetherNetwork(TetherNetwork network) {} @Override - public void onDisconnectTetherNetwork() {} + public void onDisconnectTetherNetwork(TetherNetwork network) {} @Override public void onConnectKnownNetwork(KnownNetwork network) {} |