diff options
author | maxwelb <maxwelb@google.com> | 2017-07-13 17:27:42 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-07-24 18:48:32 +0000 |
commit | 95f7abf1160717efe8ad5b8fa79bd8de3648f4a0 (patch) | |
tree | 2b2088268a15ed6a33c94fbd8197290cd65fecb3 /java | |
parent | d32cff88a24531d10fad6a0dfb3df5e466d5f1ff (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')
5 files changed, 49 insertions, 14 deletions
diff --git a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java index ad0983611..87fc496f6 100644 --- a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java +++ b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java @@ -404,7 +404,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { if (action == ContactListItemView.NONE) { EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager(); EnrichedCallCapabilities capabilities = manager.getCapabilities(number); - if (capabilities != null && capabilities.supportsCallComposer()) { + if (capabilities != null && capabilities.isCallComposerCapable()) { action = ContactListItemView.CALL_AND_SHARE; } else if (capabilities == null && getQueryString() != null diff --git a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java index 558f3b209..2ab121756 100644 --- a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java +++ b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java @@ -353,7 +353,7 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE if (view.getCallToAction() != ContactListItemView.NONE || view.getPhoneNumber() == null || manager.getCapabilities(view.getPhoneNumber()) == null - || !manager.getCapabilities(view.getPhoneNumber()).supportsCallComposer()) { + || !manager.getCapabilities(view.getPhoneNumber()).isCallComposerCapable()) { continue; } view.setCallToAction(ContactListItemView.CALL_AND_SHARE, listener, view.getPosition()); diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java index 41c9d6003..e3509a964 100644 --- a/java/com/android/dialer/app/calllog/CallLogAdapter.java +++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java @@ -347,7 +347,7 @@ public class CallLogAdapter extends GroupingListAdapter EnrichedCallCapabilities capabilities = getEnrichedCallManager().getCapabilities(viewHolder.number); viewHolder.isCallComposerCapable = - capabilities != null && capabilities.supportsCallComposer(); + capabilities != null && capabilities.isCallComposerCapable(); generateAndMapNewCallDetailsEntriesHistoryResults( viewHolder.number, viewHolder.getDetailedPhoneDetails(), @@ -869,7 +869,7 @@ public class CallLogAdapter extends GroupingListAdapter getEnrichedCallManager().requestCapabilities(number); return false; } - return capabilities.supportsCallComposer(); + return capabilities.isCallComposerCapable(); } @NonNull 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(); + } } diff --git a/java/com/android/dialer/postcall/PostCall.java b/java/com/android/dialer/postcall/PostCall.java index 6d9ad01a8..c4922cd02 100644 --- a/java/com/android/dialer/postcall/PostCall.java +++ b/java/com/android/dialer/postcall/PostCall.java @@ -79,7 +79,7 @@ public class PostCall { LogUtil.sanitizePhoneNumber(getPhoneNumber(activity)), capabilities); - boolean isRcsPostCall = capabilities != null && capabilities.supportsPostCall(); + boolean isRcsPostCall = capabilities != null && capabilities.isPostCallCapable(); String actionText = isRcsPostCall ? activity.getString(R.string.post_call_add_message) |