mirror of
https://github.com/TonyJiangWJ/Auto.js.git
synced 2026-06-21 21:01:43 +08:00
fix: GlobalActionRecorder register invalid subscriber; opt: rememove getRootInActiveWindow on every onAccessibilitySerive()
This commit is contained in:
parent
b6f251da0b
commit
87c7cc73c3
@ -8,8 +8,8 @@ android {
|
||||
applicationId "com.stardust.scriptdroid"
|
||||
minSdkVersion 17
|
||||
targetSdkVersion 23
|
||||
versionCode 233
|
||||
versionName "3.0.0 Alpha33"
|
||||
versionCode 234
|
||||
versionName "3.0.0 Alpha34"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
ndk {
|
||||
|
||||
@ -1 +1 @@
|
||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"inrt-release.apk","properties":{"packageId":"com.stardust.auojs.inrt","split":"","minSdkVersion":"17"}}]
|
||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":234},"path":"release-3.0.0 Alpha34.apk","properties":{"packageId":"com.stardust.scriptdroid","split":"","minSdkVersion":"17"}}]
|
||||
@ -18,7 +18,6 @@ import com.stardust.scriptdroid.ui.common.ScriptOperations;
|
||||
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
|
||||
import com.stardust.util.ClipboardUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
@ -53,7 +52,6 @@ public class GlobalActionRecorder implements Recorder.OnStateChangedListener {
|
||||
return new InputEventToRootAutomatorRecorder();
|
||||
}
|
||||
};
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -61,20 +61,24 @@ public class AccessibilityService extends android.accessibilityservice.Accessibi
|
||||
Log.v(TAG, "onAccessibilityEvent: " + event);
|
||||
if (!containsAllEventTypes && !eventTypes.contains(event.getEventType()))
|
||||
return;
|
||||
AccessibilityNodeInfo root = super.getRootInActiveWindow();
|
||||
if (root != null) {
|
||||
mFastRootInActiveWindow = root;
|
||||
Log.v(TAG, "root not null: " + event);
|
||||
int type = event.getEventType();
|
||||
if (type == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED ||
|
||||
type == AccessibilityEvent.TYPE_VIEW_FOCUSED) {
|
||||
AccessibilityNodeInfo root = super.getRootInActiveWindow();
|
||||
if (root != null) {
|
||||
mFastRootInActiveWindow = root;
|
||||
}
|
||||
}
|
||||
|
||||
for (Map.Entry<Integer, AccessibilityDelegate> entry : mDelegates.entrySet()) {
|
||||
AccessibilityDelegate delegate = entry.getValue();
|
||||
Set<Integer> types = delegate.getEventTypes();
|
||||
if (types != null && !delegate.getEventTypes().contains(event.getEventType()))
|
||||
continue;
|
||||
long start = System.currentTimeMillis();
|
||||
//long start = System.currentTimeMillis();
|
||||
if (delegate.onAccessibilityEvent(AccessibilityService.this, event))
|
||||
break;
|
||||
Log.v(TAG, "millis: " + (System.currentTimeMillis() - start) + " delegate: " + entry.getValue().getClass().getName());
|
||||
//Log.v(TAG, "millis: " + (System.currentTimeMillis() - start) + " delegate: " + entry.getValue().getClass().getName());
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,12 +93,9 @@ public class AccessibilityService extends android.accessibilityservice.Accessibi
|
||||
if (mKeyEventExecutor == null) {
|
||||
mKeyEventExecutor = Executors.newSingleThreadExecutor();
|
||||
}
|
||||
mKeyEventExecutor.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
stickOnKeyObserver.onKeyEvent(event.getKeyCode(), event);
|
||||
mOnKeyObserver.onKeyEvent(event.getKeyCode(), event);
|
||||
}
|
||||
mKeyEventExecutor.execute(() -> {
|
||||
stickOnKeyObserver.onKeyEvent(event.getKeyCode(), event);
|
||||
mOnKeyObserver.onKeyEvent(event.getKeyCode(), event);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -8,8 +8,8 @@ android {
|
||||
applicationId "com.stardust.auojs.inrt"
|
||||
minSdkVersion 17
|
||||
targetSdkVersion 23
|
||||
versionCode 1
|
||||
versionName "0.0.1"
|
||||
versionCode 34
|
||||
versionName "1.0.0 Alpha34"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a'
|
||||
|
||||
@ -3,10 +3,10 @@ package com.stardust.auojs.inrt;
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.RequiresApi;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@ -15,7 +15,6 @@ import com.stardust.auojs.inrt.rt.AutoJs;
|
||||
import com.stardust.autojs.core.console.ConsoleView;
|
||||
import com.stardust.autojs.core.console.StardustConsole;
|
||||
import com.stardust.autojs.script.StringScriptSource;
|
||||
import com.stardust.pio.PFile;
|
||||
import com.stardust.pio.PFiles;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -56,22 +55,22 @@ public class MainActivity extends AppCompatActivity {
|
||||
AutoJs.getInstance().getGlobalConsole().log(e);
|
||||
}
|
||||
}).start();
|
||||
if(!Pref.shouldShowMainActivity()){
|
||||
if (!Pref.shouldShowMainActivity()) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
System.out.println(PFiles.read("/sdcard/1.txt"));
|
||||
runScript();
|
||||
}
|
||||
|
||||
protected void checkPermission(String... permissions) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
String[] requestPermissions = getRequestPermissions(permissions);
|
||||
if (requestPermissions.length > 0) {
|
||||
requestPermissions(requestPermissions, PERMISSION_REQUEST_CODE);
|
||||
}else {
|
||||
} else {
|
||||
runScript();
|
||||
}
|
||||
} else {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user