From 6e7b750791eca9f7502d50ca320a48ad6bcca0d9 Mon Sep 17 00:00:00 2001 From: Mike Achtelik Date: Tue, 21 Jul 2020 15:32:19 +0200 Subject: Use ApplicationInfo to get metaData Since the load*Libraries functions might also be invoked when using an android service, where no activity is present, we can't rely on the activity to get the metaData. Pick-to: 5.15 Change-Id: I493c68591dbcfbe3063971cfd9ab384df71d03d7 Reviewed-by: Assam Boudjelthia --- src/android/jar/src/org/qtproject/qt5/android/QtNative.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/android') diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java index 990b2792d7..8d0777e5bc 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java @@ -54,7 +54,7 @@ import android.content.Context; import android.content.ContentResolver; import android.content.Intent; import android.content.pm.PackageManager; -import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; import android.content.UriPermission; import android.net.Uri; import android.os.Build; @@ -448,8 +448,8 @@ public class QtNative if (!f.exists()) { Log.i(QtTAG, "Can't find '" + f.getAbsolutePath()); try { - ActivityInfo info = m_activity.getPackageManager().getActivityInfo(m_activity.getComponentName(), - PackageManager.GET_META_DATA); + ApplicationInfo info = getContext().getApplicationContext().getPackageManager() + .getApplicationInfo(getContext().getPackageName(), PackageManager.GET_META_DATA); String systemLibraryDir = QtNativeLibrariesDir.systemLibrariesDir; if (info.metaData.containsKey("android.app.system_libs_prefix")) systemLibraryDir = info.metaData.getString("android.app.system_libs_prefix"); @@ -482,8 +482,8 @@ public class QtNative File f = new File(nativeLibraryDir + mainLibNameTemplate); if (!f.exists()) { try { - ActivityInfo info = m_activity.getPackageManager().getActivityInfo(m_activity.getComponentName(), - PackageManager.GET_META_DATA); + ApplicationInfo info = getContext().getApplicationContext().getPackageManager() + .getApplicationInfo(getContext().getPackageName(), PackageManager.GET_META_DATA); String systemLibraryDir = QtNativeLibrariesDir.systemLibrariesDir; if (info.metaData.containsKey("android.app.system_libs_prefix")) systemLibraryDir = info.metaData.getString("android.app.system_libs_prefix"); -- cgit v1.2.3