summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java')
-rw-r--r--java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java b/java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java
index d4c7ee458..e59cddd51 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorVoiceCall.java
@@ -22,6 +22,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.telecom.Connection;
+import android.telecom.Connection.RttModifyStatus;
import android.telecom.DisconnectCause;
import android.view.ActionProvider;
import com.android.dialer.common.Assert;
@@ -223,15 +224,13 @@ final class SimulatorVoiceCall
switch (event.type) {
case Event.NONE:
throw Assert.createIllegalStateFailException();
- case Event.ANSWER:
- connection.setActive();
- break;
case Event.REJECT:
connection.setDisconnected(new DisconnectCause(DisconnectCause.REJECTED));
break;
case Event.HOLD:
connection.setOnHold();
break;
+ case Event.ANSWER:
case Event.UNHOLD:
connection.setActive();
break;
@@ -244,6 +243,15 @@ final class SimulatorVoiceCall
case Event.SESSION_MODIFY_REQUEST:
ThreadUtil.postDelayedOnUiThread(() -> connection.handleSessionModifyRequest(event), 2000);
break;
+ case Event.START_RTT:
+ // TODO(wangqi): Add random accept/decline.
+ boolean accept = true;
+ if (accept) {
+ connection.sendRttInitiationSuccess();
+ } else {
+ connection.sendRttInitiationFailure(RttModifyStatus.SESSION_MODIFY_REQUEST_FAIL);
+ }
+ break;
default:
LogUtil.i("SimulatorVoiceCall.onEvent", "unexpected event: " + event.type);
break;