summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/incall/impl/MappedButtonConfig.java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-08-31 16:17:04 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-08-31 16:17:04 +0000
commitc39ea3c55fac807c0b98aabdf56c70dc8a49036c (patch)
treee282668a9587cf6c1ec7b604dea860400c75c6c7 /java/com/android/incallui/incall/impl/MappedButtonConfig.java
parent68038172793ee0e2ab3e2e56ddfbeb82879d1f58 (diff)
parent2ca4318cc1ee57dda907ba2069bd61d162b1baef (diff)
Merge "Update Dialer source to latest internal Google revision."
Diffstat (limited to 'java/com/android/incallui/incall/impl/MappedButtonConfig.java')
-rw-r--r--java/com/android/incallui/incall/impl/MappedButtonConfig.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/java/com/android/incallui/incall/impl/MappedButtonConfig.java b/java/com/android/incallui/incall/impl/MappedButtonConfig.java
index 722983796..67c4137b9 100644
--- a/java/com/android/incallui/incall/impl/MappedButtonConfig.java
+++ b/java/com/android/incallui/incall/impl/MappedButtonConfig.java
@@ -141,7 +141,7 @@ final class MappedButtonConfig {
}
@NonNull
- private MappingInfo lookupMappingInfo(@InCallButtonIds int button) {
+ public MappingInfo lookupMappingInfo(@InCallButtonIds int button) {
MappingInfo info = mapping.get(button);
if (info == null) {
throw new IllegalArgumentException(
@@ -154,6 +154,8 @@ final class MappedButtonConfig {
@AutoValue
abstract static class MappingInfo {
+ public static final int NO_MUTUALLY_EXCLUSIVE_BUTTON_SET = -1;
+
/** The Ui slot into which a given button desires to be placed. */
public abstract int getSlot();
@@ -171,11 +173,20 @@ final class MappedButtonConfig {
*/
public abstract int getConflictOrder();
+ /**
+ * Returns an integer representing a button for which the given button conflicts. Defaults to
+ * {@link NO_MUTUALLY_EXCLUSIVE_BUTTON_SET}.
+ *
+ * <p>If the mutually exclusive button is chosen, the associated button should never be chosen.
+ */
+ public abstract @InCallButtonIds int getMutuallyExclusiveButton();
+
static Builder builder(int slot) {
return new AutoValue_MappedButtonConfig_MappingInfo.Builder()
.setSlot(slot)
.setSlotOrder(Integer.MAX_VALUE)
- .setConflictOrder(Integer.MAX_VALUE);
+ .setConflictOrder(Integer.MAX_VALUE)
+ .setMutuallyExclusiveButton(NO_MUTUALLY_EXCLUSIVE_BUTTON_SET);
}
/** Class used to build instances of {@link MappingInfo}. */
@@ -187,6 +198,8 @@ final class MappedButtonConfig {
public abstract Builder setConflictOrder(int conflictOrder);
+ public abstract Builder setMutuallyExclusiveButton(@InCallButtonIds int button);
+
public abstract MappingInfo build();
}
}