From acd331cd15785dda444b1a34f343a42c6b3c89fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tinja=20Paavosepp=C3=A4?= Date: Wed, 29 Jan 2025 12:22:58 +0200 Subject: [PATCH] Android: Update Activity reference to C++ when set There already exists a method to do this, but seems at some point calling it has been dropped. Add a call to update the native reference whenever the reference in Java gets updated. Task-number: QTBUG-130614 Pick-to: 6.9 Change-Id: If9654b504c88340feff2432973f8f9f2eaffa272 Reviewed-by: Assam Boudjelthia --- .../jar/src/org/qtproject/qt/android/QtNative.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtNative.java b/src/android/jar/src/org/qtproject/qt/android/QtNative.java index 9f759b18c7e..b6e17ce6636 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtNative.java @@ -21,6 +21,7 @@ import android.view.Menu; import android.view.View; import java.lang.ref.WeakReference; +import java.lang.UnsatisfiedLinkError; import java.security.KeyStore; import java.security.cert.X509Certificate; import java.util.ArrayList; @@ -67,6 +68,13 @@ public class QtNative { synchronized (m_mainActivityMutex) { m_activity = new WeakReference<>(qtMainActivity); + try { + updateNativeActivity(); + } catch (UnsatisfiedLinkError ignored) { + // No-op - this happens in certain e.g. QtQuick for Android cases when we set the + // Activity for the first time, before Qt native libraries have been loaded. The + // C++ side will update its reference when the library is loaded. + } } }