From c87f1fbc35dcb19ed598008a88997e6547a1caca Mon Sep 17 00:00:00 2001 From: Android Dialer Date: Thu, 26 Apr 2018 15:38:04 -0700 Subject: Fix impression logging for spam blocking promo dialog shown in after call notification. Test: N/A PiperOrigin-RevId: 194465415 Change-Id: Ica9301f4315b549c343112a824c8f7c51213bb99 --- .../app/calllog/BlockReportSpamListener.java | 27 +++++++++++++++++---- .../dialer/spam/promo/SpamBlockingPromoHelper.java | 28 ++++------------------ 2 files changed, 27 insertions(+), 28 deletions(-) (limited to 'java/com/android/dialer') diff --git a/java/com/android/dialer/app/calllog/BlockReportSpamListener.java b/java/com/android/dialer/app/calllog/BlockReportSpamListener.java index 551791850..987615f5f 100644 --- a/java/com/android/dialer/app/calllog/BlockReportSpamListener.java +++ b/java/com/android/dialer/app/calllog/BlockReportSpamListener.java @@ -206,11 +206,28 @@ public class BlockReportSpamListener implements CallLogListItemViewHolder.OnClic } private void showSpamBlockingPromoDialog() { - if (spamBlockingPromoHelper.shouldShowSpamBlockingPromo()) { - spamBlockingPromoHelper.showSpamBlockingPromoDialog( - fragmentManager, - success -> spamBlockingPromoHelper.showModifySettingOnCompleteSnackbar(rootView, success), - null /* onDissmissListener */); + if (!spamBlockingPromoHelper.shouldShowSpamBlockingPromo()) { + return; } + + Logger.get(context).logImpression(DialerImpression.Type.SPAM_BLOCKING_CALL_LOG_PROMO_SHOWN); + spamBlockingPromoHelper.showSpamBlockingPromoDialog( + fragmentManager, + () -> { + Logger.get(context) + .logImpression(DialerImpression.Type.SPAM_BLOCKING_ENABLED_THROUGH_CALL_LOG_PROMO); + spamSettings.modifySpamBlockingSetting( + true, + success -> { + if (!success) { + Logger.get(context) + .logImpression( + DialerImpression.Type + .SPAM_BLOCKING_MODIFY_FAILURE_THROUGH_CALL_LOG_PROMO); + } + spamBlockingPromoHelper.showModifySettingOnCompleteSnackbar(rootView, success); + }); + }, + null /* onDismissListener */); } } diff --git a/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java b/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java index 891ac44ad..6a8cde864 100644 --- a/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java +++ b/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java @@ -34,14 +34,14 @@ import com.android.dialer.logging.Logger; import com.android.dialer.notification.DialerNotificationManager; import com.android.dialer.notification.NotificationChannelId; import com.android.dialer.spam.SpamSettings; -import com.android.dialer.spam.SpamSettings.ModifySettingListener; +import com.android.dialer.spam.promo.SpamBlockingPromoDialogFragment.OnEnableListener; /** Helper class for showing spam blocking on-boarding promotions. */ public class SpamBlockingPromoHelper { static final String SPAM_BLOCKING_PROMO_PERIOD_MILLIS = "spam_blocking_promo_period_millis"; static final String SPAM_BLOCKING_PROMO_LAST_SHOW_MILLIS = "spam_blocking_promo_last_show_millis"; - static final String ENABLE_SPAM_BLOCKING_PROMO = "enable_spam_blocking_promo"; + public static final String ENABLE_SPAM_BLOCKING_PROMO = "enable_spam_blocking_promo"; private final Context context; private final SpamSettings spamSettings; @@ -81,33 +81,15 @@ public class SpamBlockingPromoHelper { * Shows a spam blocking promo dialog. * * @param fragmentManager the fragment manager to show the dialog. - * @param modifySettingListener the listener called after spam blocking setting is modified. + * @param onEnableListener the listener called when enable button is clicked. * @param onDismissListener the listener called when the dialog is dismissed. */ public void showSpamBlockingPromoDialog( FragmentManager fragmentManager, - ModifySettingListener modifySettingListener, + OnEnableListener onEnableListener, OnDismissListener onDismissListener) { updateLastShowSpamTimestamp(); - Logger.get(context).logImpression(DialerImpression.Type.SPAM_BLOCKING_CALL_LOG_PROMO_SHOWN); - SpamBlockingPromoDialogFragment.newInstance( - () -> { - Logger.get(context) - .logImpression( - DialerImpression.Type.SPAM_BLOCKING_ENABLED_THROUGH_CALL_LOG_PROMO); - spamSettings.modifySpamBlockingSetting( - true, - success -> { - if (!success) { - Logger.get(context) - .logImpression( - DialerImpression.Type - .SPAM_BLOCKING_MODIFY_FAILURE_THROUGH_CALL_LOG_PROMO); - } - modifySettingListener.onComplete(success); - }); - }, - onDismissListener) + SpamBlockingPromoDialogFragment.newInstance(onEnableListener, onDismissListener) .show(fragmentManager, SpamBlockingPromoDialogFragment.SPAM_BLOCKING_PROMO_DIALOG_TAG); } -- cgit v1.2.3