summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/simulator/impl/SimulatorConference.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/simulator/impl/SimulatorConference.java')
-rw-r--r--java/com/android/dialer/simulator/impl/SimulatorConference.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/java/com/android/dialer/simulator/impl/SimulatorConference.java b/java/com/android/dialer/simulator/impl/SimulatorConference.java
index 7468b56b5..1a12d2a9f 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorConference.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorConference.java
@@ -58,6 +58,17 @@ public final class SimulatorConference extends Conference implements SimulatorCo
return simulatorConference;
}
+ static SimulatorConference newVoLteConference(PhoneAccountHandle handle) {
+ SimulatorConference simulatorConference =
+ new SimulatorConference(handle, Simulator.CONFERENCE_TYPE_VOLTE);
+ simulatorConference.setConnectionCapabilities(
+ Connection.CAPABILITY_MUTE
+ | Connection.CAPABILITY_SUPPORT_HOLD
+ | Connection.CAPABILITY_HOLD
+ | Connection.CAPABILITY_MANAGE_CONFERENCE);
+ return simulatorConference;
+ }
+
public void addListener(@NonNull Listener listener) {
listeners.add(Assert.isNotNull(listener));
}
@@ -120,6 +131,11 @@ public final class SimulatorConference extends Conference implements SimulatorCo
public void onSeparate(Connection connection) {
LogUtil.i("SimulatorConference.onSeparate", "connection: " + connection);
onEvent(new Event(Event.SEPARATE, SimulatorSimCallManager.getConnectionTag(connection), null));
+ // if there is only 1 connection in a gsm conference, destroy the conference.
+ if (conferenceType == Simulator.CONFERENCE_TYPE_GSM && getConnections().size() == 1) {
+ removeConnection(getConnections().get(0));
+ destroy();
+ }
}
@Override