summaryrefslogtreecommitdiffstats
path: root/java/com/android/incallui/incall
diff options
context:
space:
mode:
authorwangqi <wangqi@google.com>2018-03-30 15:57:56 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-30 17:13:38 -0700
commitf6be61727fba9b0fdac3b9d69588e4467f861552 (patch)
tree59cc77a5e0567cb67089697d6c274a0d2052726f /java/com/android/incallui/incall
parentf5f774df4b487d702b5509ce6caaac69bd2f726f (diff)
downloadandroid_packages_apps_Dialer-f6be61727fba9b0fdac3b9d69588e4467f861552.tar.gz
android_packages_apps_Dialer-f6be61727fba9b0fdac3b9d69588e4467f861552.tar.bz2
android_packages_apps_Dialer-f6be61727fba9b0fdac3b9d69588e4467f861552.zip
Add upgrade to RTT call button.
This button has higher priority over add call button if RTT is enabled. Bug: 67596257 Test: ButtonChooserIntegrationTest PiperOrigin-RevId: 191129313 Change-Id: I5a3302a0970e77a933439749e0e559a691235523
Diffstat (limited to 'java/com/android/incallui/incall')
-rw-r--r--java/com/android/incallui/incall/impl/ButtonChooserFactory.java5
-rw-r--r--java/com/android/incallui/incall/impl/ButtonController.java18
-rw-r--r--java/com/android/incallui/incall/impl/InCallFragment.java5
-rw-r--r--java/com/android/incallui/incall/impl/res/values/strings.xml4
-rw-r--r--java/com/android/incallui/incall/protocol/InCallButtonIds.java2
-rw-r--r--java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java2
-rw-r--r--java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java2
7 files changed, 36 insertions, 2 deletions
diff --git a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
index 2a0894047..757d81352 100644
--- a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
+++ b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
@@ -57,6 +57,9 @@ class ButtonChooserFactory {
mapping.put(
InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE,
MappingInfo.builder(4).setSlotOrder(0).build());
+ // RTT call is only supported on IMS and WiFi.
+ mapping.put(
+ InCallButtonIds.BUTTON_UPGRADE_TO_RTT, MappingInfo.builder(3).setSlotOrder(0).build());
mapping.put(
InCallButtonIds.BUTTON_UPGRADE_TO_VIDEO, MappingInfo.builder(4).setSlotOrder(10).build());
mapping.put(
@@ -114,7 +117,7 @@ class ButtonChooserFactory {
mapping.put(InCallButtonIds.BUTTON_MUTE, MappingInfo.builder(0).build());
mapping.put(InCallButtonIds.BUTTON_DIALPAD, MappingInfo.builder(1).build());
mapping.put(InCallButtonIds.BUTTON_AUDIO, MappingInfo.builder(2).build());
- mapping.put(InCallButtonIds.BUTTON_MERGE, MappingInfo.builder(3).setSlotOrder(0).build());
+ mapping.put(InCallButtonIds.BUTTON_MERGE, MappingInfo.builder(3).setSlotOrder(5).build());
mapping.put(InCallButtonIds.BUTTON_ADD_CALL, MappingInfo.builder(3).build());
mapping.put(InCallButtonIds.BUTTON_SWAP_SIM, MappingInfo.builder(4).build());
return mapping;
diff --git a/java/com/android/incallui/incall/impl/ButtonController.java b/java/com/android/incallui/incall/impl/ButtonController.java
index 98460c704..9106dab9d 100644
--- a/java/com/android/incallui/incall/impl/ButtonController.java
+++ b/java/com/android/incallui/incall/impl/ButtonController.java
@@ -519,6 +519,24 @@ interface ButtonController {
}
}
+ class UpgradeToRttButtonController extends SimpleNonCheckableButtonController {
+
+ public UpgradeToRttButtonController(@NonNull InCallButtonUiDelegate delegate) {
+ super(
+ delegate,
+ InCallButtonIds.BUTTON_UPGRADE_TO_RTT,
+ 0,
+ R.string.incall_label_rttcall,
+ R.drawable.quantum_ic_rtt_vd_theme_24);
+ Assert.isNotNull(delegate);
+ }
+
+ @Override
+ public void onClick(View view) {
+ delegate.changeToRttClicked();
+ }
+ }
+
class ManageConferenceButtonController extends SimpleNonCheckableButtonController {
private final InCallScreenDelegate inCallScreenDelegate;
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index fb8c2c403..6f0ba60b8 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -54,6 +54,7 @@ import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRou
import com.android.incallui.contactgrid.ContactGridManager;
import com.android.incallui.hold.OnHoldFragment;
import com.android.incallui.incall.impl.ButtonController.SpeakerButtonController;
+import com.android.incallui.incall.impl.ButtonController.UpgradeToRttButtonController;
import com.android.incallui.incall.impl.InCallButtonGridFragment.OnButtonGridCreatedListener;
import com.android.incallui.incall.protocol.InCallButtonIds;
import com.android.incallui.incall.protocol.InCallButtonIdsExtension;
@@ -114,7 +115,8 @@ public class InCallFragment extends Fragment
|| id == InCallButtonIds.BUTTON_ADD_CALL
|| id == InCallButtonIds.BUTTON_MERGE
|| id == InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE
- || id == InCallButtonIds.BUTTON_SWAP_SIM;
+ || id == InCallButtonIds.BUTTON_SWAP_SIM
+ || id == InCallButtonIds.BUTTON_UPGRADE_TO_RTT;
}
@Override
@@ -226,6 +228,7 @@ public class InCallFragment extends Fragment
buttonControllers.add(new ButtonController.SwapSimButtonController(inCallButtonUiDelegate));
buttonControllers.add(
new ButtonController.UpgradeToVideoButtonController(inCallButtonUiDelegate));
+ buttonControllers.add(new UpgradeToRttButtonController(inCallButtonUiDelegate));
buttonControllers.add(
new ButtonController.ManageConferenceButtonController(inCallScreenDelegate));
buttonControllers.add(
diff --git a/java/com/android/incallui/incall/impl/res/values/strings.xml b/java/com/android/incallui/incall/impl/res/values/strings.xml
index d0217566a..c4c40a15d 100644
--- a/java/com/android/incallui/incall/impl/res/values/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values/strings.xml
@@ -20,6 +20,10 @@
[CHAR LIMIT=12] -->
<string name="incall_label_videocall">Video call</string>
+ <!-- Button shown during a phone call to upgrade to Real-time Text.
+ [CHAR LIMIT=12] -->
+ <string name="incall_label_rttcall">RTT</string>
+
<!-- Button shown during a phone call to put the call on hold.
[CHAR LIMIT=12] -->
<string name="incall_label_hold">Hold</string>
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonIds.java b/java/com/android/incallui/incall/protocol/InCallButtonIds.java
index 3de533519..80ea75e99 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonIds.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonIds.java
@@ -39,6 +39,7 @@ import java.lang.annotation.RetentionPolicy;
InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY,
InCallButtonIds.BUTTON_SWAP_SIM,
InCallButtonIds.BUTTON_COUNT,
+ InCallButtonIds.BUTTON_UPGRADE_TO_RTT
})
public @interface InCallButtonIds {
@@ -58,4 +59,5 @@ public @interface InCallButtonIds {
int BUTTON_SWITCH_TO_SECONDARY = 13;
int BUTTON_SWAP_SIM = 14;
int BUTTON_COUNT = 15;
+ int BUTTON_UPGRADE_TO_RTT = 16;
}
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java b/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java
index db6e9009c..5239d9d34 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java
@@ -56,6 +56,8 @@ public class InCallButtonIdsExtension {
return "SWITCH_TO_SECONDARY";
} else if (id == InCallButtonIds.BUTTON_SWAP_SIM) {
return "SWAP_SIM";
+ } else if (id == InCallButtonIds.BUTTON_UPGRADE_TO_RTT) {
+ return "UPGRADE_TO_RTT";
} else {
return "INVALID_BUTTON: " + id;
}
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java b/java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java
index 9f9c5fb03..b0e23efcd 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java
@@ -47,6 +47,8 @@ public interface InCallButtonUiDelegate {
void changeToVideoClicked();
+ void changeToRttClicked();
+
void switchCameraClicked(boolean useFrontFacingCamera);
void toggleCameraClicked();