diff options
Diffstat (limited to 'java/com/android/incallui/incall/impl/ButtonChooserFactory.java')
-rw-r--r-- | java/com/android/incallui/incall/impl/ButtonChooserFactory.java | 15 |
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)); } |