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) {