diff options
author | mike dooley <mdooley@google.com> | 2016-03-17 13:54:27 -0700 |
---|---|---|
committer | mike dooley <mdooley@google.com> | 2016-03-17 15:37:14 -0700 |
commit | 5360a5f1cd8f025020f2ce932602cd1b296dae03 (patch) | |
tree | 01574190efd222400fa12ce97024c1c0478a5929 | |
parent | fb2993167fcb6315c95e9925a1526c36b0bc0602 (diff) |
Fixing bug that prevented 'Emergency call' from being displayed
For some accounts the call info lookup results were not being passed
to the ContactInfoCache, causing the Ui to not display emergency calls
correctly.
Bug: 27621628
Change-Id: Ic4b6e43d7033e4a869bac8435f5abba75bd3d504
-rw-r--r-- | InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java | 18 |
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 */ |