From 90690d2a8b93e9bb322405d9b029df2bf6d7937e Mon Sep 17 00:00:00 2001 From: Akinobu Nakashima Date: Fri, 19 Jul 2019 13:50:12 +0900 Subject: [PATCH] Fix backward compatibility when there's no secureElementName secureElementName can be unspecified in xml file. If secureElementName is not specified, offHostName is null. Then ApduServiceInfo#isOnHost returns true even if it is off-host because mOnHost is wrongly set to true. Test: manual Bug: 137916987 Change-Id: I52ad1f09d3733fc435a937397fc9a433bd630a46 --- core/java/android/nfc/cardemulation/ApduServiceInfo.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/android/nfc/cardemulation/ApduServiceInfo.java b/core/java/android/nfc/cardemulation/ApduServiceInfo.java index ab0a0ef517c70..a839ec18b9219 100644 --- a/core/java/android/nfc/cardemulation/ApduServiceInfo.java +++ b/core/java/android/nfc/cardemulation/ApduServiceInfo.java @@ -114,7 +114,7 @@ public final class ApduServiceInfo implements Parcelable { * @hide */ @UnsupportedAppUsage - public ApduServiceInfo(ResolveInfo info, String description, + public ApduServiceInfo(ResolveInfo info, boolean onHost, String description, ArrayList staticAidGroups, ArrayList dynamicAidGroups, boolean requiresUnlock, int bannerResource, int uid, String settingsActivityName, String offHost, String staticOffHost) { @@ -124,7 +124,7 @@ public final class ApduServiceInfo implements Parcelable { this.mDynamicAidGroups = new HashMap(); this.mOffHostName = offHost; this.mStaticOffHostName = staticOffHost; - this.mOnHost = (offHost == null); + this.mOnHost = onHost; this.mRequiresDeviceUnlock = requiresUnlock; for (AidGroup aidGroup : staticAidGroups) { this.mStaticAidGroups.put(aidGroup.category, aidGroup); @@ -570,7 +570,7 @@ public final class ApduServiceInfo implements Parcelable { int bannerResource = source.readInt(); int uid = source.readInt(); String settingsActivityName = source.readString(); - return new ApduServiceInfo(info, description, staticAidGroups, + return new ApduServiceInfo(info, onHost, description, staticAidGroups, dynamicAidGroups, requiresUnlock, bannerResource, uid, settingsActivityName, offHostName, staticOffHostName); }