summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRohit Yengisetty <rohit@cyngn.com>2016-01-20 16:17:08 -0800
committerRohit Yengisetty <rohit@cyngn.com>2016-01-20 16:17:08 -0800
commit60502a861a5fa7bc1f6ea7c4c8618ecfd310c18d (patch)
tree75713846803a6479b0fea68c09d92e81880f2eb2 /src
parentd6302ae725bf1058e24bafef177a7c81384a4662 (diff)
downloadandroid_packages_apps_ContactsCommon-60502a861a5fa7bc1f6ea7c4c8618ecfd310c18d.tar.gz
android_packages_apps_ContactsCommon-60502a861a5fa7bc1f6ea7c4c8618ecfd310c18d.tar.bz2
android_packages_apps_ContactsCommon-60502a861a5fa7bc1f6ea7c4c8618ecfd310c18d.zip
Refactor BlockContactHelper
Change-Id: Ic10174bc1a9fb9bf1c68aa2efc25472dd8c656d6
Diffstat (limited to 'src')
-rw-r--r--src/com/android/contacts/common/activity/fragment/BlockContactDialogFragment.java6
-rw-r--r--src/com/android/contacts/common/util/BlockContactHelper.java59
2 files changed, 32 insertions, 33 deletions
diff --git a/src/com/android/contacts/common/activity/fragment/BlockContactDialogFragment.java b/src/com/android/contacts/common/activity/fragment/BlockContactDialogFragment.java
index cb4e099b..b07d914d 100644
--- a/src/com/android/contacts/common/activity/fragment/BlockContactDialogFragment.java
+++ b/src/com/android/contacts/common/activity/fragment/BlockContactDialogFragment.java
@@ -62,10 +62,12 @@ public class BlockContactDialogFragment extends DialogFragment
String checkboxDescription = TextUtils.isEmpty(lookupProviderName) ?
null :
- hostActivity.getResources().getString(R.string.block_dialog_report_spam,
+ hostActivity.getResources().getString(
+ blockMode ? R.string.block_dialog_report_spam :
+ R.string.block_dialog_report_nonspam,
lookupProviderName);
- if (!blockMode || TextUtils.isEmpty(checkboxDescription)) {
+ if (TextUtils.isEmpty(checkboxDescription)) {
mNotifyProviderCheckBox.setChecked(false);
mNotifyProviderCheckBox.setVisibility(View.GONE);
} else {
diff --git a/src/com/android/contacts/common/util/BlockContactHelper.java b/src/com/android/contacts/common/util/BlockContactHelper.java
index c605a978..5d10b556 100644
--- a/src/com/android/contacts/common/util/BlockContactHelper.java
+++ b/src/com/android/contacts/common/util/BlockContactHelper.java
@@ -4,11 +4,7 @@ import android.app.DialogFragment;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
import android.telephony.PhoneNumberUtils;
-import android.text.TextUtils;
-import com.android.contacts.common.R;
import com.android.contacts.common.activity.fragment.BlockContactDialogFragment;
import com.android.contacts.common.model.Contact;
import com.android.contacts.common.model.RawContact;
@@ -32,7 +28,7 @@ public class BlockContactHelper {
private volatile boolean mIsProviderInitialized;
private boolean mBackgroundTaskCompleted;
- public enum BlockMode {
+ public enum BlockOperation {
BLOCK,
UNBLOCK
}
@@ -50,9 +46,14 @@ public class BlockContactHelper {
mBackgroundTask = new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
- if (mContact == null) return null;
+ if (mContact == null) {
+ return null;
+ }
+
+ // reset blacklist status
+ mIsBlacklisted = false;
// check blacklist status of all of the contact's numbers
- contact:
+ blacklist_search:
for (RawContact rawContact : mContact.getRawContacts()) {
List<DataItem> data = rawContact.getDataItems();
for(DataItem item : data) {
@@ -60,7 +61,7 @@ public class BlockContactHelper {
PhoneDataItem phoneDataItem = (PhoneDataItem) item;
if (isBlacklisted(phoneDataItem.getNumber())) {
mIsBlacklisted = true;
- break contact;
+ break blacklist_search;
}
}
}
@@ -99,11 +100,11 @@ public class BlockContactHelper {
!= BlacklistUtils.MATCH_NONE;
}
- public DialogFragment getBlockContactDialog(BlockMode blockMode) {
+ public DialogFragment getBlockContactDialog(BlockOperation blockOperation) {
BlockContactDialogFragment f = new BlockContactDialogFragment();
Bundle bundle = new Bundle();
- int launchMode = blockMode == BlockMode.BLOCK ? BlockContactDialogFragment.BLOCK_MODE :
- BlockContactDialogFragment.UNBLOCK_MODE;
+ int launchMode = blockOperation == BlockOperation.BLOCK ?
+ BlockContactDialogFragment.BLOCK_MODE : BlockContactDialogFragment.UNBLOCK_MODE;
bundle.putInt(BlockContactDialogFragment.KEY_LAUNCH_MODE, launchMode);
String providerName = mLookupProvider.getDisplayName();
bundle.putString(BlockContactDialogFragment.KEY_CURRENT_LOOKUP_PROVIDER_NAME, providerName);
@@ -113,41 +114,37 @@ public class BlockContactHelper {
}
public void blockContact(boolean notifyLookupProvider) {
- for (RawContact rawContact : mContact.getRawContacts()) {
- List<DataItem> data = rawContact.getDataItems();
- for(DataItem item : data) {
- if (item instanceof PhoneDataItem) {
- PhoneDataItem phoneDataItem = (PhoneDataItem) item;
- String number = phoneDataItem.getNumber();
- toggleBlacklistStatus(number, true /*block contact*/);
-
- if (notifyLookupProvider && mIsProviderInitialized &&
- mLookupProvider.supportsSpamReporting()) {
- String formattedNumber = PhoneNumberHelper.formatPhoneNumber(mContext,
- number);
- mLookupProvider.markAsSpam(formattedNumber);
- }
- }
- }
- }
-
+ applyBlockOperationOnContact(BlockOperation.BLOCK, notifyLookupProvider);
gatherDataInBackground();
}
public void unblockContact(boolean notifyLookupProvider) {
+ applyBlockOperationOnContact(BlockOperation.UNBLOCK, notifyLookupProvider);
+ gatherDataInBackground();
+ }
+
+ public void applyBlockOperationOnContact(BlockOperation blockOperation, boolean notifyLookupProvider) {
+ boolean shouldBlock = blockOperation == BlockOperation.BLOCK;
for (RawContact rawContact : mContact.getRawContacts()) {
List<DataItem> data = rawContact.getDataItems();
for(DataItem item : data) {
if (item instanceof PhoneDataItem) {
PhoneDataItem phoneDataItem = (PhoneDataItem) item;
String number = phoneDataItem.getNumber();
- toggleBlacklistStatus(number, false /*unblock contact*/);
+ toggleBlacklistStatus(number, shouldBlock);
if (notifyLookupProvider && mIsProviderInitialized &&
mLookupProvider.supportsSpamReporting()) {
+
String formattedNumber = PhoneNumberHelper.formatPhoneNumber(mContext,
number);
- mLookupProvider.unmarkAsSpam(formattedNumber);
+ switch (blockOperation) {
+ case BLOCK:
+ mLookupProvider.markAsSpam(formattedNumber);
+ break;
+ case UNBLOCK:
+ mLookupProvider.unmarkAsSpam(formattedNumber);
+ }
}
}
}