summaryrefslogtreecommitdiffstats
path: root/info_lookup
diff options
context:
space:
mode:
authorMartin Brabham <optedoblivion@cyngn.com>2015-10-05 08:08:20 -0700
committerRohit Yengisetty <rohit@cyngn.com>2015-11-18 11:09:24 -0800
commit80ad19be4ff74fd47f8ab13215823d48ef5a1c05 (patch)
tree3b641a5af5b9ada5ea87c13baee7a424f3630ec4 /info_lookup
parent155037461c086cb1f545955ca1ff1320fe45ae34 (diff)
downloadandroid_packages_apps_ContactsCommon-80ad19be4ff74fd47f8ab13215823d48ef5a1c05.tar.gz
android_packages_apps_ContactsCommon-80ad19be4ff74fd47f8ab13215823d48ef5a1c05.tar.bz2
android_packages_apps_ContactsCommon-80ad19be4ff74fd47f8ab13215823d48ef5a1c05.zip
Shim in mark as spam api
Change-Id: I77cd6741befa949a6938a0ba118a0f196a0045b3 Ticket-Id: MMS-158
Diffstat (limited to 'info_lookup')
-rw-r--r--info_lookup/src/com/cyanogen/lookup/phonenumber/LookupHandlerThread.java34
-rw-r--r--info_lookup/src/com/cyanogen/lookup/phonenumber/contract/LookupProvider.java7
-rw-r--r--info_lookup/src/com/cyanogen/lookup/phonenumber/provider/LookupProviderImpl.java6
3 files changed, 44 insertions, 3 deletions
diff --git a/info_lookup/src/com/cyanogen/lookup/phonenumber/LookupHandlerThread.java b/info_lookup/src/com/cyanogen/lookup/phonenumber/LookupHandlerThread.java
index 4a594f3a..01b479ea 100644
--- a/info_lookup/src/com/cyanogen/lookup/phonenumber/LookupHandlerThread.java
+++ b/info_lookup/src/com/cyanogen/lookup/phonenumber/LookupHandlerThread.java
@@ -4,6 +4,8 @@ import android.content.Context;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
+import android.text.TextUtils;
+import android.util.Log;
import com.cyanogen.lookup.phonenumber.provider.LookupProviderImpl;
import com.cyanogen.lookup.phonenumber.request.LookupRequest;
@@ -12,6 +14,8 @@ import java.util.HashSet;
public class LookupHandlerThread extends HandlerThread implements Handler.Callback {
private static final int MSG_FETCH_INFO = 0;
+ private static final int MSG_MARK_AS_SPAM = 1;
+ private static final String TAG = LookupHandlerThread.class.getSimpleName();
private Context mContext;
private Handler mHandler;
@@ -41,6 +45,8 @@ public class LookupHandlerThread extends HandlerThread implements Handler.Callba
mSubmittedRequests = new HashSet<>();
start();
mHandler = new Handler(getLooper(), this);
+ } else {
+ Log.w(TAG, "Failed to initialize!");
}
return mInitialized;
@@ -72,15 +78,39 @@ public class LookupHandlerThread extends HandlerThread implements Handler.Callba
return false;
}
+ /**
+ * Posts a message to {@link #mHandler} which later dispatches a request to the provider
+ * implementation that knows how to mark a phone number as spam
+ *
+ * @param phoneNumber {@link String}
+ */
+ public void markAsSpam(String phoneNumber) {
+ if (TextUtils.isEmpty(phoneNumber)) {
+ return;
+ }
+ if (mHandler != null) {
+ Message msg = mHandler.obtainMessage(MSG_MARK_AS_SPAM);
+ msg.obj = phoneNumber;
+ mHandler.sendMessage(msg);
+ } else {
+ Log.w(TAG, "No handler!");
+ }
+ }
+
@Override
public boolean handleMessage(Message msg) {
int what = msg.what;
- LookupRequest lookupRequest = (LookupRequest) msg.obj;
switch (what) {
case MSG_FETCH_INFO :
if (mInitialized) {
- mLookupProvider.fetchInfo(lookupRequest);
+ mLookupProvider.fetchInfo((LookupRequest) msg.obj);
+ }
+ break;
+ case MSG_MARK_AS_SPAM :
+ if (mInitialized) {
+ mLookupProvider.markAsSpam((String) msg.obj);
}
+ break;
}
return true;
}
diff --git a/info_lookup/src/com/cyanogen/lookup/phonenumber/contract/LookupProvider.java b/info_lookup/src/com/cyanogen/lookup/phonenumber/contract/LookupProvider.java
index 9b52453e..524e4cb2 100644
--- a/info_lookup/src/com/cyanogen/lookup/phonenumber/contract/LookupProvider.java
+++ b/info_lookup/src/com/cyanogen/lookup/phonenumber/contract/LookupProvider.java
@@ -28,6 +28,11 @@ public interface LookupProvider {
* Explicit call to disable provider and free resources
*/
void disable();
-
+
+ /**
+ * Interface to provide ability to flag a phone number as spam
+ */
+ void markAsSpam(String phoneNumber);
+
}
diff --git a/info_lookup/src/com/cyanogen/lookup/phonenumber/provider/LookupProviderImpl.java b/info_lookup/src/com/cyanogen/lookup/phonenumber/provider/LookupProviderImpl.java
index 37b56017..5056673c 100644
--- a/info_lookup/src/com/cyanogen/lookup/phonenumber/provider/LookupProviderImpl.java
+++ b/info_lookup/src/com/cyanogen/lookup/phonenumber/provider/LookupProviderImpl.java
@@ -35,4 +35,10 @@ public class LookupProviderImpl implements LookupProvider {
/* NOT a valid implementation */
return false;
}
+
+ @Override
+ public void markAsSpam(String phoneNumber) {
+ /* NOT IMPLEMENTED */
+ }
+
}