diff options
Diffstat (limited to 'java/com/android/incallui/incall/impl')
4 files changed, 25 insertions, 1 deletions
diff --git a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java index 0f4a95d38..0d0a93256 100644 --- a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java +++ b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java @@ -112,6 +112,7 @@ class ButtonChooserFactory { mapping.put(InCallButtonIds.BUTTON_AUDIO, MappingInfo.builder(2).build()); mapping.put(InCallButtonIds.BUTTON_MERGE, MappingInfo.builder(3).setSlotOrder(0).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 b7a47f08e..cefbd723b 100644 --- a/java/com/android/incallui/incall/impl/ButtonController.java +++ b/java/com/android/incallui/incall/impl/ButtonController.java @@ -560,4 +560,21 @@ interface ButtonController { inCallScreenDelegate.onSecondaryInfoClicked(); } } + + class SwapSimButtonController extends SimpleNonCheckableButtonController { + + public SwapSimButtonController(InCallButtonUiDelegate delegate) { + super( + delegate, + InCallButtonIds.BUTTON_SWAP_SIM, + R.string.incall_content_description_swap_sim, + R.string.incall_label_swap_sim, + R.drawable.quantum_ic_swap_calls_white_36); + } + + @Override + public void onClick(View view) { + delegate.swapSimClicked(); + } + } } diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java index 13175656d..f0504bc56 100644 --- a/java/com/android/incallui/incall/impl/InCallFragment.java +++ b/java/com/android/incallui/incall/impl/InCallFragment.java @@ -110,7 +110,8 @@ public class InCallFragment extends Fragment || id == InCallButtonIds.BUTTON_UPGRADE_TO_VIDEO || id == InCallButtonIds.BUTTON_ADD_CALL || id == InCallButtonIds.BUTTON_MERGE - || id == InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE; + || id == InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE + || id == InCallButtonIds.BUTTON_SWAP_SIM; } @Override @@ -198,6 +199,7 @@ public class InCallFragment extends Fragment buttonControllers.add(new ButtonController.AddCallButtonController(inCallButtonUiDelegate)); buttonControllers.add(new ButtonController.SwapButtonController(inCallButtonUiDelegate)); buttonControllers.add(new ButtonController.MergeButtonController(inCallButtonUiDelegate)); + buttonControllers.add(new ButtonController.SwapSimButtonController(inCallButtonUiDelegate)); buttonControllers.add( new ButtonController.UpgradeToVideoButtonController(inCallButtonUiDelegate)); 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 2b30dfa53..d0217566a 100644 --- a/java/com/android/incallui/incall/impl/res/values/strings.xml +++ b/java/com/android/incallui/incall/impl/res/values/strings.xml @@ -61,6 +61,10 @@ <string name="incall_label_swap">Swap</string> + <!-- Button shown during a call with a multi-SIM device to hang up and call with the other SIM + instead. [CHAR LIMIT=12] --> + <string name="incall_label_swap_sim">Change SIM</string> + <!-- Used to inform the user that the note associated with an outgoing call has been sent. [CHAR LIMIT=32] --> <string name="incall_note_sent">Note sent</string> |