Disconnect all connections if telecomm unbinds to the service.
Bug: 1748658 Change-Id: I7bd3d6f28b7fa25f2ee0b308b5dc16d70d67949f
This commit is contained in:
@@ -507,6 +507,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
|
||||
@@ -965,4 +972,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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user