summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/historyitemactions/IntentModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/historyitemactions/IntentModule.java')
-rw-r--r--java/com/android/dialer/historyitemactions/IntentModule.java48
1 files changed, 45 insertions, 3 deletions
diff --git a/java/com/android/dialer/historyitemactions/IntentModule.java b/java/com/android/dialer/historyitemactions/IntentModule.java
index dc53064af..f4fc678fd 100644
--- a/java/com/android/dialer/historyitemactions/IntentModule.java
+++ b/java/com/android/dialer/historyitemactions/IntentModule.java
@@ -21,9 +21,12 @@ import android.content.Intent;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import com.android.dialer.callintent.CallIntentBuilder;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
import com.android.dialer.precall.PreCall;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
+import com.google.common.collect.ImmutableList;
/**
* {@link HistoryItemActionModule} useful for making easy to build modules based on starting an
@@ -35,12 +38,28 @@ public class IntentModule implements HistoryItemActionModule {
private final Intent intent;
private final @StringRes int text;
private final @DrawableRes int image;
+ private final ImmutableList<DialerImpression.Type> impressions;
+ /**
+ * @deprecated use {@link IntentModule#IntentModule(Context, Intent, int, int, ImmutableList)}
+ * instead.
+ */
+ @Deprecated
public IntentModule(Context context, Intent intent, @StringRes int text, @DrawableRes int image) {
+ this(context, intent, text, image, /* impressions = */ ImmutableList.of());
+ }
+
+ IntentModule(
+ Context context,
+ Intent intent,
+ @StringRes int text,
+ @DrawableRes int image,
+ ImmutableList<DialerImpression.Type> impressions) {
this.context = context;
this.intent = intent;
this.text = text;
this.image = image;
+ this.impressions = impressions;
}
@Override
@@ -56,11 +75,21 @@ public class IntentModule implements HistoryItemActionModule {
@Override
public boolean onClick() {
DialerUtils.startActivityWithErrorToast(context, intent);
+ impressions.forEach(Logger.get(context)::logImpression);
return true;
}
- /** Creates a module for starting an outgoing call with a {@link CallIntentBuilder}. */
+ /** @deprecated Use {@link #newCallModule(Context, CallIntentBuilder, ImmutableList)} instead. */
+ @Deprecated
public static IntentModule newCallModule(Context context, CallIntentBuilder callIntentBuilder) {
+ return newCallModule(context, callIntentBuilder, /* impressions = */ ImmutableList.of());
+ }
+
+ /** Creates a module for starting an outgoing call with a {@link CallIntentBuilder}. */
+ static IntentModule newCallModule(
+ Context context,
+ CallIntentBuilder callIntentBuilder,
+ ImmutableList<DialerImpression.Type> impressions) {
@StringRes int text;
@DrawableRes int image;
@@ -72,14 +101,27 @@ public class IntentModule implements HistoryItemActionModule {
image = R.drawable.quantum_ic_call_white_24;
}
- return new IntentModule(context, PreCall.getIntent(context, callIntentBuilder), text, image);
+ return new IntentModule(
+ context, PreCall.getIntent(context, callIntentBuilder), text, image, impressions);
}
+ /**
+ * @deprecated Use {@link #newModuleForSendingTextMessage(Context, String, ImmutableList)}
+ * instead.
+ */
+ @Deprecated
public static IntentModule newModuleForSendingTextMessage(Context context, String number) {
+ return newModuleForSendingTextMessage(context, number, /* impressions = */ ImmutableList.of());
+ }
+
+ /** Creates a module for sending a text message to the given number. */
+ static IntentModule newModuleForSendingTextMessage(
+ Context context, String number, ImmutableList<DialerImpression.Type> impressions) {
return new IntentModule(
context,
IntentUtil.getSendSmsIntent(number),
R.string.send_a_message,
- R.drawable.quantum_ic_message_vd_theme_24);
+ R.drawable.quantum_ic_message_vd_theme_24,
+ impressions);
}
}