6.6.3 - Alpha5 - 脚本项目配置 permissions 选项支持宽松匹配及别名兼容
This commit is contained in:
@@ -39,13 +39,14 @@
|
||||
"improvement": [
|
||||
"布局分析支持控件隐藏 (by [TonyJiangWJ](https://github.com/TonyJiangWJ)) _[`pr #371`](http://pr.autojs6.com/371)_ _[`issue #355`](http://issues.autojs6.com/355)_",
|
||||
"布局分析菜单添加渐变分隔线实现一定程度的功能分组",
|
||||
"脚本项目配置文件 project.json 支持 permissions 选项 (by [wirsnow](https://github.com/wirsnow)) _[`pr #391`](http://pr.autojs6.com/391)_ _[`issue #362`](http://issues.autojs6.com/362)_",
|
||||
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
|
||||
"主题色扩充适配范围并支持更多控件类型",
|
||||
"主页抽屉在横向屏幕或超宽屏幕的宽度适应性",
|
||||
"关于应用与开发者页面增加水平布局及小屏布局适配",
|
||||
"设置页面对话框相关设置支持 \"使用默认值\" 菜单选项",
|
||||
"文件管理器浮动按钮展开后点击其他区域可自动隐藏",
|
||||
"代码编辑器格式化代码支持 `??`, `?.`, `??=` 等运算符",
|
||||
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
|
||||
"意图相关操作 (编辑/查看/安装/发送/播放等) 增加操作异常提示",
|
||||
"webview 元素的 url 属性支持相对路径",
|
||||
"ImageWrapper#saveTo 方法的路径参数支持相对路径",
|
||||
|
||||
@@ -72,7 +72,9 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.TreeMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.function.Function;
|
||||
@@ -126,6 +128,11 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
||||
add(new Pair<>("V3", "Android 9.0+"));
|
||||
}};
|
||||
|
||||
private final Map<String, String> PERMISSION_ALIAS = new HashMap<>() {{
|
||||
put("shizuku", "moe.shizuku.manager.permission.API_V23");
|
||||
put("termux", "com.termux.permission.RUN_COMMAND");
|
||||
}};
|
||||
|
||||
private final Map<String, Integer> SUPPORTED_PERMISSIONS = new TreeMap<>() {{
|
||||
put("android.permission.ACCESS_COARSE_LOCATION", R.string.text_permission_desc_access_coarse_location);
|
||||
put("android.permission.ACCESS_FINE_LOCATION", R.string.text_permission_desc_access_fine_location);
|
||||
@@ -193,8 +200,8 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
||||
put("com.android.launcher.permission.INSTALL_SHORTCUT", R.string.text_permission_desc_install_shortcut);
|
||||
put("com.android.launcher.permission.UNINSTALL_SHORTCUT", R.string.text_permission_desc_uninstall_shortcut);
|
||||
put("com.android.vending.BILLING", R.string.text_permission_desc_billing);
|
||||
put("com.termux.permission.RUN_COMMAND", R.string.text_permission_desc_termux_run_command);
|
||||
put("moe.shizuku.manager.permission.API_V23", R.string.text_permission_desc_shizuku);
|
||||
put(PERMISSION_ALIAS.get("termux"), R.string.text_permission_desc_termux_run_command);
|
||||
put(PERMISSION_ALIAS.get("shizuku"), R.string.text_permission_desc_shizuku);
|
||||
}};
|
||||
|
||||
EditText mSourcePathView;
|
||||
@@ -547,7 +554,21 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
||||
int marginInPixels = (int) (8 * getResources().getDisplayMetrics().density);
|
||||
checkBox.setPadding(marginInPixels, 0, 0, 0);
|
||||
if (mProjectConfig != null) {
|
||||
boolean checked = mProjectConfig.getPermissions().stream().anyMatch(p -> ("android.permission." + p.toUpperCase()).equals(permission));
|
||||
boolean checked = mProjectConfig.getPermissions().stream().anyMatch(p -> {
|
||||
var lc = p.toLowerCase(Locale.ROOT);
|
||||
var uc = p.toUpperCase(Locale.ROOT);
|
||||
if (p.equalsIgnoreCase(permission)) {
|
||||
return true;
|
||||
}
|
||||
if (permission.contains("android")) {
|
||||
String refined = uc.substring(uc.lastIndexOf(".") + 1).replaceAll("\\W", "_");
|
||||
return Objects.equals(refined, permission.substring(permission.lastIndexOf(".") + 1));
|
||||
}
|
||||
if (PERMISSION_ALIAS.containsKey(lc)) {
|
||||
return Objects.equals(permission, PERMISSION_ALIAS.get(lc));
|
||||
}
|
||||
return false;
|
||||
});
|
||||
checkBox.setChecked(checked);
|
||||
} else {
|
||||
checkBox.setChecked(false);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#Sun May 25 20:32:48 CST 2025
|
||||
BUILD_TIME=1748176368036
|
||||
#Sun May 25 23:31:03 CST 2025
|
||||
BUILD_TIME=1748187063682
|
||||
COMPILE_SDK_VERSION=35
|
||||
IMAGE_QUANT_CMAKE_VERSION=3.22.1
|
||||
IMAGE_QUANT_NDK_VERSION=26.1.10909125
|
||||
@@ -19,6 +19,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13
|
||||
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
||||
TARGET_SDK_VERSION=35
|
||||
TARGET_SDK_VERSION_INRT=29
|
||||
VERSION_BUILD=3254
|
||||
VERSION_BUILD=3255
|
||||
VERSION_NAME=6.6.3 Alpha5
|
||||
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
||||
|
||||
Reference in New Issue
Block a user