From 95f7abf1160717efe8ad5b8fa79bd8de3648f4a0 Mon Sep 17 00:00:00 2001 From: maxwelb Date: Thu, 13 Jul 2017 17:27:42 -0700 Subject: 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 --- .../enrichedcall/EnrichedCallCapabilities.java | 53 ++++++++++++++++++---- 1 file changed, 44 insertions(+), 9 deletions(-) (limited to 'java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java') 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}. + * + *

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(); + } } -- cgit v1.2.3