diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2023-11-10 15:31:01 +0200 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2023-11-18 00:00:09 +0200 |
commit | 50b56d015d2771543aac50473f99f5c53dd04286 (patch) | |
tree | fb6310f6a7f2593e4cd4c981924ca78192097118 /src/android/jar/src/org/qtproject/qt/android/QtNative.java | |
parent | e35d79d06097095b5578fa282c240e864614ac4f (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.java | 154 |
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 |