summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/dialer/lookup/LookupProvider.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/com/android/dialer/lookup/LookupProvider.java b/src/com/android/dialer/lookup/LookupProvider.java
index a00915461..97a7bffab 100644
--- a/src/com/android/dialer/lookup/LookupProvider.java
+++ b/src/com/android/dialer/lookup/LookupProvider.java
@@ -128,27 +128,27 @@ public class LookupProvider extends ContentProvider {
String[] selectionArgs, String sortOrder) {
if (DEBUG) Log.v(TAG, "query: " + uri);
+ Location lastLocation = null;
final int match = sURIMatcher.match(uri);
switch (match) {
case NEARBY:
- case PEOPLE:
if (!PermissionsUtil.hasLocationPermissions(getContext())) {
Log.v(TAG, "Location permission is missing, ignoring query.");
return null;
}
-
if (!isLocationEnabled()) {
Log.v(TAG, "Location settings is disabled, ignoring query.");
return null;
}
-
- final Location lastLocation = getLastLocation();
+ lastLocation = getLastLocation();
if (lastLocation == null) {
Log.v(TAG, "No location available, ignoring query.");
return null;
}
+ // fall through to the actual query
+ case PEOPLE:
final String filter = Uri.encode(uri.getLastPathSegment());
String limit = uri.getQueryParameter(ContactsContract.LIMIT_PARAM_KEY);
@@ -162,13 +162,14 @@ public class LookupProvider extends ContentProvider {
Log.e(TAG, "query: invalid limit parameter: '" + limit + "'");
}
+ final Location finalLastLocation = lastLocation;
final int finalMaxResults = maxResults;
return execute(new Callable<Cursor>() {
@Override
public Cursor call() {
return handleFilter(match, projection, filter,
- finalMaxResults, lastLocation);
+ finalMaxResults, finalLastLocation);
}
}, "FilterThread");
}