summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorAndroid Dialer <noreply@google.com>2018-04-26 15:38:04 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-26 20:38:24 -0700
commitc87f1fbc35dcb19ed598008a88997e6547a1caca (patch)
tree73be5115bc9bf086119345f1d1f65473225ca558 /java
parent4db07410fbf823158a8cd3edcc7a6e1d72cc607f (diff)
Fix impression logging for spam blocking promo dialog shown in after call
notification. Test: N/A PiperOrigin-RevId: 194465415 Change-Id: Ica9301f4315b549c343112a824c8f7c51213bb99
Diffstat (limited to 'java')
-rw-r--r--java/com/android/dialer/app/calllog/BlockReportSpamListener.java27
-rw-r--r--java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java28
-rw-r--r--java/com/android/incallui/spam/SpamNotificationActivity.java45
3 files changed, 62 insertions, 38 deletions
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);
}
diff --git a/java/com/android/incallui/spam/SpamNotificationActivity.java b/java/com/android/incallui/spam/SpamNotificationActivity.java
index c04a071a1..e10dea381 100644
--- a/java/com/android/incallui/spam/SpamNotificationActivity.java
+++ b/java/com/android/incallui/spam/SpamNotificationActivity.java
@@ -43,6 +43,7 @@ import com.android.dialer.logging.ReportingLocation;
import com.android.dialer.notification.DialerNotificationManager;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import com.android.dialer.spam.SpamComponent;
+import com.android.dialer.spam.SpamSettings;
import com.android.dialer.spam.promo.SpamBlockingPromoHelper;
import com.android.incallui.call.DialerCall;
@@ -86,6 +87,8 @@ public class SpamNotificationActivity extends FragmentActivity {
}
};
private FilteredNumberAsyncQueryHandler filteredNumberAsyncQueryHandler;
+ private SpamSettings spamSettings;
+ private SpamBlockingPromoHelper spamBlockingPromoHelper;
/**
* Creates an intent to start this activity.
@@ -160,6 +163,8 @@ public class SpamNotificationActivity extends FragmentActivity {
super.onCreate(savedInstanceState);
setFinishOnTouchOutside(true);
filteredNumberAsyncQueryHandler = new FilteredNumberAsyncQueryHandler(this);
+ spamSettings = SpamComponent.get(this).spamSettings();
+ spamBlockingPromoHelper = new SpamBlockingPromoHelper(getApplicationContext(), spamSettings);
cancelNotification();
}
@@ -417,7 +422,7 @@ public class SpamNotificationActivity extends FragmentActivity {
dismiss();
spamNotificationActivity.maybeShowBlockReportSpamDialog(
number, contactLookupResultType);
- spamNotificationActivity.showSpamBlockingPromoDialog();
+ spamNotificationActivity.maybeShowSpamBlockingPromoAndFinish();
}
})
.setNegativeButton(
@@ -515,23 +520,43 @@ public class SpamNotificationActivity extends FragmentActivity {
dismiss();
spamNotificationActivity.maybeShowBlockReportSpamDialog(
number, contactLookupResultType);
+ spamNotificationActivity.maybeShowSpamBlockingPromoAndFinish();
}
})
.create();
}
}
- private void showSpamBlockingPromoDialog() {
- SpamBlockingPromoHelper spamBlockingPromoHelper =
- new SpamBlockingPromoHelper(
- getApplicationContext(), SpamComponent.get(this).spamSettings());
+ private void maybeShowSpamBlockingPromoAndFinish() {
if (!spamBlockingPromoHelper.shouldShowSpamBlockingPromo()) {
finish();
- } else {
- spamBlockingPromoHelper.showSpamBlockingPromoDialog(
- getFragmentManager(),
- success -> spamBlockingPromoHelper.showModifySettingOnCompleteToast(success),
- dialog -> finish());
+ return;
}
+ Logger.get(this)
+ .logImpression(DialerImpression.Type.SPAM_BLOCKING_AFTER_CALL_NOTIFICATION_PROMO_SHOWN);
+ showSpamBlockingPromoDialog();
+ }
+
+ private void showSpamBlockingPromoDialog() {
+ spamBlockingPromoHelper.showSpamBlockingPromoDialog(
+ getFragmentManager(),
+ () -> {
+ Logger.get(this)
+ .logImpression(
+ DialerImpression.Type
+ .SPAM_BLOCKING_ENABLED_THROUGH_AFTER_CALL_NOTIFICATION_PROMO);
+ spamSettings.modifySpamBlockingSetting(
+ true,
+ success -> {
+ if (!success) {
+ Logger.get(this)
+ .logImpression(
+ DialerImpression.Type
+ .SPAM_BLOCKING_MODIFY_FAILURE_THROUGH_AFTER_CALL_NOTIFICATION_PROMO);
+ }
+ spamBlockingPromoHelper.showModifySettingOnCompleteToast(success);
+ });
+ },
+ dialog -> finish());
}
}