summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/incall/impl/ButtonChooserFactory.java')
-rw-r--r--java/com/android/incallui/incall/impl/ButtonChooserFactory.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
index 0dcfdb5fe..99364e22c 100644
--- a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
+++ b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
@@ -83,11 +83,18 @@ class ButtonChooserFactory {
mapping.put(
InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY, MappingInfo.builder(4).setSlotOrder(0).build());
mapping.put(
- InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE,
- MappingInfo.builder(4).setSlotOrder(5).build());
- mapping.put(
InCallButtonIds.BUTTON_UPGRADE_TO_VIDEO, MappingInfo.builder(4).setSlotOrder(10).build());
- mapping.put(InCallButtonIds.BUTTON_HOLD, MappingInfo.builder(5).setSlotOrder(0).build());
+
+ /*
+ * Unlike the other configurations, MANAGE_VOICE_CONFERENCE shares a spot with HOLD for GSM.
+ * On GSM, pressing hold while there's a background call just swaps to the background call. It
+ * doesn't make sense to show both SWITCH_TO_SECONDARY and HOLD when they do the same thing, so
+ * we show MANAGE_VOICE_CONFERENCE instead. Previously MANAGE_VOICE_CONFERENCE would not show.
+ */
+ mapping.put(
+ InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE,
+ MappingInfo.builder(5).setSlotOrder(0).build());
+ mapping.put(InCallButtonIds.BUTTON_HOLD, MappingInfo.builder(5).setSlotOrder(5).build());
return new ButtonChooser(new MappedButtonConfig(mapping));
}