summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/incall
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/incall')
-rw-r--r--java/com/android/incallui/incall/impl/ButtonChooserFactory.java1
-rw-r--r--java/com/android/incallui/incall/impl/ButtonController.java17
-rw-r--r--java/com/android/incallui/incall/impl/InCallFragment.java4
-rw-r--r--java/com/android/incallui/incall/impl/res/values/strings.xml4
-rw-r--r--java/com/android/incallui/incall/protocol/InCallButtonIds.java4
-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, 32 insertions, 2 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>
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonIds.java b/java/com/android/incallui/incall/protocol/InCallButtonIds.java
index 50ebc6413..3de533519 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonIds.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonIds.java
@@ -37,6 +37,7 @@ import java.lang.annotation.RetentionPolicy;
InCallButtonIds.BUTTON_MANAGE_VIDEO_CONFERENCE,
InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE,
InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY,
+ InCallButtonIds.BUTTON_SWAP_SIM,
InCallButtonIds.BUTTON_COUNT,
})
public @interface InCallButtonIds {
@@ -55,5 +56,6 @@ public @interface InCallButtonIds {
int BUTTON_MANAGE_VIDEO_CONFERENCE = 11;
int BUTTON_MANAGE_VOICE_CONFERENCE = 12;
int BUTTON_SWITCH_TO_SECONDARY = 13;
- int BUTTON_COUNT = 14;
+ int BUTTON_SWAP_SIM = 14;
+ int BUTTON_COUNT = 15;
}
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java b/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java
index 6d802e346..db6e9009c 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonIdsExtension.java
@@ -54,6 +54,8 @@ public class InCallButtonIdsExtension {
return "MANAGE_VOICE_CONFERENCE";
} else if (id == InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY) {
return "SWITCH_TO_SECONDARY";
+ } else if (id == InCallButtonIds.BUTTON_SWAP_SIM) {
+ return "SWAP_SIM";
} 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 e02ada96d..9f9c5fb03 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonUiDelegate.java
@@ -63,5 +63,7 @@ public interface InCallButtonUiDelegate {
void showAudioRouteSelector();
+ void swapSimClicked();
+
Context getContext();
}