summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/spam/SpamNotificationActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/spam/SpamNotificationActivity.java')
-rw-r--r--java/com/android/incallui/spam/SpamNotificationActivity.java45
1 files changed, 35 insertions, 10 deletions
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());
}
}