Merge "Support both proprietary and common implementation for Mifare tag reading"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 8821fac..6009074 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -58,7 +58,6 @@
<uses-permission android:name="android.permission.USER_ACTIVITY" />
<uses-permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
- <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
<application android:name=".NfcApplication"
android:icon="@drawable/icon"
diff --git a/src/com/android/nfc/NfcDispatcher.java b/src/com/android/nfc/NfcDispatcher.java
index 36fd48c..a41cd2e 100644
--- a/src/com/android/nfc/NfcDispatcher.java
+++ b/src/com/android/nfc/NfcDispatcher.java
@@ -326,6 +326,7 @@
}
if (provisioningOnly) {
+ StatsLog.write(StatsLog.NFC_TAG_OCCURRED, StatsLog.NFC_TAG_OCCURRED__TYPE__PROVISION);
if (message == null) {
// We only allow NDEF-message dispatch in provisioning mode
return DISPATCH_FAIL;
@@ -337,7 +338,6 @@
Log.e(TAG, "Dropping NFC intent in provisioning mode.");
return DISPATCH_FAIL;
}
- StatsLog.write(StatsLog.NFC_TAG_OCCURRED, StatsLog.NFC_TAG_OCCURRED__TYPE__PROVISION);
}
if (tryNdef(dispatch, message)) {
diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java
index 973cabd..9fad7c1 100644
--- a/src/com/android/nfc/NfcService.java
+++ b/src/com/android/nfc/NfcService.java
@@ -2526,7 +2526,7 @@
}
}
int dispatchResult = mNfcDispatcher.dispatchTag(tag);
- if (dispatchResult == NfcDispatcher.DISPATCH_FAIL) {
+ if (dispatchResult == NfcDispatcher.DISPATCH_FAIL && !mInProvisionMode) {
unregisterObject(tagEndpoint.getHandle());
if (mScreenState == ScreenStateHelper.SCREEN_STATE_ON_UNLOCKED) {
Toast.makeText(mContext,