diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-08-31 16:17:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-08-31 16:17:04 +0000 |
commit | c39ea3c55fac807c0b98aabdf56c70dc8a49036c (patch) | |
tree | e282668a9587cf6c1ec7b604dea860400c75c6c7 /java/com/android/incallui/incall/impl/ButtonChooser.java | |
parent | 68038172793ee0e2ab3e2e56ddfbeb82879d1f58 (diff) | |
parent | 2ca4318cc1ee57dda907ba2069bd61d162b1baef (diff) |
Merge "Update Dialer source to latest internal Google revision."
Diffstat (limited to 'java/com/android/incallui/incall/impl/ButtonChooser.java')
-rw-r--r-- | java/com/android/incallui/incall/impl/ButtonChooser.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/java/com/android/incallui/incall/impl/ButtonChooser.java b/java/com/android/incallui/incall/impl/ButtonChooser.java index 55b82f015..095a8beba 100644 --- a/java/com/android/incallui/incall/impl/ButtonChooser.java +++ b/java/com/android/incallui/incall/impl/ButtonChooser.java @@ -18,6 +18,7 @@ package com.android.incallui.incall.impl; import android.support.annotation.NonNull; import com.android.dialer.common.Assert; +import com.android.incallui.incall.impl.MappedButtonConfig.MappingInfo; import com.android.incallui.incall.protocol.InCallButtonIds; import java.util.ArrayList; import java.util.Collections; @@ -103,12 +104,29 @@ final class ButtonChooser { if (placedButtons.size() >= numUiButtons) { return; } + // If the conflict button is allowed but disabled, don't place it since it probably will // move when it's enabled. if (!allowedButtons.contains(conflict) || disabledButtons.contains(conflict)) { continue; } + + if (isMutuallyExclusiveButtonAvailable( + config.lookupMappingInfo(conflict).getMutuallyExclusiveButton(), allowedButtons)) { + continue; + } placedButtons.add(conflict); } } + + private boolean isMutuallyExclusiveButtonAvailable( + int mutuallyExclusiveButton, @NonNull Set<Integer> allowedButtons) { + if (mutuallyExclusiveButton == MappingInfo.NO_MUTUALLY_EXCLUSIVE_BUTTON_SET) { + return false; + } + if (allowedButtons.contains(mutuallyExclusiveButton)) { + return true; + } + return false; + } } |