diff options
author | Martin Brabham <optedoblivion@cyngn.com> | 2015-10-05 08:08:20 -0700 |
---|---|---|
committer | Rohit Yengisetty <rohit@cyngn.com> | 2015-11-18 11:09:24 -0800 |
commit | 80ad19be4ff74fd47f8ab13215823d48ef5a1c05 (patch) | |
tree | 3b641a5af5b9ada5ea87c13baee7a424f3630ec4 /info_lookup | |
parent | 155037461c086cb1f545955ca1ff1320fe45ae34 (diff) | |
download | android_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')
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 */ + } + } |