Add TetherNetwork as parameter to disconnectTetherNetwork

Bug: 269308387
API-Coverage-Bug: 265968015
Test: atest SharedConnectivityManagerTest

Change-Id: If059cd501a7c4fb60d4a9ebc2d15c5e4374078b0
This commit is contained in:
Isaac Katzenelson
2023-02-15 05:55:52 +00:00
parent e748ebd0cd
commit faf032cd37
6 changed files with 21 additions and 14 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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.

View File

@@ -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));
}
/**

View File

@@ -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) {}