diff options
Diffstat (limited to 'java/com/android/dialer/historyitemactions/IntentModule.java')
-rw-r--r-- | java/com/android/dialer/historyitemactions/IntentModule.java | 48 |
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); } } |