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

Commit 094d24c9 authored by Santos Cordon's avatar Santos Cordon Committed by Android (Google) Code Review
Browse files

Merge "Disconnect all connections if telecomm unbinds to the service." into lmp-dev

parents 929d5ac5 29f2f2e5
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -498,6 +498,13 @@ public abstract class ConnectionService extends Service {
        return mBinder;
    }

    /** {@inheritDoc} */
    @Override
    public boolean onUnbind(Intent intent) {
        endAllConnections();
        return super.onUnbind(intent);
    }

    /**
     * This can be used by telecomm to either create a new outgoing call or attach to an existing
     * incoming call. In either case, telecomm will cycle through a set of services and call
@@ -951,4 +958,17 @@ public abstract class ConnectionService extends Service {
        }
        return sNullConference;
    }

    private void endAllConnections() {
        // Unbound from telecomm.  We should end all connections and conferences.
        for (Connection connection : mIdByConnection.keySet()) {
            // only operate on top-level calls. Conference calls will be removed on their own.
            if (connection.getConference() == null) {
                connection.onDisconnect();
            }
        }
        for (Conference conference : mIdByConference.keySet()) {
            conference.onDisconnect();
        }
    }
}