summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/call/DialerCall.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/call/DialerCall.java')
-rw-r--r--java/com/android/incallui/call/DialerCall.java33
1 files changed, 31 insertions, 2 deletions
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 4815a6e41..e08c926d8 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -988,7 +988,7 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
}
@TargetApi(28)
- public boolean isRttCall() {
+ public boolean isActiveRttCall() {
if (BuildCompat.isAtLeastP()) {
return getTelecomCall().isRttActive();
} else {
@@ -998,12 +998,41 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
@TargetApi(28)
public RttCall getRttCall() {
- if (!isRttCall()) {
+ if (!isActiveRttCall()) {
return null;
}
return getTelecomCall().getRttCall();
}
+ @TargetApi(28)
+ public boolean canUpgradeToRttCall() {
+ PhoneAccount phoneAccount = getPhoneAccount();
+ if (phoneAccount == null) {
+ return false;
+ }
+ if (!phoneAccount.hasCapabilities(PhoneAccount.CAPABILITY_RTT)) {
+ return false;
+ }
+ if (isActiveRttCall()) {
+ return false;
+ }
+ if (isVideoCall()) {
+ return false;
+ }
+ if (isConferenceCall()) {
+ return false;
+ }
+ if (CallList.getInstance().hasActiveRttCall()) {
+ return false;
+ }
+ return true;
+ }
+
+ @TargetApi(28)
+ public void sendRttUpgradeRequest() {
+ getTelecomCall().sendRttRequest();
+ }
+
public boolean hasReceivedVideoUpgradeRequest() {
return VideoUtils.hasReceivedVideoUpgradeRequest(getVideoTech().getSessionModificationState());
}