Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64f9ed25 authored by wangqi's avatar wangqi Committed by Copybara-Service
Browse files

Update text on after call spam notification and dialog.

This change also includes:
1. Fixes formatting of phone number in the dialog.
2. Remove body text if the dialog.
3. Update to material design dialog style.

Bug: 72120616
Test: manual
PiperOrigin-RevId: 184350133
Change-Id: I8bdd9c792877822fe18ba6aae6c04136a603dbba
parent 47238a1e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -67,14 +67,14 @@
    <item name="dialpad_elevation">10dp</item>
  </style>

  <style name="AfterCallNotificationTheme" parent="@style/Theme.AppCompat.Light.Dialog.MinWidth">
  <style name="AfterCallNotificationTheme" parent="@android:style/Theme.Material.Light.Dialog">
    <!-- This colorAccent is to style checkboxes in the dialogs -->
    <item name="colorAccent">@color/dialer_theme_color</item>
    <!-- This is needed to make any alert dialogs in this activity take up minimum space -->
    <item name="android:alertDialogTheme">@style/AfterCallDialogStyle</item>
  </style>

  <style name="AfterCallDialogStyle" parent="@style/Theme.AppCompat.Light.Dialog.MinWidth">
  <style name="AfterCallDialogStyle" parent="@android:style/Theme.Material.Light.Dialog">
    <!-- This colorAccent is to style text in the dialogs -->
    <item name="android:colorAccent">@color/dialer_theme_color</item>
  </style>
+1 −4
Original line number Diff line number Diff line
@@ -391,14 +391,11 @@ public class SpamCallListListener implements CallList.Listener {
        createAfterCallNotificationBuilder(call)
            .setLargeIcon(Icon.createWithResource(context, R.drawable.spam_notification_icon))
            .setContentText(context.getString(R.string.spam_notification_spam_call_collapsed_text))
            .setStyle(
                new Notification.BigTextStyle()
                    .bigText(context.getString(R.string.spam_notification_spam_call_expanded_text)))
            // Not spam
            .addAction(
                new Notification.Action.Builder(
                        R.drawable.quantum_ic_close_vd_theme_24,
                        context.getString(R.string.spam_notification_not_spam_action_text),
                        context.getString(R.string.spam_notification_was_not_spam_action_text),
                        createNotSpamPendingIntent(call))
                    .build())
            // Block/report spam
+25 −19
Original line number Diff line number Diff line
@@ -18,14 +18,15 @@ package com.android.incallui.spam;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.provider.CallLog;
import android.provider.ContactsContract;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import android.telephony.PhoneNumberUtils;
import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.dialer.blocking.BlockReportSpamDialogs;
import com.android.dialer.blocking.BlockedNumbersMigrator;
@@ -106,8 +107,14 @@ public class SpamNotificationActivity extends FragmentActivity {
  }

  /** Returns the formatted version of the given number. */
  private static String getFormattedNumber(String number) {
    return PhoneNumberUtilsCompat.createTtsSpannable(number).toString();
  private static String getFormattedNumber(String number, Context context) {
    String formattedNumber =
        PhoneNumberUtils.formatNumber(number, GeoUtil.getCurrentCountryIso(context));
    return PhoneNumberUtilsCompat.createTtsSpannable(formattedNumber).toString();
  }

  private void logCallImpression(DialerImpression.Type impression) {
    logCallImpression(this, getCallInfo(), impression);
  }

  private static void logCallImpression(
@@ -190,7 +197,7 @@ public class SpamNotificationActivity extends FragmentActivity {
      final String number, final ContactLookupResult.Type contactLookupResultType) {
    if (SpamComponent.get(this).spam().isDialogEnabledForSpamNotification()) {
      BlockReportSpamDialogs.ReportNotSpamDialogFragment.newInstance(
              getFormattedNumber(number),
              getFormattedNumber(number, this),
              new BlockReportSpamDialogs.OnConfirmListener() {
                @Override
                public void onClick() {
@@ -208,12 +215,13 @@ public class SpamNotificationActivity extends FragmentActivity {
  private void maybeShowBlockReportSpamDialog(
      final String number, final ContactLookupResult.Type contactLookupResultType) {
    if (SpamComponent.get(this).spam().isDialogEnabledForSpamNotification()) {
      String displayNumber = getFormattedNumber(number, this);
      maybeShowBlockNumberMigrationDialog(
          new BlockedNumbersMigrator.Listener() {
            @Override
            public void onComplete() {
              BlockReportSpamDialogs.BlockReportSpamDialogFragment.newInstance(
                      getFormattedNumber(number),
                      displayNumber,
                      SpamComponent.get(SpamNotificationActivity.this)
                          .spam()
                          .isDialogReportSpamCheckedByDefault(),
@@ -240,7 +248,7 @@ public class SpamNotificationActivity extends FragmentActivity {
  private void showNonSpamDialog() {
    logCallImpression(DialerImpression.Type.SPAM_AFTER_CALL_NOTIFICATION_SHOW_NON_SPAM_DIALOG);
    FirstTimeNonSpamCallDialogFragment.newInstance(getCallInfo())
        .show(getSupportFragmentManager(), FirstTimeNonSpamCallDialogFragment.TAG);
        .show(getFragmentManager(), FirstTimeNonSpamCallDialogFragment.TAG);
  }

  /**
@@ -249,7 +257,7 @@ public class SpamNotificationActivity extends FragmentActivity {
  private void showSpamFullDialog() {
    logCallImpression(DialerImpression.Type.SPAM_AFTER_CALL_NOTIFICATION_SHOW_SPAM_DIALOG);
    FirstTimeSpamCallDialogFragment.newInstance(getCallInfo())
        .show(getSupportFragmentManager(), FirstTimeSpamCallDialogFragment.TAG);
        .show(getFragmentManager(), FirstTimeSpamCallDialogFragment.TAG);
  }

  /** Checks if the user has migrated to the new blocking and display a dialog if necessary. */
@@ -319,10 +327,6 @@ public class SpamNotificationActivity extends FragmentActivity {
    return getIntent().getBundleExtra(EXTRA_CALL_INFO);
  }

  private void logCallImpression(DialerImpression.Type impression) {
    logCallImpression(this, getCallInfo(), impression);
  }

  /** Dialog that displays "Not spam", "Block/report spam" and "Dismiss". */
  public static class FirstTimeSpamCallDialogFragment extends DialogFragment {

@@ -374,8 +378,9 @@ public class SpamNotificationActivity extends FragmentActivity {

      return new AlertDialog.Builder(getActivity())
          .setCancelable(false)
          .setTitle(getString(R.string.spam_notification_title, getFormattedNumber(number)))
          .setMessage(getString(R.string.spam_notification_spam_call_expanded_text))
          .setTitle(
              getString(
                  R.string.spam_notification_title, getFormattedNumber(number, applicationContext)))
          .setNeutralButton(
              getString(R.string.spam_notification_action_dismiss),
              new DialogInterface.OnClickListener() {
@@ -385,24 +390,24 @@ public class SpamNotificationActivity extends FragmentActivity {
                }
              })
          .setPositiveButton(
              getString(R.string.spam_notification_dialog_was_not_spam_action_text),
              getString(R.string.spam_notification_block_spam_action_text),
              new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                  dismissed = true;
                  dismiss();
                  spamNotificationActivity.maybeShowNotSpamDialog(number, contactLookupResultType);
                  spamNotificationActivity.maybeShowBlockReportSpamDialog(
                      number, contactLookupResultType);
                }
              })
          .setNegativeButton(
              getString(R.string.spam_notification_block_spam_action_text),
              getString(R.string.spam_notification_was_not_spam_action_text),
              new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                  dismissed = true;
                  dismiss();
                  spamNotificationActivity.maybeShowBlockReportSpamDialog(
                      number, contactLookupResultType);
                  spamNotificationActivity.maybeShowNotSpamDialog(number, contactLookupResultType);
                }
              })
          .create();
@@ -459,7 +464,8 @@ public class SpamNotificationActivity extends FragmentActivity {
          ContactLookupResult.Type.forNumber(
              getArguments().getInt(CALL_INFO_CONTACT_LOOKUP_RESULT_TYPE, 0));
      return new AlertDialog.Builder(getActivity())
          .setTitle(getString(R.string.non_spam_notification_title, getFormattedNumber(number)))
          .setTitle(
              getString(R.string.non_spam_notification_title, getFormattedNumber(number, context)))
          .setCancelable(false)
          .setMessage(getString(R.string.spam_notification_non_spam_call_expanded_text))
          .setNeutralButton(
+6 −10
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
  <!-- Title for the notification to the user after a call from an unknown number ends. [CHAR LIMIT=100] -->
  <string name="non_spam_notification_title">Know <xliff:g id="number">%1$s</xliff:g>?</string>
  <!-- Title for the notification to the user after a call from an spammer ends. [CHAR LIMIT=100] -->
  <string name="spam_notification_title">Is <xliff:g id="number">%1$s</xliff:g> spam?</string>
  <string name="spam_notification_title">Was <xliff:g id="number">%1$s</xliff:g> a spam call?</string>
  <!-- Text for the toast shown after the user presses block/report spam. [CHAR LIMIT=100] -->
  <string name="spam_notification_block_report_toast_text"><xliff:g id="number">%1$s</xliff:g> blocked and call was reported as spam.</string>
  <!-- Text for the toast shown after the user presses not spam. [CHAR LIMIT=100] -->
@@ -30,23 +30,19 @@
  <!-- Text displayed in the expanded notification to the user after a non-spam call ends. [CHAR LIMIT=NONE] -->
  <string name="spam_notification_non_spam_call_expanded_text">This is the first time this number called you. If this call was spam, you can block this number and report it.</string>
  <!-- Text displayed in the collapsed notification to the user after a spam call ends. [CHAR LIMIT=100] -->
  <string name="spam_notification_spam_call_collapsed_text">Tap to report as NOT SPAM, or block it.</string>
  <!-- Text displayed in the expanded notification to the user after a spam call ends. [CHAR LIMIT=NONE] -->
  <string name="spam_notification_spam_call_expanded_text">We suspected this to be a spammer. If this call wasn\'t spam, tap "NOT SPAM" to report our mistake.</string>
  <string name="spam_notification_spam_call_collapsed_text">Tap to report as not spam or block it</string>
  <!-- Text for the reporting spam action in the after call prompt. [CHAR LIMIT=20] -->
  <string name="spam_notification_report_spam_action_text">Block &amp; report</string>
  <!-- Text for the adding to contacts action in the after call prompt. [CHAR LIMIT=20] -->
  <string name="spam_notification_add_contact_action_text">Add contact</string>
  <!-- Text for the reporting as not spam action in the after call prompt. [CHAR LIMIT=20] -->
  <string name="spam_notification_not_spam_action_text">Not spam</string>
  <!-- Text for the blocking spam action in the after call prompt. [CHAR LIMIT=20] -->
  <string name="spam_notification_block_spam_action_text">Block number</string>
  <!-- Text for the adding to contacts action in the after call dialog. [CHAR LIMIT=40] -->
  <string name="spam_notification_dialog_add_contact_action_text">Add to contacts</string>
  <!-- Text for the blocking and reporting spam action in the after call dialog. [CHAR LIMIT=40] -->
  <string name="spam_notification_dialog_block_report_spam_action_text">Block &amp; report spam</string>
  <!-- Text for the marking a call as not spam in the after call dialog. [CHAR LIMIT=40] -->
  <string name="spam_notification_dialog_was_not_spam_action_text">Not spam</string>
  <!-- Text for the marking a call as not spam in the after call prompt. [CHAR LIMIT=40] -->
  <string name="spam_notification_was_not_spam_action_text">No, not spam</string>
  <!-- Text for the blocking spam action in the after call prompt. [CHAR LIMIT=40] -->
  <string name="spam_notification_block_spam_action_text">Yes, block number</string>

  <!-- Label for "Dismiss" dialog action. [CHAR LIMIT=12] -->
  <string name="spam_notification_action_dismiss">Dismiss</string>