summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/contacts/common/list/PhoneNumberListAdapter.java2
-rw-r--r--java/com/android/contacts/common/list/PhoneNumberPickerFragment.java2
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java4
-rw-r--r--java/com/android/dialer/enrichedcall/EnrichedCallCapabilities.java53
-rw-r--r--java/com/android/dialer/postcall/PostCall.java2
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)