diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-06-02 13:31:15 -0700 |
---|---|---|
committer | Brint E. Kriebel <bekit@cyngn.com> | 2014-06-02 21:34:48 +0000 |
commit | 1d04f2e621c70f6b8158d46fdba48173654711ff (patch) | |
tree | 0101948fdc649028ba92b006dfde0b796537288a | |
parent | 6c14630f61e4f3e2b4a1f66d1b429c94197a92e9 (diff) | |
download | android_packages_apps_Dialer-1d04f2e621c70f6b8158d46fdba48173654711ff.tar.gz android_packages_apps_Dialer-1d04f2e621c70f6b8158d46fdba48173654711ff.tar.bz2 android_packages_apps_Dialer-1d04f2e621c70f6b8158d46fdba48173654711ff.zip |
ReverseLookup: Don't return OpenCNAM errors as caller IDs
Skip the API entirely for non-US numbers, and ignore any non-200
bodies to avoid names of the "Limit Exceeded" variety
PS2: Use constant from HttpStatus and don't check for null on normalizedNumber
Change-Id: I1ea107ba828e6dba44fa0828ad5fedecb8faf4de
(cherry picked from commit 50cc4c8615d99e92a481981289ff9a7ec83b4c04)
-rw-r--r-- | src/com/android/dialer/lookup/opencnam/OpenCnamReverseLookup.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/dialer/lookup/opencnam/OpenCnamReverseLookup.java b/src/com/android/dialer/lookup/opencnam/OpenCnamReverseLookup.java index d5661ee5e..a893b5bd1 100644 --- a/src/com/android/dialer/lookup/opencnam/OpenCnamReverseLookup.java +++ b/src/com/android/dialer/lookup/opencnam/OpenCnamReverseLookup.java @@ -29,6 +29,7 @@ import android.util.Pair; import android.provider.ContactsContract.CommonDataKinds.Phone; +import org.apache.commons.httpclient.HttpStatus; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; @@ -64,6 +65,11 @@ public class OpenCnamReverseLookup extends ReverseLookup { public Pair<ContactInfo, Object> lookupNumber(Context context, String normalizedNumber, String formattedNumber) { String displayName; + + if (normalizedNumber.startsWith("+") &&!normalizedNumber.startsWith("+1")) { + // Any non-US number will return "We currently accept only US numbers" + return null; + } try { displayName = httpGetRequest(context, normalizedNumber); if (DEBUG) Log.d(TAG, "Reverse lookup returned name: " + displayName); @@ -125,6 +131,10 @@ public class OpenCnamReverseLookup extends ReverseLookup { HttpResponse response = client.execute(request); + if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { + throw new IOException(); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); response.getEntity().writeTo(out); |