summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRohit Yengisetty <rohit@cyngn.com>2016-02-23 15:22:56 -0800
committerRohit Yengisetty <rohit@cyngn.com>2016-02-24 15:29:36 -0800
commitbbab6eaf51a59e6079504b734b539a84e37704b1 (patch)
tree69bfee027c370451c8baab2b5be8ff3ad80a9980 /src
parent45827464ae305adc682ea6e3eeb0d579df8f5782 (diff)
downloadandroid_packages_apps_Messaging-bbab6eaf51a59e6079504b734b539a84e37704b1.tar.gz
android_packages_apps_Messaging-bbab6eaf51a59e6079504b734b539a84e37704b1.tar.bz2
android_packages_apps_Messaging-bbab6eaf51a59e6079504b734b539a84e37704b1.zip
Use a hash set to manage listeners in LookupProvider Manager
Change-Id: I9ea01cde99ef49ff39271be455ac696ddf561600
Diffstat (limited to 'src')
-rw-r--r--src/com/cyanogenmod/messaging/lookup/LookupProviderManager.java13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/com/cyanogenmod/messaging/lookup/LookupProviderManager.java b/src/com/cyanogenmod/messaging/lookup/LookupProviderManager.java
index 3adcd5c..b59ff04 100644
--- a/src/com/cyanogenmod/messaging/lookup/LookupProviderManager.java
+++ b/src/com/cyanogenmod/messaging/lookup/LookupProviderManager.java
@@ -30,6 +30,7 @@ import com.cyanogen.lookup.phonenumber.request.LookupRequest;
import com.cyanogen.lookup.phonenumber.response.LookupResponse;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
@@ -53,7 +54,7 @@ public class LookupProviderManager implements Application.ActivityLifecycleCallb
private static final Handler sHandler = new Handler(Looper.getMainLooper());
private Application mApplication;
private ConcurrentHashMap<String, LookupResponse> mPhoneNumberLookupCache;
- private ConcurrentHashMap<String, ArrayList<LookupProviderListener>> mLookupListeners;
+ private ConcurrentHashMap<String, HashSet<LookupProviderListener>> mLookupListeners;
private LookupHandlerThread mLookupHandlerThread;
private boolean mIsPhoneNumberLookupInitialized;
private short mActivityCount = 0;
@@ -69,7 +70,7 @@ public class LookupProviderManager implements Application.ActivityLifecycleCallb
throw new IllegalArgumentException("'application' must not be null!");
}
mPhoneNumberLookupCache = new ConcurrentHashMap<String, LookupResponse>();
- mLookupListeners = new ConcurrentHashMap<String, ArrayList<LookupProviderListener>>();
+ mLookupListeners = new ConcurrentHashMap<String, HashSet<LookupProviderListener>>();
application.registerActivityLifecycleCallbacks(this);
mApplication = application;
}
@@ -119,7 +120,7 @@ public class LookupProviderManager implements Application.ActivityLifecycleCallb
return;
}
if (!mLookupListeners.contains(number)) {
- mLookupListeners.put(number, new ArrayList<LookupProviderListener>());
+ mLookupListeners.put(number, new HashSet<LookupProviderListener>());
}
if (!mLookupListeners.get(number).contains(listener)) { // prevent adding same listener
mLookupListeners.get(number).add(listener);
@@ -137,12 +138,8 @@ public class LookupProviderManager implements Application.ActivityLifecycleCallb
if (TextUtils.isEmpty(number)) {
return;
}
- ArrayList<LookupProviderListener> tmpListenerList;
if (mLookupListeners.containsKey(number)) {
- tmpListenerList = mLookupListeners.get(number);
- if (tmpListenerList != null) {
- tmpListenerList.remove(listener);
- }
+ mLookupListeners.get(number).remove(listener);
}
}