summaryrefslogtreecommitdiffstats
path: root/src/com/android/dialer/lookup/ReverseLookupThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/dialer/lookup/ReverseLookupThread.java')
-rw-r--r--src/com/android/dialer/lookup/ReverseLookupThread.java144
1 files changed, 0 insertions, 144 deletions
diff --git a/src/com/android/dialer/lookup/ReverseLookupThread.java b/src/com/android/dialer/lookup/ReverseLookupThread.java
deleted file mode 100644
index 31c344265..000000000
--- a/src/com/android/dialer/lookup/ReverseLookupThread.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2014 Xiao-Long Chen <chillermillerlong@hotmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.lookup;
-
-import com.android.contacts.common.GeoUtil;
-import com.android.dialer.calllog.ContactInfo;
-import com.android.incallui.ContactInfoCache;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.os.Handler;
-import android.os.Looper;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-import java.io.IOException;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ExecutorService;
-
-public class ReverseLookupThread extends Thread {
- private static final String TAG = ReverseLookupThread.class.getSimpleName();
-
- private static final ExecutorService mExecutorService =
- Executors.newFixedThreadPool(2);
- private static final Handler mHandler = new Handler(Looper.getMainLooper());
-
- private final Context mContext;
- private final ContactInfoCache.ReverseLookupListener mListener;
- private final String mNormalizedNumber;
- private final String mFormattedNumber;
-
- public static void performLookup(Context context, String number,
- ContactInfoCache.ReverseLookupListener listener) {
- try {
- mExecutorService.execute(
- new ReverseLookupThread(context, number, listener));
- } catch (Exception e) {
- Log.e(TAG, "Failed to perform reverse lookup", e);
- }
- }
-
- private ReverseLookupThread(Context context, String number,
- ContactInfoCache.ReverseLookupListener listener) {
- mContext = context;
- mListener = listener;
- String countryIso = ((TelephonyManager) mContext.getSystemService(
- Context.TELEPHONY_SERVICE)).getSimCountryIso().toUpperCase();
- mNormalizedNumber = PhoneNumberUtils
- .formatNumberToE164(number, countryIso);
- mFormattedNumber = PhoneNumberUtils.formatNumber(number,
- mNormalizedNumber, GeoUtil.getCurrentCountryIso(mContext));
- }
-
- @Override
- public void run() {
- if (!LookupSettings.isReverseLookupEnabled(mContext)) {
- LookupCache.deleteCachedContacts(mContext);
- return;
- }
-
- // Can't do reverse lookup without a number
- if (mNormalizedNumber == null || mFormattedNumber == null) {
- return;
- }
-
- ContactInfo info = null;
-
- if (LookupCache.hasCachedContact(mContext, mNormalizedNumber)) {
- info = LookupCache.getCachedContact(mContext, mNormalizedNumber);
-
- if (ContactInfo.EMPTY.equals(info)) {
- // If we have an empty cached contact, remove it and redo lookup
- LookupCache.deleteCachedContact(mContext, mNormalizedNumber);
- info = null;
- }
- }
-
- // Lookup contact if it's not cached
- if (info == null) {
- try {
- info = ReverseLookup.getInstance(mContext).lookupNumber(mContext,
- mNormalizedNumber, mFormattedNumber);
- } catch (IOException e) {
- // ignored, we'll return below
- }
-
- if (info == null) {
- return;
- }
-
- // Put in cache only if the contact is valid
- if (info.equals(ContactInfo.EMPTY)) {
- return;
- } else if (info.name != null) {
- LookupCache.cacheContact(mContext, info);
- }
- }
-
- final ContactInfo infoFinal = info;
-
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- mListener.onLookupComplete(infoFinal);
- }
- });
-
- if (info.photoUri != null) {
- if (!LookupCache.hasCachedImage(mContext, mNormalizedNumber)) {
- Bitmap bmp = ReverseLookup.getInstance(mContext).lookupImage(
- mContext, info.photoUri);
-
- if (bmp != null) {
- LookupCache.cacheImage(mContext, mNormalizedNumber, bmp);
- }
- }
-
- final Bitmap bmp = LookupCache.getCachedImage(
- mContext, mNormalizedNumber);
-
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- mListener.onImageFetchComplete(bmp);
- }
- });
- }
- }
-}