新增 手势监听功能(效果不佳不启用)

This commit is contained in:
hyb1996
2018-12-01 17:46:57 +08:00
parent 708cde848c
commit 4bf237a499
23 changed files with 168 additions and 115 deletions

View File

@@ -277,7 +277,7 @@
</activity>
<service
android:name=".accessibility.AccessibilityService"
android:name="com.stardust.autojs.core.accessibility.AccessibilityService"
android:label="@string/_app_name"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>

View File

@@ -1,27 +0,0 @@
package org.autojs.autojs.accessibility;
import android.accessibilityservice.AccessibilityServiceInfo;
import org.autojs.autojs.Pref;
/**
* Created by Stardust on 2017/8/14.
*/
public class AccessibilityService extends com.stardust.view.accessibility.AccessibilityService {
@Override
protected void onServiceConnected() {
AccessibilityServiceInfo serviceInfo = getServiceInfo();
if (Pref.isStableModeEnabled()) {
serviceInfo.flags &= ~AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
} else {
serviceInfo.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
}
setServiceInfo(serviceInfo);
super.onServiceConnected();
}
}

View File

@@ -162,7 +162,7 @@ public class AutoJs extends com.stardust.autojs.AutoJs {
}
if (errorMessage != null) {
AccessibilityServiceTool.goToAccessibilitySetting();
if (!org.autojs.autojs.accessibility.AccessibilityService.Companion.waitForEnabled(-1)) {
if (!AccessibilityService.Companion.waitForEnabled(-1)) {
throw new ScriptInterruptedException();
}
}

View File

@@ -57,7 +57,6 @@ public class ApkBuilder {
String packageName;
ArrayList<File> ignoredDirs = new ArrayList<>();
Callable<Bitmap> icon;
ProjectConfig projectConfig;
public static AppConfig fromProjectConfig(String projectDir, ProjectConfig projectConfig) {
String icon = projectConfig.getIcon();
@@ -68,7 +67,6 @@ public class ApkBuilder {
.setVersionCode(projectConfig.getVersionCode())
.setVersionName(projectConfig.getVersionName())
.setSourcePath(projectDir);
appConfig.projectConfig = projectConfig;
if (icon != null) {
appConfig.setIcon(new File(projectDir, icon).getPath());
}
@@ -243,16 +241,25 @@ public class ApkBuilder {
return new File(mWorkspacePath, "AndroidManifest.xml");
}
private void updateProjectConfig(AppConfig config) {
if (!PFiles.isDir(config.sourcePath)) {
return;
private void updateProjectConfig(AppConfig appConfig) {
ProjectConfig config;
if (!PFiles.isDir(appConfig.sourcePath)) {
config = new ProjectConfig()
.setMainScriptFile("main.js")
.setName(appConfig.appName)
.setPackageName(appConfig.packageName)
.setVersionName(appConfig.versionName)
.setVersionCode(appConfig.versionCode);
config.setBuildInfo(BuildInfo.generate(appConfig.versionCode));
PFiles.write(new File(mWorkspacePath, "assets/project/project.json").getPath(), config.toJson());
} else {
config = ProjectConfig.fromProjectDir(appConfig.sourcePath);
long buildNumber = config.getBuildInfo().getBuildNumber();
config.setBuildInfo(BuildInfo.generate(buildNumber + 1));
PFiles.write(ProjectConfig.configFileOfDir(appConfig.sourcePath), config.toJson());
}
ProjectConfig projectConfig = ProjectConfig.fromProjectDir(config.sourcePath);
long buildNumber = projectConfig.getBuildInfo().getBuildNumber();
projectConfig.setBuildInfo(BuildInfo.generate(buildNumber + 1));
mKey = MD5.md5(mAppConfig.projectConfig.getPackageName() + mAppConfig.projectConfig.getVersionName() + mAppConfig.projectConfig.getMainScriptFile());
mInitVector = MD5.md5(mAppConfig.projectConfig.getBuildInfo().getBuildId() + mAppConfig.projectConfig.getName()).substring(0, 16);
PFiles.write(ProjectConfig.configFileOfDir(config.sourcePath), projectConfig.toJson());
mKey = MD5.md5(config.getPackageName() + config.getVersionName() + config.getMainScriptFile());
mInitVector = MD5.md5(config.getBuildInfo().getBuildId() + config.getName()).substring(0, 16);
}
public ApkBuilder build() throws IOException {

View File

@@ -9,11 +9,11 @@ import android.util.Log;
import android.widget.Toast;
import com.stardust.app.GlobalAppContext;
import com.stardust.view.accessibility.AccessibilityService;
import com.stardust.view.accessibility.LayoutInspector;
import com.stardust.view.accessibility.NodeInfo;
import org.autojs.autojs.R;
import org.autojs.autojs.accessibility.AccessibilityService;
import org.autojs.autojs.autojs.AutoJs;
import org.autojs.autojs.tool.AccessibilityServiceTool;
import org.autojs.autojs.ui.floating.FloatyWindowManger;

View File

@@ -8,8 +8,9 @@ import com.stardust.app.GlobalAppContext;
import org.autojs.autojs.Pref;
import org.autojs.autojs.App;
import org.autojs.autojs.R;
import com.stardust.autojs.core.accessibility.AccessibilityService;
import com.stardust.autojs.core.util.ProcessShell;
import org.autojs.autojs.accessibility.AccessibilityService;
import com.stardust.view.accessibility.AccessibilityServiceUtils;
import java.util.Locale;

View File

@@ -17,7 +17,6 @@ import com.stardust.enhancedfloaty.FloatyWindow;
import org.autojs.autojs.Pref;
import org.autojs.autojs.R;
import org.autojs.autojs.accessibility.AccessibilityService;
import org.autojs.autojs.autojs.AutoJs;
import org.autojs.autojs.autojs.record.GlobalActionRecorder;
import org.autojs.autojs.model.explorer.ExplorerDirPage;
@@ -34,6 +33,7 @@ import org.autojs.autojs.theme.dialog.ThemeColorMaterialDialogBuilder;
import com.stardust.util.ClipboardUtil;
import com.stardust.util.Func1;
import com.stardust.view.accessibility.AccessibilityService;
import com.stardust.view.accessibility.LayoutInspector;
import com.stardust.view.accessibility.NodeInfo;

View File

@@ -431,6 +431,8 @@
<string name="text_run_on_startup">Auto.js启动时</string>
<string name="text_usage_stats_permission">查看使用统计权限</string>
<string name="description_usage_stats_permission">通过\"查看使用统计\"权限可以获取本设备过去使用应用的情况,从而使获取当前应用(currentPackage)时更准确。</string>
<string name="text_gesture_observing">手势监听</string>
<string name="summary_gesture_observing">开启后将支持events手势事件但Auto.js崩溃时可能会导致屏幕失灵</string>
<plurals name="air_error_short_description" key="air_error_short_description">
<item quantity="one">描述至少要 %d 个字.</item>
<item quantity="other">描述至少要 %d 个字.</item>