summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java
diff options
context:
space:
mode:
authormaxwelb <maxwelb@google.com>2017-07-13 17:27:42 -0700
committerEric Erfanian <erfanian@google.com>2017-07-24 18:48:32 +0000
commit95f7abf1160717efe8ad5b8fa79bd8de3648f4a0 (patch)
tree2b2088268a15ed6a33c94fbd8197290cd65fecb3 /java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java
parentd32cff88a24531d10fad6a0dfb3df5e466d5f1ff (diff)
Update ECCapabilities for temporarily unavailable status
This CL makes a number of changes to include temporarily unavailable statuses (go/ec-temp-unavailable) as part ECCapabilities. - Adds isTemporarilyUnavailable methods, which will be set by ECBroadcastReceiver upon getting a capabilities update. - Adds a builder to ECCapabilities as there are now 4 booleans that are set upon construction. - Changes the names of getters on ECCapabilities, which was required to get autovalue to correctly generate the builder. - Adds an ALL_CAPABILITIES constant to match the NO_CAPABILITIES constant. Bug: 62609419 Test: Existing tests, ECCapabilitiesTest PiperOrigin-RevId: 161890511 Change-Id: I967a9a14793ac12101ecfed59e5f7af1217faf3b
Diffstat (limited to 'java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java')
-rw-r--r--java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java53
1 files changed, 44 insertions, 9 deletions
diff --git a/java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java b/java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java
index c3c78c9c8..32054e8d1 100644
--- a/java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java
+++ b/java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java
@@ -22,18 +22,53 @@ import com.google.auto.value.AutoValue;
@AutoValue
public abstract class EnrichedCallCapabilities {
- public static final EnrichedCallCapabilities NO_CAPABILITIES =
- EnrichedCallCapabilities.create(false, false, false);
+ public static final EnrichedCallCapabilities NO_CAPABILITIES = builder().build();
- public static EnrichedCallCapabilities create(
- boolean supportsCallComposer, boolean supportsPostCall, boolean supportsVideoCall) {
- return new AutoValue_EnrichedCallCapabilities(
- supportsCallComposer, supportsPostCall, supportsVideoCall);
+ public static final EnrichedCallCapabilities ALL_CAPABILITIES =
+ builder()
+ .setCallComposerCapable(true)
+ .setPostCallCapable(true)
+ .setVideoShareCapable(true)
+ .build();
+
+ public abstract boolean isCallComposerCapable();
+
+ public abstract boolean isPostCallCapable();
+
+ public abstract boolean isVideoShareCapable();
+
+ public abstract Builder toBuilder();
+
+ /**
+ * Returns {@code true} if these capabilities represent those of a user that is temporarily
+ * unavailable. This is an indication that capabilities should be refreshed.
+ */
+ public abstract boolean isTemporarilyUnavailable();
+
+ /**
+ * Creates an instance of {@link Builder}.
+ *
+ * <p>Unless otherwise set, all fields will default to false.
+ */
+ public static Builder builder() {
+ return new AutoValue_EnrichedCallCapabilities.Builder()
+ .setCallComposerCapable(false)
+ .setPostCallCapable(false)
+ .setVideoShareCapable(false)
+ .setTemporarilyUnavailable(false);
}
- public abstract boolean supportsCallComposer();
+ /** Creates instances of {@link EnrichedCallCapabilities}. */
+ @AutoValue.Builder
+ public abstract static class Builder {
+ public abstract Builder setCallComposerCapable(boolean isCapable);
+
+ public abstract Builder setPostCallCapable(boolean isCapable);
- public abstract boolean supportsPostCall();
+ public abstract Builder setVideoShareCapable(boolean isCapable);
- public abstract boolean supportsVideoShare();
+ public abstract Builder setTemporarilyUnavailable(boolean temporarilyUnavailable);
+
+ public abstract EnrichedCallCapabilities build();
+ }
}