summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt/android/QtNative.java
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2023-11-10 15:31:01 +0200
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2023-11-18 00:00:09 +0200
commit50b56d015d2771543aac50473f99f5c53dd04286 (patch)
treefb6310f6a7f2593e4cd4c981924ca78192097118 /src/android/jar/src/org/qtproject/qt/android/QtNative.java
parente35d79d06097095b5578fa282c240e864614ac4f (diff)
Android: cleanup up warnings in QtNative code
few cosmetic changes, and warning fixes in QtNative code. Task-number: QTBUG-118077 Change-Id: I0b064b59005f3cd50cf56221ce2287d72842a65c Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt/android/QtNative.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtNative.java154
1 files changed, 60 insertions, 94 deletions
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 b8d5978536..ab2042dc05 100644
--- a/src/android/jar/src/org/qtproject/qt/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt/android/QtNative.java
@@ -4,72 +4,46 @@
package org.qtproject.qt.android;
-import java.io.File;
-import java.io.FileDescriptor;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Objects;
-import java.util.concurrent.Semaphore;
-
import android.app.Activity;
import android.app.Service;
import android.content.Context;
-import android.content.ContentResolver;
import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ApplicationInfo;
import android.content.UriPermission;
+import android.content.pm.PackageManager;
import android.net.Uri;
-import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
-import android.system.Os;
-import android.os.ParcelFileDescriptor;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.View;
-import android.view.InputDevice;
-import android.view.Display;
-import android.hardware.display.DisplayManager;
-import android.database.Cursor;
-import android.provider.DocumentsContract;
-import java.lang.reflect.Method;
import java.security.KeyStore;
import java.security.cert.X509Certificate;
-import java.util.Iterator;
+import java.util.ArrayList;
import java.util.List;
-import javax.net.ssl.TrustManagerFactory;
+import java.util.Objects;
+
import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
-import android.util.Size;
-import android.util.DisplayMetrics;
-import android.view.WindowManager;
-import android.view.WindowMetrics;
-import android.graphics.Rect;
-
public class QtNative
{
- // TODO get rid of the delegation from QtNative, call directly the Activity in c++
private static Activity m_activity = null;
private static boolean m_activityPaused = false;
private static Service m_service = null;
- public static Object m_mainActivityMutex = new Object(); // mutex used to synchronize runnable operations
+ public static final Object m_mainActivityMutex = new Object(); // mutex used to synchronize runnable operations
- public static final String QtTAG = "Qt JAVA"; // string used for Log.x
- private static ArrayList<Runnable> m_lostActions = new ArrayList<Runnable>(); // a list containing all actions which could not be performed (e.g. the main activity is destroyed, etc.)
- private static boolean m_started = false;
+ public static final String QtTAG = "Qt JAVA";
- private static final int m_moveThreshold = 0;
- private static Method m_checkSelfPermissionMethod = null;
+ // a list containing all actions which could not be performed (e.g. the main activity is destroyed, etc.)
+ private static final ArrayList<Runnable> m_lostActions = new ArrayList<>();
+ private static boolean m_started = false;
public static QtThread m_qtThread = new QtThread();
-
- private static final String INVALID_OR_NULL_URI_ERROR_MESSAGE = "Received invalid/null Uri";
+ private static ClassLoader m_classLoader = null;
private static final Runnable runPendingCppRunnablesRunnable = new Runnable() {
@Override
@@ -85,7 +59,6 @@ public class QtNative
return m_started && (hasActivity || hasService);
}
- private static ClassLoader m_classLoader = null;
public static ClassLoader classLoader()
{
return m_classLoader;
@@ -96,6 +69,20 @@ public class QtNative
m_classLoader = classLoader;
}
+ public static void setActivity(Activity qtMainActivity)
+ {
+ synchronized (m_mainActivityMutex) {
+ m_activity = qtMainActivity;
+ }
+ }
+
+ public static void setService(Service qtMainService)
+ {
+ synchronized (m_mainActivityMutex) {
+ m_service = qtMainService;
+ }
+ }
+
public static Activity activity()
{
synchronized (m_mainActivityMutex) {
@@ -110,6 +97,12 @@ public class QtNative
}
}
+ public static Context getContext() {
+ if (m_activity != null)
+ return m_activity;
+ return m_service;
+ }
+
public static String[] getStringArray(String joinedString)
{
return joinedString.split(",");
@@ -134,7 +127,7 @@ public class QtNative
String scheme = parsedUri.getScheme();
// We only want to check permissions for content Uris
- if (scheme.compareTo("content") != 0)
+ if (scheme != null && scheme.compareTo("content") != 0)
return parsedUri;
List<UriPermission> permissions = context.getContentResolver().getPersistedUriPermissions();
@@ -147,7 +140,7 @@ public class QtNative
if (!openMode.equals("r"))
isRequestPermission = permissions.get(i).isWritePermission();
- if (iterUri.getPath().equals(uriStr) && isRequestPermission)
+ if (Objects.equals(iterUri.getPath(), uriStr) && isRequestPermission)
return iterUri;
}
@@ -156,7 +149,7 @@ public class QtNative
// and check for SecurityExceptions later
return parsedUri;
} catch (SecurityException e) {
- Log.e(QtTAG, getCurrentMethodNameLog() + e.toString());
+ Log.e(QtTAG, getCurrentMethodNameLog() + e);
return parsedUri;
}
}
@@ -165,7 +158,7 @@ public class QtNative
{
final Uri uri = getUriWithValidPermission(context, url, "r");
if (uri == null) {
- Log.e(QtTAG, getCurrentMethodNameLog() + INVALID_OR_NULL_URI_ERROR_MESSAGE);
+ Log.e(QtTAG, getCurrentMethodNameLog() + "received invalid/null Uri");
return false;
}
@@ -179,7 +172,7 @@ public class QtNative
return true;
} catch (Exception e) {
- Log.e(QtTAG, getCurrentMethodNameLog() + e.toString());
+ Log.e(QtTAG, getCurrentMethodNameLog() + e);
return false;
}
}
@@ -188,34 +181,16 @@ public class QtNative
return m_qtThread;
}
- public static void setActivity(Activity qtMainActivity)
- {
- synchronized (m_mainActivityMutex) {
- m_activity = qtMainActivity;
- }
- }
-
- public static void setService(Service qtMainService)
- {
- synchronized (m_mainActivityMutex) {
- m_service = qtMainService;
- }
- }
-
public static void setApplicationState(int state)
{
synchronized (m_mainActivityMutex) {
- switch (state) {
- case QtConstants.ApplicationState.ApplicationActive:
- m_activityPaused = false;
- Iterator<Runnable> itr = m_lostActions.iterator();
- while (itr.hasNext())
- runAction(itr.next());
- m_lostActions.clear();
- break;
- default:
- m_activityPaused = true;
- break;
+ if (state == QtConstants.ApplicationState.ApplicationActive) {
+ m_activityPaused = false;
+ for (Runnable mLostAction : m_lostActions)
+ runAction(mLostAction);
+ m_lostActions.clear();
+ } else {
+ m_activityPaused = true;
}
}
updateApplicationState(state);
@@ -227,7 +202,7 @@ public class QtNative
final Looper mainLooper = Looper.getMainLooper();
final Handler handler = new Handler(mainLooper);
final boolean active = (m_activity != null && !m_activityPaused) || m_service != null;
- if (!active || mainLooper == null || !handler.post(action))
+ if (!active || !handler.post(action))
m_lostActions.add(action);
}
}
@@ -287,16 +262,6 @@ public class QtNative
return res[0];
}
- // application methods
- public static native boolean startQtAndroidPlugin(String params);
- public static native void startQtApplication();
- public static native void waitForServiceSetup();
- public static native void quitQtCoreApplication();
- public static native void quitQtAndroidPlugin();
- public static native void terminateQt();
- public static native boolean updateNativeActivity();
- // application methods
-
public static void quitApp()
{
runAction(new Runnable() {
@@ -313,27 +278,18 @@ public class QtNative
});
}
- public static Context getContext() {
- if (m_activity != null)
- return m_activity;
- return m_service;
- }
-
public static int checkSelfPermission(String permission)
{
- int perm = PackageManager.PERMISSION_DENIED;
synchronized (m_mainActivityMutex) {
Context context = getContext();
PackageManager pm = context.getPackageManager();
- perm = pm.checkPermission(permission, context.getPackageName());
+ return pm.checkPermission(permission, context.getPackageName());
}
-
- return perm;
}
private static byte[][] getSSLCertificates()
{
- ArrayList<byte[]> certificateList = new ArrayList<byte[]>();
+ ArrayList<byte[]> certificateList = new ArrayList<>();
try {
TrustManagerFactory factory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
@@ -344,7 +300,7 @@ public class QtNative
X509TrustManager trustManager = (X509TrustManager) manager;
for (X509Certificate certificate : trustManager.getAcceptedIssuers()) {
- byte buffer[] = certificate.getEncoded();
+ byte[] buffer = certificate.getEncoded();
certificateList.add(buffer);
}
}
@@ -360,10 +316,10 @@ public class QtNative
private static String[] listAssetContent(android.content.res.AssetManager asset, String path) {
String [] list;
- ArrayList<String> res = new ArrayList<String>();
+ ArrayList<String> res = new ArrayList<>();
try {
list = asset.list(path);
- if (list.length > 0) {
+ if (list != null) {
for (String file : list) {
try {
String[] isDir = asset.list(path.length() > 0 ? path + "/" + file : file);
@@ -378,9 +334,19 @@ public class QtNative
} catch (Exception e) {
e.printStackTrace();
}
- return res.toArray(new String[res.size()]);
+ return res.toArray(new String[0]);
}
+ // application methods
+ public static native boolean startQtAndroidPlugin(String params);
+ public static native void startQtApplication();
+ public static native void waitForServiceSetup();
+ public static native void quitQtCoreApplication();
+ public static native void quitQtAndroidPlugin();
+ public static native void terminateQt();
+ public static native boolean updateNativeActivity();
+ // application methods
+
// surface methods
public static native void setSurface(int id, Object surface, int w, int h);
// surface methods