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

Commit c0e34c67 authored by Isaac Katzenelson's avatar Isaac Katzenelson Committed by Android (Google) Code Review
Browse files

Merge "Add TetherNetwork as parameter to disconnectTetherNetwork"

parents 4eda98ba faf032cd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10055,7 +10055,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);
@@ -10142,7 +10142,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