Revert "Android: rectify the visibility of QtAndroid.jar class"

This reverts commit 523cf066285a648b10b277bb1b3b2c7b9d66d464.

Reason for revert: To avoid QTBUG-122456

The revert is done for 6.7 only to avoid such regression before the
release, and that gives us some time on dev to find proper ways to
handle that, since the access restriction still makes sense because
QtNative wasn't proper public API that's documented to start with.

Fixes: QTBUG-122456
Change-Id: I2e175ba170df85b7537be20a8841407f1162c7ba
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
This commit is contained in:
Assam Boudjelthia 2024-02-27 11:17:09 +00:00
parent 474a22b2a7
commit ec41bb4e2b
25 changed files with 36 additions and 27 deletions

View File

@ -2,8 +2,8 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
set(java_sources set(java_sources
src/org/qtproject/qt/android/QtAccessibilityDelegate.java src/org/qtproject/qt/android/accessibility/QtAccessibilityDelegate.java
src/org/qtproject/qt/android/QtNativeAccessibility.java src/org/qtproject/qt/android/accessibility/QtNativeAccessibility.java
src/org/qtproject/qt/android/CursorHandle.java src/org/qtproject/qt/android/CursorHandle.java
src/org/qtproject/qt/android/EditContextView.java src/org/qtproject/qt/android/EditContextView.java
src/org/qtproject/qt/android/EditPopupMenu.java src/org/qtproject/qt/android/EditPopupMenu.java

View File

@ -66,7 +66,7 @@ class CursorView extends ImageView
} }
// Helper class that manages a cursor or selection handle // Helper class that manages a cursor or selection handle
class CursorHandle implements ViewTreeObserver.OnPreDrawListener public class CursorHandle implements ViewTreeObserver.OnPreDrawListener
{ {
private static final String QtTag = "QtCursorHandle"; private static final String QtTag = "QtCursorHandle";
private final View m_layout; private final View m_layout;

View File

@ -17,7 +17,7 @@ import android.widget.TextView;
import java.util.HashMap; import java.util.HashMap;
@SuppressLint("ViewConstructor") @SuppressLint("ViewConstructor")
class EditContextView extends LinearLayout implements View.OnClickListener public class EditContextView extends LinearLayout implements View.OnClickListener
{ {
public static final int CUT_BUTTON = 1; public static final int CUT_BUTTON = 1;
public static final int COPY_BUTTON = 1 << 1; public static final int COPY_BUTTON = 1 << 1;

View File

@ -13,7 +13,7 @@ import android.view.ViewTreeObserver;
import android.widget.PopupWindow; import android.widget.PopupWindow;
// Helper class that manages a cursor or selection handle // Helper class that manages a cursor or selection handle
class EditPopupMenu implements ViewTreeObserver.OnPreDrawListener, View.OnLayoutChangeListener, public class EditPopupMenu implements ViewTreeObserver.OnPreDrawListener, View.OnLayoutChangeListener,
EditContextView.OnClickListener EditContextView.OnClickListener
{ {
private final View m_layout; private final View m_layout;

View File

@ -61,7 +61,7 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
class ExtractStyle { public class ExtractStyle {
// This used to be retrieved from android.R.styleable.ViewDrawableStates field via reflection, // This used to be retrieved from android.R.styleable.ViewDrawableStates field via reflection,
// but since the access to that is restricted, we need to have hard-coded here. // but since the access to that is restricted, we need to have hard-coded here.

View File

@ -33,7 +33,9 @@ import android.widget.PopupMenu;
import java.util.HashMap; import java.util.HashMap;
class QtActivityDelegate extends QtActivityDelegateBase import org.qtproject.qt.android.accessibility.QtAccessibilityDelegate;
public class QtActivityDelegate extends QtActivityDelegateBase
{ {
private static final String QtTAG = "QtActivityDelegate"; private static final String QtTAG = "QtActivityDelegate";

View File

@ -33,6 +33,8 @@ import android.widget.PopupMenu;
import java.util.HashMap; import java.util.HashMap;
import org.qtproject.qt.android.accessibility.QtAccessibilityDelegate;
abstract class QtActivityDelegateBase abstract class QtActivityDelegateBase
{ {
protected Activity m_activity; protected Activity m_activity;

View File

@ -22,7 +22,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
class QtActivityLoader extends QtLoader { public class QtActivityLoader extends QtLoader {
private final Activity m_activity; private final Activity m_activity;
public QtActivityLoader(Activity activity) public QtActivityLoader(Activity activity)

View File

@ -14,7 +14,7 @@ import android.view.KeyEvent;
import org.qtproject.qt.android.QtInputConnection.QtInputConnectionListener; import org.qtproject.qt.android.QtInputConnection.QtInputConnectionListener;
class QtEditText extends View public class QtEditText extends View
{ {
int m_initialCapsMode = 0; int m_initialCapsMode = 0;
int m_imeOptions = 0; int m_imeOptions = 0;

View File

@ -21,6 +21,8 @@ import android.view.ViewGroup;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import org.qtproject.qt.android.accessibility.QtAccessibilityDelegate;
class QtEmbeddedDelegate extends QtActivityDelegateBase implements QtNative.AppStateDetailsListener { class QtEmbeddedDelegate extends QtActivityDelegateBase implements QtNative.AppStateDetailsListener {
// TODO simplistic implementation with one QtView, expand to support multiple views QTBUG-117649 // TODO simplistic implementation with one QtView, expand to support multiple views QTBUG-117649
private QtView m_view; private QtView m_view;

View File

@ -54,7 +54,7 @@ class QtNativeInputConnection
static native boolean fullscreenMode(); static native boolean fullscreenMode();
} }
class QtInputConnection extends BaseInputConnection public class QtInputConnection extends BaseInputConnection
{ {
private static final int ID_SELECT_ALL = android.R.id.selectAll; private static final int ID_SELECT_ALL = android.R.id.selectAll;
private static final int ID_CUT = android.R.id.cut; private static final int ID_CUT = android.R.id.cut;

View File

@ -21,8 +21,7 @@ import android.view.inputmethod.InputMethodManager;
import org.qtproject.qt.android.QtInputConnection.QtInputConnectionListener; import org.qtproject.qt.android.QtInputConnection.QtInputConnectionListener;
/** @noinspection FieldCanBeLocal*/ /** @noinspection FieldCanBeLocal*/
class QtInputDelegate implements QtInputConnection.QtInputConnectionListener { public class QtInputDelegate implements QtInputConnection.QtInputConnectionListener {
// keyboard methods // keyboard methods
public static native void keyDown(int key, int unicode, int modifier, boolean autoRepeat); public static native void keyDown(int key, int unicode, int modifier, boolean autoRepeat);
public static native void keyUp(int key, int unicode, int modifier, boolean autoRepeat); public static native void keyUp(int key, int unicode, int modifier, boolean autoRepeat);

View File

@ -14,8 +14,8 @@ import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
class QtLayout extends ViewGroup { public class QtLayout extends ViewGroup
{
public QtLayout(Context context) public QtLayout(Context context)
{ {
super(context); super(context);

View File

@ -28,7 +28,7 @@ import java.util.Objects;
import dalvik.system.DexClassLoader; import dalvik.system.DexClassLoader;
abstract class QtLoader { public abstract class QtLoader {
protected static final String QtTAG = "QtLoader"; protected static final String QtTAG = "QtLoader";

View File

@ -49,7 +49,7 @@ class ButtonStruct implements View.OnClickListener
} }
} }
class QtMessageDialogHelper public class QtMessageDialogHelper
{ {
public QtMessageDialogHelper(Activity activity) public QtMessageDialogHelper(Activity activity)

View File

@ -30,7 +30,7 @@ import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager; import javax.net.ssl.X509TrustManager;
class QtNative public class QtNative
{ {
private static WeakReference<Activity> m_activity = null; private static WeakReference<Activity> m_activity = null;
private static WeakReference<Service> m_service = null; private static WeakReference<Service> m_service = null;

View File

@ -8,7 +8,7 @@ import android.app.Service;
import android.content.ContextWrapper; import android.content.ContextWrapper;
import android.util.Log; import android.util.Log;
class QtServiceLoader extends QtLoader { public class QtServiceLoader extends QtLoader {
private final Service m_service; private final Service m_service;
public QtServiceLoader(Service service) { public QtServiceLoader(Service service) {

View File

@ -12,7 +12,7 @@ import android.view.SurfaceHolder;
import android.view.SurfaceView; import android.view.SurfaceView;
@SuppressLint("ViewConstructor") @SuppressLint("ViewConstructor")
class QtSurface extends SurfaceView implements SurfaceHolder.Callback public class QtSurface extends SurfaceView implements SurfaceHolder.Callback
{ {
private QtSurfaceInterface m_surfaceCallback; private QtSurfaceInterface m_surfaceCallback;

View File

@ -6,7 +6,7 @@ package org.qtproject.qt.android;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.concurrent.Semaphore; import java.util.concurrent.Semaphore;
class QtThread { public class QtThread {
private final ArrayList<Runnable> m_pendingRunnables = new ArrayList<>(); private final ArrayList<Runnable> m_pendingRunnables = new ArrayList<>();
private boolean m_exit = false; private boolean m_exit = false;
private final Thread m_qtThread = new Thread(new Runnable() { private final Thread m_qtThread = new Thread(new Runnable() {

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
package org.qtproject.qt.android; package org.qtproject.qt.android.accessibility;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
@ -22,7 +22,11 @@ import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo; import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
import android.view.accessibility.AccessibilityNodeProvider; import android.view.accessibility.AccessibilityNodeProvider;
class QtAccessibilityDelegate extends View.AccessibilityDelegate import org.qtproject.qt.android.QtActivityDelegate;
import org.qtproject.qt.android.QtNative;
import org.qtproject.qt.android.QtLayout;
public class QtAccessibilityDelegate extends View.AccessibilityDelegate
{ {
private static final String TAG = "Qt A11Y"; private static final String TAG = "Qt A11Y";

View File

@ -1,7 +1,7 @@
// Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
package org.qtproject.qt.android; package org.qtproject.qt.android.accessibility;
import android.graphics.Rect; import android.graphics.Rect;
import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo;

View File

@ -8,7 +8,7 @@ import android.os.Parcel;
import org.qtproject.qt.android.UsedFromNativeCode; import org.qtproject.qt.android.UsedFromNativeCode;
class QtAndroidBinder extends Binder public class QtAndroidBinder extends Binder
{ {
@UsedFromNativeCode @UsedFromNativeCode
public QtAndroidBinder(long id) public QtAndroidBinder(long id)

View File

@ -9,7 +9,7 @@ import android.os.IBinder;
import org.qtproject.qt.android.UsedFromNativeCode; import org.qtproject.qt.android.UsedFromNativeCode;
class QtAndroidServiceConnection implements ServiceConnection public class QtAndroidServiceConnection implements ServiceConnection
{ {
@UsedFromNativeCode @UsedFromNativeCode
public QtAndroidServiceConnection(long id) public QtAndroidServiceConnection(long id)

View File

@ -6,7 +6,7 @@ package org.qtproject.qt.android.extras;
import android.os.IBinder; import android.os.IBinder;
import android.os.Parcel; import android.os.Parcel;
class QtNative { public class QtNative {
// Binder // Binder
public static native boolean onTransact(long id, int code, Parcel data, Parcel reply, int flags); public static native boolean onTransact(long id, int code, Parcel data, Parcel reply, int flags);

View File

@ -569,7 +569,7 @@ namespace QtAndroidAccessibility
bool registerNatives(QJniEnvironment &env) bool registerNatives(QJniEnvironment &env)
{ {
if (!env.registerNativeMethods("org/qtproject/qt/android/QtNativeAccessibility", if (!env.registerNativeMethods("org/qtproject/qt/android/accessibility/QtNativeAccessibility",
methods, sizeof(methods) / sizeof(methods[0]))) { methods, sizeof(methods) / sizeof(methods[0]))) {
__android_log_print(ANDROID_LOG_FATAL,"Qt A11y", "RegisterNatives failed"); __android_log_print(ANDROID_LOG_FATAL,"Qt A11y", "RegisterNatives failed");
return false; return false;