summaryrefslogtreecommitdiff
path: root/InCallUI
diff options
context:
space:
mode:
authorMichael Dooley <mdooley@google.com>2016-03-18 02:42:09 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-03-18 02:42:09 +0000
commit624f6c457596d40eff7756920e315faecaa1e075 (patch)
treee6136b45031c29e02b42c6b900f782b04cb448a7 /InCallUI
parent8196a91d00afb10864d43bc9433bc08b355a03bd (diff)
parent5360a5f1cd8f025020f2ce932602cd1b296dae03 (diff)
Merge "Fixing bug that prevented 'Emergency call' from being displayed" into nyc-dev
Diffstat (limited to 'InCallUI')
-rw-r--r--InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
index 6dbbfc1fb..2839fbbf0 100644
--- a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
+++ b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
@@ -352,12 +352,13 @@ public class CallerInfoAsyncQuery {
@Override
public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
Log.d(LOG_TAG, "contactsProviderQueryCompleteListener done");
- if (ci != null && ci.contactExists) {
- if (listener != null) {
+ // If there are no other directory queries, make sure that the listener is
+ // notified of this result. see b/27621628
+ if ((ci != null && ci.contactExists) ||
+ !startOtherDirectoriesQuery(token, context, info, listener, cookie)) {
+ if (listener != null && ci != null) {
listener.onQueryComplete(token, cookie, ci);
}
- } else {
- startOtherDirectoriesQuery(token, context, info, listener, cookie);
}
}
};
@@ -420,15 +421,13 @@ public class CallerInfoAsyncQuery {
return c;
}
- private static void startOtherDirectoriesQuery(int token, Context context, CallerInfo info,
+ // Return value indicates if listener was notified.
+ private static boolean startOtherDirectoriesQuery(int token, Context context, CallerInfo info,
OnQueryCompleteListener listener, Object cookie) {
long[] directoryIds = getDirectoryIds(context);
int size = directoryIds.length;
if (size == 0) {
- if (listener != null) {
- listener.onQueryComplete(token, cookie, info);
- }
- return;
+ return false;
}
DirectoryQueryCompleteListenerFactory listenerFactory =
@@ -448,6 +447,7 @@ public class CallerInfoAsyncQuery {
listenerFactory.newListener(directoryId);
startQueryInternal(token, context, info, intermediateListener, cookie, uri);
}
+ return true;
}
/* Directory lookup related code - START */