Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit faf032cd authored by Isaac Katzenelson's avatar Isaac Katzenelson
Browse files

Add TetherNetwork as parameter to disconnectTetherNetwork

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

Change-Id: If059cd501a7c4fb60d4a9ebc2d15c5e4374078b0
parent e748ebd0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+4 −2
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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);
}
+5 −3
Original line number Diff line number Diff line
@@ -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.
+8 −5
Original line number Diff line number Diff line
@@ -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));
    }

    /**
Loading