summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/calllog
diff options
context:
space:
mode:
authorroldenburg <roldenburg@google.com>2017-12-15 12:11:12 -0800
committerCopybara-Service <copybara-piper@google.com>2017-12-15 12:14:26 -0800
commit72cb3fd79471c8193b3b54b83653200852aae5d0 (patch)
treef60094677bd3449691253e42be1fc3bddce50009 /java/com/android/dialer/app/calllog
parent4dc34a89ea820d1ca0115ada6fdf776150c1f07f (diff)
Hide "Invite" and "Set up" Duo buttons for spam and voicemail calls
Bug: 70681464 Test: GoogleCallLogAdapterTest PiperOrigin-RevId: 179224173 Change-Id: I7b70f478898fade5cc5a9bf50581d35f2ce2261f
Diffstat (limited to 'java/com/android/dialer/app/calllog')
-rw-r--r--java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java25
1 files changed, 17 insertions, 8 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 0aa46c561..babf1f8ca 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -359,15 +359,15 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
}
public static CallLogListItemViewHolder createForTest(Context context) {
- return createForTest(context, null, null);
+ return createForTest(context, null, null, new CallLogCache(context));
}
public static CallLogListItemViewHolder createForTest(
Context context,
View.OnClickListener expandCollapseListener,
- VoicemailPlaybackPresenter voicemailPlaybackPresenter) {
+ VoicemailPlaybackPresenter voicemailPlaybackPresenter,
+ CallLogCache callLogCache) {
Resources resources = context.getResources();
- CallLogCache callLogCache = new CallLogCache(context);
PhoneCallDetailsHelper phoneCallDetailsHelper =
new PhoneCallDetailsHelper(context, resources, callLogCache);
@@ -661,6 +661,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
callButtonView.setVisibility(View.VISIBLE);
}
+ boolean isVoicemailNumber = mCallLogCache.isVoicemailNumber(accountHandle, number);
+
switch (callbackAction) {
case CallbackAction.IMS_VIDEO:
case CallbackAction.DUO:
@@ -677,13 +679,21 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
&& (hasPlacedCarrierVideoCall() || canSupportCarrierVideoCall())) {
videoCallButtonView.setTag(IntentProvider.getReturnVideoCallIntentProvider(number));
videoCallButtonView.setVisibility(View.VISIBLE);
- } else if (duo.isReachable(mContext, number)) {
+ break;
+ }
+
+ if (isVoicemailNumber) {
+ break;
+ }
+
+ boolean identifiedSpamCall = isSpamFeatureEnabled && isSpam;
+ if (duo.isReachable(mContext, number)) {
videoCallButtonView.setTag(IntentProvider.getDuoVideoIntentProvider(number));
videoCallButtonView.setVisibility(View.VISIBLE);
- } else if (duo.isActivated(mContext)) {
+ } else if (duo.isActivated(mContext) && !identifiedSpamCall) {
inviteVideoButtonView.setTag(IntentProvider.getDuoInviteIntentProvider(number));
inviteVideoButtonView.setVisibility(View.VISIBLE);
- } else if (duo.isEnabled(mContext)) {
+ } else if (duo.isEnabled(mContext) && !identifiedSpamCall) {
if (!duo.isInstalled(mContext)) {
setUpVideoButtonView.setTag(IntentProvider.getInstallDuoIntentProvider());
} else {
@@ -730,7 +740,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
}
boolean isBlockedOrSpam = blockId != null || (isSpamFeatureEnabled && isSpam);
-
+
if (!isBlockedOrSpam && info != null && UriUtils.isEncodedContactUri(info.lookupUri)) {
createNewContactButtonView.setTag(
IntentProvider.getAddContactIntentProvider(
@@ -746,7 +756,6 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
addToExistingContactButtonView.setVisibility(View.GONE);
}
- boolean isVoicemailNumber = mCallLogCache.isVoicemailNumber(accountHandle, number);
if (canPlaceCallToNumber && !isBlockedOrSpam && !isVoicemailNumber) {
sendMessageView.setTag(IntentProvider.getSendSmsIntentProvider(number));
sendMessageView.setVisibility(View.VISIBLE);