Commit 51914eff authored by Lars Schmertmann's avatar Lars Schmertmann Committed by Lars Schmertmann
Browse files

NFC on Android: Fix crash on restart of an app in debug build


Task-number: QTBUG-59343
Change-Id: Ib474db8e9a8d38b3d5668499f838cb8d38e10625
Reviewed-by: default avatarAlex Blasche <alexander.blasche@qt.io>
Showing with 4 additions and 1 deletion
......@@ -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;
}
......
......@@ -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>());
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment