Merge "Changes needed to make Incoming calls work while fbe locked" into ub-contactsdialer-b-dev
am: 45a66c09a9

* commit '45a66c09a96e76fe6b0ecec3390bf0cb88a9dfe1':
  Changes needed to make Incoming calls work while fbe locked
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index f6aa4aa..8d63dc1 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -296,7 +296,8 @@
                   android:launchMode="singleInstance"
                   android:configChanges="keyboardHidden"
                   android:exported="false"
-                  android:screenOrientation="nosensor" >
+                  android:screenOrientation="nosensor"
+                  android:encryptionAware="true">
         </activity>
 
         <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
@@ -304,7 +305,8 @@
                   android:exported="false" />
 
         <service android:name="com.android.incallui.InCallServiceImpl"
-                 android:permission="android.permission.BIND_INCALL_SERVICE" >
+                 android:permission="android.permission.BIND_INCALL_SERVICE"
+                 android:encryptionAware="true">
             <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true" />
             <intent-filter>
                 <action android:name="android.telecom.InCallService"/>
diff --git a/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java b/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java
index 06aca78..ff9b1be 100644
--- a/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java
+++ b/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java
@@ -134,7 +134,7 @@
                 new Listener() {
                     @Override
                     protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
-                        listener.onHasBlockedNumbers(cursor.getCount() > 0);
+                        listener.onHasBlockedNumbers(cursor != null && cursor.getCount() > 0);
                     }
                 },
                 getContentUri(null),
@@ -161,7 +161,7 @@
                 new Listener() {
                     @Override
                     protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
-                        if (cursor.getCount() != 1) {
+                        if (cursor == null || cursor.getCount() != 1) {
                             listener.onCheckComplete(null);
                             return;
                         }
@@ -246,9 +246,10 @@
         startQuery(NO_TOKEN, new Listener() {
             @Override
             public void onQueryComplete(int token, Object cookie, Cursor cursor) {
-                if (cursor.getCount() != 1) {
+                int rowsReturned = cursor == null ? 0 : cursor.getCount();
+                if (rowsReturned != 1) {
                     throw new SQLiteDatabaseCorruptException
-                            ("Returned " + cursor.getCount() + " rows for uri "
+                            ("Returned " + rowsReturned + " rows for uri "
                                     + uri + "where 1 expected.");
                 }
                 cursor.moveToFirst();