Android: fix few deprecation and wrong code usage warnings

* Some more leftover unused imports.
* Deprecated API, especially reflection warnings.
* Some unused method parameters warnings.

Task-number: QTBUG-118077
Change-Id: Ic9b7d5b69ef64aaf640bc9f53a13428f1c49278c
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
This commit is contained in:
Assam Boudjelthia 2023-11-17 11:12:45 +02:00
parent 64fe6d836c
commit 41765ef3e2
15 changed files with 131 additions and 119 deletions

View File

@ -3,6 +3,7 @@
package org.qtproject.qt.android;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
@ -16,10 +17,11 @@ import android.widget.ImageView;
import android.widget.PopupWindow;
/* This view represents one of the handle (selection or cursor handle) */
@SuppressLint("ViewConstructor")
class CursorView extends ImageView
{
private final CursorHandle mHandle;
// The coordinare which where clicked
// The coordinate which where clicked
private float m_offsetX;
private float m_offsetY;
private boolean m_pressed = false;
@ -49,7 +51,7 @@ class CursorView extends ImageView
if (!m_pressed)
return false;
mHandle.updatePosition(Math.round(ev.getRawX() - m_offsetX),
Math.round(ev.getRawY() - m_offsetY));
Math.round(ev.getRawY() - m_offsetY));
break;
}
@ -60,7 +62,6 @@ class CursorView extends ImageView
}
return true;
}
}
// Helper class that manages a cursor or selection handle
@ -92,27 +93,26 @@ public class CursorHandle implements ViewTreeObserver.OnPreDrawListener
m_rtl = rtl;
}
private boolean initOverlay(){
if (m_popup == null){
private void initOverlay(){
if (m_popup != null)
return;
Context context = m_layout.getContext();
int[] attrs = {m_attr};
TypedArray a = context.getTheme().obtainStyledAttributes(attrs);
Drawable drawable = a.getDrawable(0);
Context context = m_layout.getContext();
int[] attrs = {m_attr};
TypedArray a = context.getTheme().obtainStyledAttributes(attrs);
Drawable drawable = a.getDrawable(0);
m_cursorView = new CursorView(context, this);
m_cursorView.setImageDrawable(drawable);
m_cursorView = new CursorView(context, this);
m_cursorView.setImageDrawable(drawable);
m_popup = new PopupWindow(context, null, android.R.attr.textSelectHandleWindowStyle);
m_popup.setSplitTouchEnabled(true);
m_popup.setClippingEnabled(false);
m_popup.setContentView(m_cursorView);
m_popup.setWidth(drawable.getIntrinsicWidth());
m_popup.setHeight(drawable.getIntrinsicHeight());
m_popup = new PopupWindow(context, null, android.R.attr.textSelectHandleWindowStyle);
m_popup.setSplitTouchEnabled(true);
m_popup.setClippingEnabled(false);
m_popup.setContentView(m_cursorView);
m_popup.setWidth(drawable.getIntrinsicWidth());
m_popup.setHeight(drawable.getIntrinsicHeight());
m_layout.getViewTreeObserver().addOnPreDrawListener(this);
}
return true;
m_layout.getViewTreeObserver().addOnPreDrawListener(this);
}
// Show the handle at a given position (or move it if it is already shown)

View File

@ -4,6 +4,7 @@
package org.qtproject.qt.android;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Point;
import android.text.TextUtils;
@ -12,16 +13,16 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.R;
import java.util.HashMap;
@SuppressLint("ViewConstructor")
public class EditContextView extends LinearLayout implements View.OnClickListener
{
public static final int CUT_BUTTON = 1 << 0;
public static final int CUT_BUTTON = 1;
public static final int COPY_BUTTON = 1 << 1;
public static final int PASTE_BUTTON = 1 << 2;
public static final int SALL_BUTTON = 1 << 3;
public static final int SELECT_ALL_BUTTON = 1 << 3;
HashMap<Integer, ContextButton> m_buttons = new HashMap<>(4);
OnClickListener m_onClickListener;
@ -41,8 +42,10 @@ public class EditContextView extends LinearLayout implements View.OnClickListene
setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 1));
setGravity(Gravity.CENTER);
setTextColor(getResources().getColor(R.color.widget_edittext_dark));
EditContextView.this.setBackground(getResources().getDrawable(R.drawable.editbox_background_normal));
setTextColor(getResources().getColor(
android.R.color.widget_edittext_dark, context.getTheme()));
EditContextView.this.setBackground(getResources().getDrawable(
android.R.drawable.editbox_background_normal, context.getTheme()));
float scale = getResources().getDisplayMetrics().density;
int hPadding = (int)(16 * scale + 0.5f);
int vPadding = (int)(8 * scale + 0.5f);
@ -69,10 +72,21 @@ public class EditContextView extends LinearLayout implements View.OnClickListene
public void updateButtons(int buttonsLayout)
{
m_buttons.get(R.string.cut).setVisibility((buttonsLayout & CUT_BUTTON) != 0 ? View.VISIBLE : View.GONE);
m_buttons.get(R.string.copy).setVisibility((buttonsLayout & COPY_BUTTON) != 0 ? View.VISIBLE : View.GONE);
m_buttons.get(R.string.paste).setVisibility((buttonsLayout & PASTE_BUTTON) != 0 ? View.VISIBLE : View.GONE);
m_buttons.get(R.string.selectAll).setVisibility((buttonsLayout & SALL_BUTTON) != 0 ? View.VISIBLE : View.GONE);
ContextButton button = m_buttons.get(android.R.string.cut);
if (button != null)
button.setVisibility((buttonsLayout & CUT_BUTTON) != 0 ? View.VISIBLE : View.GONE);
button = m_buttons.get(android.R.string.copy);
if (button != null)
button.setVisibility((buttonsLayout & COPY_BUTTON) != 0 ? View.VISIBLE : View.GONE);
button = m_buttons.get(android.R.string.paste);
if (button != null)
button.setVisibility((buttonsLayout & PASTE_BUTTON) != 0 ? View.VISIBLE : View.GONE);
button = m_buttons.get(android.R.string.selectAll);
if (button != null)
button.setVisibility((buttonsLayout & SELECT_ALL_BUTTON) != 0 ? View.VISIBLE : View.GONE);
}
public Point getCalculatedSize()
@ -97,9 +111,9 @@ public class EditContextView extends LinearLayout implements View.OnClickListene
m_onClickListener = onClickListener;
setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
addButton(R.string.cut);
addButton(R.string.copy);
addButton(R.string.paste);
addButton(R.string.selectAll);
addButton(android.R.string.cut);
addButton(android.R.string.copy);
addButton(android.R.string.paste);
addButton(android.R.string.selectAll);
}
}

View File

@ -52,6 +52,7 @@ public class QtActivityBase extends Activity
// Append any parameters to your application,
// the parameters must be "\t" separated.
/** @noinspection unused*/
public void appendApplicationParameters(String params)
{
m_applicationParams += params;

View File

@ -20,13 +20,11 @@ import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowInsetsController;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.PopupMenu;

View File

@ -8,7 +8,6 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;

View File

@ -59,7 +59,7 @@ public class QtClipboardManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
m_clipboardManager.clearPrimaryClip();
} else {
String[] mimeTypes = { ClipDescription.MIMETYPE_UNKNOWN };
String[] mimeTypes = { "application/octet-stream" };
ClipData data = new ClipData("", mimeTypes, new ClipData.Item(new Intent()));
m_clipboardManager.setPrimaryClip(data);
}

View File

@ -125,8 +125,10 @@ public class QtDisplayManager {
case SYSTEM_UI_VISIBILITY_NORMAL:
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setDisplayCutoutLayout(activity,
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
activity.getWindow().getAttributes().layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
}
break;
case SYSTEM_UI_VISIBILITY_FULLSCREEN:
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
@ -138,16 +140,20 @@ public class QtDisplayManager {
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.INVISIBLE;
setDisplayCutoutLayout(activity,
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
activity.getWindow().getAttributes().layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;
}
break;
case SYSTEM_UI_VISIBILITY_TRANSLUCENT:
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setDisplayCutoutLayout(activity,
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
activity.getWindow().getAttributes().layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
}
break;
}
activity.getWindow().getDecorView().setSystemUiVisibility(systemUiVisibilityFlags);
@ -158,12 +164,6 @@ public class QtDisplayManager {
return m_systemUiVisibility;
}
private void setDisplayCutoutLayout(Activity activity, int cutoutLayout)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
activity.getWindow().getAttributes().layoutInDisplayCutoutMode = cutoutLayout;
}
public void updateFullScreen(Activity activity)
{
if (m_systemUiVisibility == SYSTEM_UI_VISIBILITY_FULLSCREEN) {

View File

@ -5,6 +5,7 @@
package org.qtproject.qt.android;
import android.content.Context;
import android.graphics.Canvas;
import android.text.InputType;
import android.view.View;
import android.view.inputmethod.EditorInfo;
@ -68,10 +69,10 @@ public class QtEditText extends View
return new QtInputConnection(this, m_qtInputConnectionListener);
}
// // DEBUG CODE
// @Override
// protected void onDraw(Canvas canvas) {
// canvas.drawARGB(127, 255, 0, 255);
// super.onDraw(canvas);
// }
@Override
protected void onDraw(Canvas canvas) {
// DEBUG CODE
// canvas.drawARGB(127, 255, 0, 255);
super.onDraw(canvas);
}
}

View File

@ -20,6 +20,7 @@ import android.view.inputmethod.InputMethodManager;
import org.qtproject.qt.android.QtInputConnection.QtInputConnectionListener;
/** @noinspection FieldCanBeLocal*/
public class QtInputDelegate {
// keyboard methods

View File

@ -280,7 +280,8 @@ public abstract class QtLoader {
/**
* Returns the application level metadata.
**/
*
* @noinspection SameParameterValue*/
private String getApplicationMetaData(String key) {
if (m_contextInfo == null)
return "";

View File

@ -7,7 +7,6 @@ package org.qtproject.qt.android;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
@ -80,36 +79,18 @@ public class QtMessageDialogHelper
switch (m_standardIcon)
{
case 1: // Information
try {
return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_info,
m_activity.getTheme());
} catch (Exception e) {
e.printStackTrace();
}
break;
return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_info,
m_activity.getTheme());
case 2: // Warning
// try {
// return Class.forName("android.R$drawable").getDeclaredField("stat_sys_warning").getInt(null);
// } catch (Exception e) {
// e.printStackTrace();
// }
return m_activity.getResources().getDrawable(android.R.drawable.stat_sys_warning,
m_activity.getTheme());
// break;
case 3: // Critical
try {
return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_alert,
m_activity.getTheme());
} catch (Exception e) {
e.printStackTrace();
}
break;
return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_alert,
m_activity.getTheme());
case 4: // Question
try {
return m_activity.getResources().getDrawable(android.R.drawable.ic_menu_help,
m_activity.getTheme());
} catch (Exception e) {
e.printStackTrace();
}
break;
return m_activity.getResources().getDrawable(android.R.drawable.ic_menu_help,
m_activity.getTheme());
}
return null;
}
@ -146,9 +127,9 @@ public class QtMessageDialogHelper
m_buttonsList.add(new ButtonStruct(this, id, text));
}
private Drawable getStyledDrawable(String drawable) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException
private Drawable getStyledDrawable(int id)
{
int[] attrs = {Class.forName("android.R$attr").getDeclaredField(drawable).getInt(null)};
int[] attrs = { id };
final TypedArray a = m_theme.obtainStyledAttributes(attrs);
Drawable d = a.getDrawable(0);
a.recycle();
@ -192,9 +173,11 @@ public class QtMessageDialogHelper
view.setLongClickable(true);
view.setText(m_text);
view.setTextAppearance(m_activity, android.R.style.TextAppearance_Medium);
view.setTextAppearance(android.R.style.TextAppearance_Medium);
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layout.setMargins(16, 8, 16, 8);
layout.addRule(RelativeLayout.ALIGN_PARENT_TOP);
dialogLayout.addView(view, layout);
@ -209,9 +192,11 @@ public class QtMessageDialogHelper
view.setLongClickable(true);
view.setText(m_informativeText);
view.setTextAppearance(m_activity, android.R.style.TextAppearance_Medium);
view.setTextAppearance(android.R.style.TextAppearance_Medium);
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layout.setMargins(16, 8, 16, 8);
if (lastView != null)
layout.addRule(RelativeLayout.BELOW, lastView.getId());
@ -229,9 +214,11 @@ public class QtMessageDialogHelper
view.setLongClickable(true);
view.setText(m_detailedText);
view.setTextAppearance(m_activity, android.R.style.TextAppearance_Small);
view.setTextAppearance(android.R.style.TextAppearance_Small);
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layout.setMargins(16, 8, 16, 8);
if (lastView != null)
layout.addRule(RelativeLayout.BELOW, lastView.getId());
@ -251,7 +238,7 @@ public class QtMessageDialogHelper
{
Button bv;
try {
bv = new Button(m_activity, null, Class.forName("android.R$attr").getDeclaredField("borderlessButtonStyle").getInt(null));
bv = new Button(m_activity, null, android.R.attr.borderlessButtonStyle);
} catch (Exception e) {
bv = new Button(m_activity);
e.printStackTrace();
@ -265,7 +252,7 @@ public class QtMessageDialogHelper
try {
LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(1,
RelativeLayout.LayoutParams.MATCH_PARENT);
spacer.setBackgroundDrawable(getStyledDrawable("dividerVertical"));
spacer.setBackground(getStyledDrawable(android.R.attr.dividerVertical));
buttonsLayout.addView(spacer, layout);
} catch (Exception e) {
e.printStackTrace();
@ -279,22 +266,26 @@ public class QtMessageDialogHelper
}
try {
View horizontalDevider = new View(m_activity);
horizontalDevider.setId(id++);
horizontalDevider.setBackgroundDrawable(getStyledDrawable("dividerHorizontal"));
RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 1);
View horizontalDivider = new View(m_activity);
horizontalDivider.setId(id);
horizontalDivider.setBackground(getStyledDrawable(
android.R.attr.dividerHorizontal));
RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, 1);
relativeParams.setMargins(0, 10, 0, 0);
if (lastView != null) {
relativeParams.addRule(RelativeLayout.BELOW, lastView.getId());
}
else
relativeParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
dialogLayout.addView(horizontalDevider, relativeParams);
lastView = horizontalDevider;
dialogLayout.addView(horizontalDivider, relativeParams);
lastView = horizontalDivider;
} catch (Exception e) {
e.printStackTrace();
}
RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
if (lastView != null) {
relativeParams.addRule(RelativeLayout.BELOW, lastView.getId());
}

View File

@ -122,6 +122,7 @@ public class QtNative
return new Exception().getStackTrace()[1].getMethodName() + ": ";
}
/** @noinspection SameParameterValue*/
private static Uri getUriWithValidPermission(Context context, String uri, String openMode)
{
Uri parsedUri;

View File

@ -4,6 +4,7 @@
package org.qtproject.qt.android;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.PixelFormat;
import android.view.GestureDetector;
@ -11,6 +12,7 @@ import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
@SuppressLint("ViewConstructor")
public class QtSurface extends SurfaceView implements SurfaceHolder.Callback
{
private final GestureDetector m_gestureDetector;

View File

@ -29,7 +29,7 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
{
private static final String TAG = "Qt A11Y";
// Qt uses the upper half of the unsiged integers
// Qt uses the upper half of the unsigned integers
// all low positive ints should be fine.
public static final int INVALID_ID = 333; // half evil
@ -89,7 +89,7 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
if (Os.getenv("QT_ANDROID_DISABLE_ACCESSIBILITY") != null)
return;
if (enabled) {
try {
try {
View view = m_view;
if (view == null) {
view = new View(m_activity);
@ -98,8 +98,11 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
// ### Keep this for debugging for a while. It allows us to visually see that our View
// ### is on top of the surface(s)
// ColorDrawable color = new ColorDrawable(0x80ff8080); //0xAARRGGBB
// view.setBackground(color);
//noinspection CommentedOutCode
{
// ColorDrawable color = new ColorDrawable(0x80ff8080); //0xAARRGGBB
// view.setBackground(color);
}
view.setAccessibilityDelegate(QtAccessibilityDelegate.this);
// if all is fine, add it to the layout
@ -149,8 +152,6 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
switch (event.getAction()) {
case MotionEvent.ACTION_HOVER_ENTER:
case MotionEvent.ACTION_HOVER_MOVE:
setHoveredVirtualViewId(virtualViewId);
break;
case MotionEvent.ACTION_HOVER_EXIT:
setHoveredVirtualViewId(virtualViewId);
break;
@ -241,24 +242,24 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
});
}
public boolean sendEventForVirtualViewId(int virtualViewId, int eventType)
public void sendEventForVirtualViewId(int virtualViewId, int eventType)
{
final AccessibilityEvent event = getEventForVirtualViewId(virtualViewId, eventType);
return sendAccessibilityEvent(event);
sendAccessibilityEvent(event);
}
public boolean sendAccessibilityEvent(AccessibilityEvent event)
public void sendAccessibilityEvent(AccessibilityEvent event)
{
if (event == null)
return false;
return;
final ViewGroup group = (ViewGroup) m_view.getParent();
if (group == null) {
Log.w(TAG, "Could not send AccessibilityEvent because group was null. This should really not happen.");
return false;
return;
}
return group.requestSendAccessibilityEvent(m_view, event);
group.requestSendAccessibilityEvent(m_view, event);
}
public void invalidateVirtualViewId(int virtualViewId)
@ -416,10 +417,10 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
// Manage internal accessibility focus state.
if (m_focusedVirtualViewId == virtualViewId) {
node.setAccessibilityFocused(true);
node.addAction(AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS);
node.performAction(AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS);
} else {
node.setAccessibilityFocused(false);
node.addAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS);
node.performAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS);
}
int[] ids = QtNativeAccessibility.childIdListForAccessibleObject(virtualViewId);
@ -483,16 +484,19 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
return m_view.performAccessibilityAction(action, arguments);
}
}
handled |= performActionForVirtualViewId(virtualViewId, action, arguments);
handled |= performActionForVirtualViewId(virtualViewId, action);
return handled;
}
};
protected boolean performActionForVirtualViewId(int virtualViewId, int action, Bundle arguments)
protected boolean performActionForVirtualViewId(int virtualViewId, int action)
{
// Log.i(TAG, "ACTION " + action + " on " + virtualViewId);
// dumpNodes(virtualViewId);
//noinspection CommentedOutCode
{
// Log.i(TAG, "ACTION " + action + " on " + virtualViewId);
// dumpNodes(virtualViewId);
}
boolean success = false;
switch (action) {
case AccessibilityNodeInfo.ACTION_CLICK:

View File

@ -19,5 +19,4 @@ class QtNativeAccessibility
static native boolean scrollBackward(int objectId);
static native boolean populateNode(int objectId, AccessibilityNodeInfo node);
static native String valueForAccessibleObject(int objectId);
}