summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Schmertmann <Lars.Schmertmann@governikus.de>2017-03-16 10:56:48 +0100
committerLars Schmertmann <lars.schmertmann@governikus.de>2017-03-16 12:52:45 +0000
commit51914eff36cb99823757bf2c970df46081351d32 (patch)
tree863a6af10a19a29ba15cd88d6d9a3a36493e2ea7
parent39cb3e11bc703d0da8a5a15d271efa6b9284b0eb (diff)
NFC on Android: Fix crash on restart of an app in debug buildv5.9.0-beta1
Task-number: QTBUG-59343 Change-Id: Ib474db8e9a8d38b3d5668499f838cb8d38e10625 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/nfc/android/androidjninfc.cpp1
-rw-r--r--src/nfc/qnearfieldtarget_android.cpp4
2 files changed, 4 insertions, 1 deletions
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<jstring>());
- 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<jobject>());