diff options
Diffstat (limited to 'java/com/android/incallui/incall/impl')
4 files changed, 30 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> |