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

Commit eecbc0b3 authored by Mateus Azis's avatar Mateus Azis Committed by Gerrit Code Review
Browse files

Merge "Avoid duplicate map lookups in RemoteConnectionManager." into main

parents d8ac0c19 ddcbe639
Loading
Loading
Loading
Loading
+23 −26
Original line number Diff line number Diff line
@@ -39,18 +39,21 @@ public class RemoteConnectionManager {
    void addConnectionService(
            ComponentName componentName,
            IConnectionService outgoingConnectionServiceRpc) {
        if (!mRemoteConnectionServices.containsKey(componentName)) {
        mRemoteConnectionServices.computeIfAbsent(
                componentName,
                key -> {
                    try {
                RemoteConnectionService remoteConnectionService = new RemoteConnectionService(
                        outgoingConnectionServiceRpc,
                        mOurConnectionServiceImpl);
                mRemoteConnectionServices.put(componentName, remoteConnectionService);
                        return new RemoteConnectionService(
                                outgoingConnectionServiceRpc, mOurConnectionServiceImpl);
                    } catch (RemoteException e) {
                Log.w(RemoteConnectionManager.this,
                        "error when addConnectionService of %s: %s", componentName,
                        Log.w(
                                RemoteConnectionManager.this,
                                "error when addConnectionService of %s: %s",
                                componentName,
                                e.toString());
                        return null;
                    }
        }
                });
    }

    public RemoteConnection createRemoteConnection(
@@ -63,18 +66,15 @@ public class RemoteConnectionManager {
        }

        ComponentName componentName = request.getAccountHandle().getComponentName();
        if (!mRemoteConnectionServices.containsKey(componentName)) {
        RemoteConnectionService remoteService = mRemoteConnectionServices.get(componentName);
        if (remoteService == null) {
            throw new UnsupportedOperationException("accountHandle not supported: "
                    + componentName);
        }

        RemoteConnectionService remoteService = mRemoteConnectionServices.get(componentName);
        if (remoteService != null) {
        return remoteService.createRemoteConnection(
                connectionManagerPhoneAccount, request, isIncoming);
    }
        return null;
    }

    /**
     * Ask a {@code RemoteConnectionService} to create a {@code RemoteConference}.
@@ -94,18 +94,15 @@ public class RemoteConnectionManager {
        }

        ComponentName componentName = request.getAccountHandle().getComponentName();
        if (!mRemoteConnectionServices.containsKey(componentName)) {
        RemoteConnectionService remoteService = mRemoteConnectionServices.get(componentName);
        if (remoteService == null) {
            throw new UnsupportedOperationException("accountHandle not supported: "
                    + componentName);
        }

        RemoteConnectionService remoteService = mRemoteConnectionServices.get(componentName);
        if (remoteService != null) {
        return remoteService.createRemoteConference(
                connectionManagerPhoneAccount, request, isIncoming);
    }
        return null;
    }

    public void conferenceRemoteConnections(RemoteConnection a, RemoteConnection b) {
        if (a.getConnectionService() == b.getConnectionService()) {