From 6dfdbbbd85d702c638188ab6be39df4d6621f2d1 Mon Sep 17 00:00:00 2001 From: Android Dialer Date: Tue, 17 Apr 2018 18:24:01 -0700 Subject: Add spam blocking promotion after showing spam dialog in after-call notification Test: N/A PiperOrigin-RevId: 193290689 Change-Id: Idff99e2f67d5161d09b7ea3c0818ed92d2286b61 --- .../spam/promo/SpamBlockingPromoDialogFragment.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'java/com/android/dialer/spam/promo/SpamBlockingPromoDialogFragment.java') diff --git a/java/com/android/dialer/spam/promo/SpamBlockingPromoDialogFragment.java b/java/com/android/dialer/spam/promo/SpamBlockingPromoDialogFragment.java index 0ea17d395..ea54728a6 100644 --- a/java/com/android/dialer/spam/promo/SpamBlockingPromoDialogFragment.java +++ b/java/com/android/dialer/spam/promo/SpamBlockingPromoDialogFragment.java @@ -19,7 +19,9 @@ package com.android.dialer.spam.promo; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; +import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.Nullable; /** Dialog for spam blocking on-boarding promotion. */ public class SpamBlockingPromoDialogFragment extends DialogFragment { @@ -29,16 +31,32 @@ public class SpamBlockingPromoDialogFragment extends DialogFragment { /** Called when dialog positive button is pressed. */ protected OnEnableListener positiveListener; - public static DialogFragment newInstance(OnEnableListener positiveListener) { + /** Called when the dialog is dismissed. */ + @Nullable protected DialogInterface.OnDismissListener dismissListener; + + public static DialogFragment newInstance( + OnEnableListener positiveListener, + @Nullable DialogInterface.OnDismissListener dismissListener) { SpamBlockingPromoDialogFragment fragment = new SpamBlockingPromoDialogFragment(); fragment.positiveListener = positiveListener; + fragment.dismissListener = dismissListener; return fragment; } + @Override + public void onDismiss(DialogInterface dialog) { + if (dismissListener != null) { + dismissListener.onDismiss(dialog); + } + super.onDismiss(dialog); + } + @Override public void onPause() { // The dialog is dismissed onPause, i.e. rotation. dismiss(); + dismissListener = null; + positiveListener = null; super.onPause(); } -- cgit v1.2.3