Merge "Fix NPE in isForegroundAllowedLocked()"
diff --git a/src/com/android/nfc/cardemulation/PreferredServices.java b/src/com/android/nfc/cardemulation/PreferredServices.java
index c550c56..01fe229 100644
--- a/src/com/android/nfc/cardemulation/PreferredServices.java
+++ b/src/com/android/nfc/cardemulation/PreferredServices.java
@@ -206,7 +206,7 @@
             // preferences.
             if (mForegroundCurrent != null) {
                 if (!isForegroundAllowedLocked(mForegroundCurrent))  {
-                    Log.d(TAG, "Removing foreground preferred service because of conflict.");
+                    Log.d(TAG, "Removing foreground preferred service.");
                     mForegroundRequested = null;
                     mForegroundUid = -1;
                     changed = true;
@@ -229,6 +229,10 @@
         }
         ApduServiceInfo serviceInfo = mServiceCache.getService(ActivityManager.getCurrentUser(),
                 service);
+        if (serviceInfo == null) {
+            Log.d(TAG, "Requested foreground service unexpectedly removed");
+            return false;
+        }
         // Do some sanity checking
         if (!mPaymentDefaults.preferForeground) {
             // Foreground apps are not allowed to override payment default
@@ -281,7 +285,7 @@
                     success = false;
                 }
             } else {
-                Log.e(TAG, "Requested foreground service conflicts with default payment app.");
+                Log.e(TAG, "Requested foreground service conflicts or was removed.");
             }
         }
         if (success) {