Switch to AsyncQueryHandler to NoNullAsyncQueryHandler.

To prevent random null cursors, changed all usages of AsyncQueryHandler to
NoNullAsyncQueryHandler.

Bug: 7012260
Change-Id: I0c3d9593a7b68eb0220a444a21f27b6282f94e07
diff --git a/src/com/android/dialer/CallDetailActivityQueryHandler.java b/src/com/android/dialer/CallDetailActivityQueryHandler.java
index 08510f9..ecbbac1 100644
--- a/src/com/android/dialer/CallDetailActivityQueryHandler.java
+++ b/src/com/android/dialer/CallDetailActivityQueryHandler.java
@@ -16,7 +16,6 @@
 
 package com.android.dialer;
 
-import android.content.AsyncQueryHandler;
 import android.database.Cursor;
 import android.net.Uri;
 import android.provider.VoicemailContract.Status;
@@ -24,12 +23,13 @@
 import android.util.Log;
 
 import com.android.common.io.MoreCloseables;
+import com.android.contacts.common.database.NoNullCursorAsyncQueryHandler;
 import com.android.dialer.voicemail.VoicemailStatusHelperImpl;
 
 /**
  * Class used by {@link CallDetailActivity} to fire async content resolver queries.
  */
-public class CallDetailActivityQueryHandler extends AsyncQueryHandler {
+public class CallDetailActivityQueryHandler extends NoNullCursorAsyncQueryHandler {
     private static final String TAG = "CallDetail";
     private static final int QUERY_VOICEMAIL_CONTENT_TOKEN = 101;
     private static final int QUERY_VOICEMAIL_STATUS_TOKEN = 102;
@@ -63,7 +63,8 @@
     }
 
     @Override
-    protected synchronized void onQueryComplete(int token, Object cookie, Cursor cursor) {
+    protected synchronized void onNotNullableQueryComplete(int token, Object cookie,
+            Cursor cursor) {
         try {
             if (token == QUERY_VOICEMAIL_CONTENT_TOKEN) {
                 // Query voicemail status only if this voicemail record does not have audio.