diff options
author | wangqi <wangqi@google.com> | 2018-03-30 15:57:56 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-30 17:13:38 -0700 |
commit | f6be61727fba9b0fdac3b9d69588e4467f861552 (patch) | |
tree | 59cc77a5e0567cb67089697d6c274a0d2052726f /java/com/android/incallui/incall | |
parent | f5f774df4b487d702b5509ce6caaac69bd2f726f (diff) | |
download | android_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')
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(); |