summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java')
-rw-r--r--java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index e044460c5..1d50a82ac 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -106,6 +106,7 @@ import java.lang.ref.WeakReference;
*/
public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
implements View.OnClickListener,
+ View.OnLongClickListener,
MenuItem.OnMenuItemClickListener,
View.OnCreateContextMenuListener {
@@ -306,6 +307,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
quickContactView.setOverlay(null);
quickContactView.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);
primaryActionButtonView.setOnClickListener(this);
+ primaryActionButtonView.setOnLongClickListener(this);
primaryActionView.setOnClickListener(this.expandCollapseListener);
if (this.voicemailPlaybackPresenter != null
&& ConfigProviderComponent.get(this.context)
@@ -519,6 +521,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
primaryActionButtonView.setContentDescription(
TextUtils.expandTemplate(
context.getString(R.string.description_voicemail_action), validNameOrNumber));
+ primaryActionButtonView.setTag(null);
primaryActionButtonView.setVisibility(View.VISIBLE);
} else {
primaryActionButtonView.setVisibility(View.GONE);
@@ -1053,7 +1056,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
return;
}
intentProvider.logInteraction(context);
- final Intent intent = intentProvider.getIntent(context);
+
+ final Intent intent = intentProvider.getClickIntent(context);
// See IntentProvider.getCallDetailIntentProvider() for why this may be null.
if (intent == null) {
return;
@@ -1073,6 +1077,18 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
}
}
+ @Override
+ public boolean onLongClick(View view) {
+ final IntentProvider intentProvider = (IntentProvider) view.getTag();
+ final Intent intent = intentProvider != null
+ ? intentProvider.getLongClickIntent(context) : null;
+ if (intent != null) {
+ DialerUtils.startActivityWithErrorToast(context, intent);
+ return true;
+ }
+ return false;
+ }
+
private static boolean isNonContactEntry(ContactInfo info) {
if (info == null || info.sourceType != Type.SOURCE_TYPE_DIRECTORY) {
return true;