From 51914eff36cb99823757bf2c970df46081351d32 Mon Sep 17 00:00:00 2001 From: Lars Schmertmann Date: Thu, 16 Mar 2017 10:56:48 +0100 Subject: NFC on Android: Fix crash on restart of an app in debug build Task-number: QTBUG-59343 Change-Id: Ib474db8e9a8d38b3d5668499f838cb8d38e10625 Reviewed-by: Alex Blasche --- src/nfc/android/androidjninfc.cpp | 1 - src/nfc/qnearfieldtarget_android.cpp | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nfc/android/androidjninfc.cpp b/src/nfc/android/androidjninfc.cpp index 4adb6f21..f21d3b08 100644 --- a/src/nfc/android/androidjninfc.cpp +++ b/src/nfc/android/androidjninfc.cpp @@ -88,7 +88,6 @@ QAndroidJniObject getTag(const QAndroidJniObject &intent) { QAndroidJniObject extraTag = QAndroidJniObject::getStaticObjectField("android/nfc/NfcAdapter", "EXTRA_TAG", "Ljava/lang/String;"); QAndroidJniObject tag = intent.callObjectMethod("getParcelableExtra", "(Ljava/lang/String;)Landroid/os/Parcelable;", extraTag.object()); - Q_ASSERT_X(tag.isValid(), "getTag", "could not get Tag object"); return tag; } diff --git a/src/nfc/qnearfieldtarget_android.cpp b/src/nfc/qnearfieldtarget_android.cpp index 04718fc5..50c5c1b3 100644 --- a/src/nfc/qnearfieldtarget_android.cpp +++ b/src/nfc/qnearfieldtarget_android.cpp @@ -401,6 +401,8 @@ void NearFieldTarget::updateTechList() // Getting tech list QAndroidJniEnvironment env; QAndroidJniObject tag = AndroidNfc::getTag(m_intent); + Q_ASSERT_X(tag.isValid(), "updateTechList", "could not get Tag object"); + QAndroidJniObject techListArray = tag.callObjectMethod("getTechList", "()[Ljava/lang/String;"); if (!techListArray.isValid()) { handleTargetLost(); @@ -493,6 +495,8 @@ QAndroidJniObject NearFieldTarget::getTagTechnology(const QString &tech) const // Getting requested technology QAndroidJniObject tag = AndroidNfc::getTag(m_intent); + Q_ASSERT_X(tag.isValid(), "getTagTechnology", "could not get Tag object"); + const QString sig = QString::fromUtf8("(Landroid/nfc/Tag;)L%1;"); QAndroidJniObject tagTech = QAndroidJniObject::callStaticObjectMethod(techClass.toUtf8().constData(), "get", sig.arg(techClass).toUtf8().constData(), tag.object()); -- cgit v1.2.3