Merge "Disconnect all connections if telecomm unbinds to the service." into lmp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
094d24c9af
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user