From afd8a64b1966372e14aa9f7bc05d598bd950eb71 Mon Sep 17 00:00:00 2001 From: linyuh Date: Tue, 27 Feb 2018 14:14:27 -0800 Subject: Set the correct reporting location when reporting spam in the new call log. Bug: 73816729 Test: Existing tests PiperOrigin-RevId: 187230516 Change-Id: I59d70b9676e2972b80f124f29f2c1cb1858efef8 --- .../ShowBlockReportSpamDialogNotifier.java | 20 ++++++++++++++++++-- .../ShowBlockReportSpamDialogReceiver.java | 17 +++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) (limited to 'java/com/android/dialer/blockreportspam') diff --git a/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogNotifier.java b/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogNotifier.java index fd6a807cc..fd81568a8 100644 --- a/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogNotifier.java +++ b/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogNotifier.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.Intent; import android.support.v4.content.LocalBroadcastManager; import com.android.dialer.common.LogUtil; +import com.android.dialer.logging.ReportingLocation; /** * Notifies that a dialog for blocking a number and/or marking it as spam/not spam should be shown. @@ -35,9 +36,15 @@ public final class ShowBlockReportSpamDialogNotifier { * @param normalizedNumber The number to be blocked/marked as spam * @param countryIso The ISO 3166-1 two letters country code for the number * @param callType Call type defined in {@link android.provider.CallLog.Calls} + * @param reportingLocation The location where the number is reported. See {@link + * ReportingLocation.Type}. */ public static void notifyShowDialogToBlockNumberAndOptionallyReportSpam( - Context context, String normalizedNumber, String countryIso, int callType) { + Context context, + String normalizedNumber, + String countryIso, + int callType, + ReportingLocation.Type reportingLocation) { LogUtil.enterBlock( "ShowBlockReportSpamDialogNotifier.notifyShowDialogToBlockNumberAndOptionallyReportSpam"); @@ -49,6 +56,8 @@ public final class ShowBlockReportSpamDialogNotifier { intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_NUMBER, normalizedNumber); intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_COUNTRY_ISO, countryIso); intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_CALL_TYPE, callType); + intent.putExtra( + ShowBlockReportSpamDialogReceiver.EXTRA_REPORTING_LOCATION, reportingLocation.getNumber()); LocalBroadcastManager.getInstance(context).sendBroadcast(intent); } @@ -60,9 +69,15 @@ public final class ShowBlockReportSpamDialogNotifier { * @param normalizedNumber The number to be reported as not spam * @param countryIso The ISO 3166-1 two letters country code for the number * @param callType Call type defined in {@link android.provider.CallLog.Calls} + * @param reportingLocation The location where the number is reported. See {@link + * ReportingLocation.Type}. */ public static void notifyShowDialogToReportNotSpam( - Context context, String normalizedNumber, String countryIso, int callType) { + Context context, + String normalizedNumber, + String countryIso, + int callType, + ReportingLocation.Type reportingLocation) { LogUtil.enterBlock("ShowBlockReportSpamDialogNotifier.notifyShowDialogToReportNotSpam"); Intent intent = new Intent(); @@ -70,6 +85,7 @@ public final class ShowBlockReportSpamDialogNotifier { intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_NUMBER, normalizedNumber); intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_COUNTRY_ISO, countryIso); intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_CALL_TYPE, callType); + intent.putExtra(ShowBlockReportSpamDialogReceiver.EXTRA_REPORTING_LOCATION, reportingLocation); LocalBroadcastManager.getInstance(context).sendBroadcast(intent); } diff --git a/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogReceiver.java b/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogReceiver.java index 9642468cb..75b624198 100644 --- a/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogReceiver.java +++ b/java/com/android/dialer/blockreportspam/ShowBlockReportSpamDialogReceiver.java @@ -46,6 +46,7 @@ public final class ShowBlockReportSpamDialogReceiver extends BroadcastReceiver { static final String EXTRA_NUMBER = "number"; static final String EXTRA_COUNTRY_ISO = "country_iso"; static final String EXTRA_CALL_TYPE = "call_type"; + static final String EXTRA_REPORTING_LOCATION = "reporting_location"; /** {@link FragmentManager} needed to show a {@link android.app.DialogFragment}. */ private final FragmentManager fragmentManager; @@ -87,10 +88,16 @@ public final class ShowBlockReportSpamDialogReceiver extends BroadcastReceiver { Assert.checkArgument(intent.hasExtra(EXTRA_NUMBER)); Assert.checkArgument(intent.hasExtra(EXTRA_COUNTRY_ISO)); Assert.checkArgument(intent.hasExtra(EXTRA_CALL_TYPE)); + Assert.checkArgument(intent.hasExtra(EXTRA_REPORTING_LOCATION)); String normalizedNumber = intent.getStringExtra(EXTRA_NUMBER); String countryIso = intent.getStringExtra(EXTRA_COUNTRY_ISO); int callType = intent.getIntExtra(EXTRA_CALL_TYPE, 0); + ReportingLocation.Type reportingLocation = + ReportingLocation.Type.forNumber( + intent.getIntExtra( + EXTRA_REPORTING_LOCATION, + ReportingLocation.Type.UNKNOWN_REPORTING_LOCATION.getNumber())); Spam spam = SpamComponent.get(context).spam(); @@ -113,7 +120,7 @@ public final class ShowBlockReportSpamDialogReceiver extends BroadcastReceiver { normalizedNumber, countryIso, callType, - ReportingLocation.Type.UNKNOWN_REPORTING_LOCATION /* TODO(a bug): Fix. */, + reportingLocation, ContactSource.Type.UNKNOWN_SOURCE_TYPE /* TODO(a bug): Fix. */); } @@ -140,10 +147,16 @@ public final class ShowBlockReportSpamDialogReceiver extends BroadcastReceiver { Assert.checkArgument(intent.hasExtra(EXTRA_NUMBER)); Assert.checkArgument(intent.hasExtra(EXTRA_COUNTRY_ISO)); Assert.checkArgument(intent.hasExtra(EXTRA_CALL_TYPE)); + Assert.checkArgument(intent.hasExtra(EXTRA_REPORTING_LOCATION)); String normalizedNumber = intent.getStringExtra(EXTRA_NUMBER); String countryIso = intent.getStringExtra(EXTRA_COUNTRY_ISO); int callType = intent.getIntExtra(EXTRA_CALL_TYPE, 0); + ReportingLocation.Type reportingLocation = + ReportingLocation.Type.forNumber( + intent.getIntExtra( + EXTRA_REPORTING_LOCATION, + ReportingLocation.Type.UNKNOWN_REPORTING_LOCATION.getNumber())); // Set up the positive listener for the dialog. OnConfirmListener onConfirmListener = @@ -158,7 +171,7 @@ public final class ShowBlockReportSpamDialogReceiver extends BroadcastReceiver { normalizedNumber, countryIso, callType, - ReportingLocation.Type.UNKNOWN_REPORTING_LOCATION /* TODO(a bug): Fix. */, + reportingLocation, ContactSource.Type.UNKNOWN_SOURCE_TYPE /* TODO(a bug): Fix. */); } }; -- cgit v1.2.3