fix: files.join(); RootShell.isRootAvailable() crash

This commit is contained in:
hyb1996
2018-01-27 09:18:42 +08:00
parent 76f02863f7
commit 1e8183f756
9 changed files with 33 additions and 48 deletions

View File

@@ -8,8 +8,8 @@ android {
applicationId "com.stardust.scriptdroid"
minSdkVersion 17
targetSdkVersion 23
versionCode 242
versionName "3.0.0 Alpha42"
versionCode 243
versionName "3.0.0 Alpha43"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk {

View File

@@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":242},"path":"release-3.0.0 Alpha42.apk","properties":{"packageId":"com.stardust.scriptdroid","split":"","minSdkVersion":"17"}}]
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":34},"path":"inrt-release.apk","properties":{"packageId":"com.stardust.auojs.inrt","split":"","minSdkVersion":"17"}}]

View File

@@ -0,0 +1,19 @@
package com.stardust.scriptdroid.tool;
import com.stericson.RootShell.RootShell;
/**
* Created by Stardust on 2018/1/26.
*/
public class RootTool {
public static boolean isRootAvailable() {
try {
return RootShell.isRootAvailable();
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}

View File

@@ -12,6 +12,7 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.app.DialogUtils;
import com.stardust.app.OperationDialogBuilder;
import com.stardust.autojs.core.record.Recorder;
import com.stardust.autojs.runtime.api.Dialogs;
import com.stardust.enhancedfloaty.FloatyService;
import com.stardust.floatingcircularactionmenu.CircularActionMenu;
import com.stardust.floatingcircularactionmenu.CircularActionMenuFloatingWindow;
@@ -23,6 +24,7 @@ import com.stardust.scriptdroid.autojs.record.GlobalActionRecorder;
import com.stardust.scriptdroid.model.script.Scripts;
import com.stardust.scriptdroid.storage.file.StorageFileProvider;
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
import com.stardust.scriptdroid.tool.RootTool;
import com.stardust.scriptdroid.ui.common.NotAskAgainDialog;
import com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutBoundsFloatyWindow;
import com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutHierarchyFloatyWindow;
@@ -148,14 +150,14 @@ public class CircularMenu implements Recorder.OnStateChangedListener, LayoutInsp
@OnClick(R.id.record)
void startRecord() {
mWindow.collapse();
if (!RootShell.isRootAvailable()) {
new NotAskAgainDialog.Builder(mContext, "CircularMenu.root")
if (!RootTool.isRootAvailable()) {
DialogUtils.showDialog(new NotAskAgainDialog.Builder(mContext, "CircularMenu.root")
.title(R.string.text_device_not_rooted)
.content(R.string.prompt_device_not_rooted)
.neutralText(R.string.text_device_rooted)
.positiveText(R.string.ok)
.onNeutral(((dialog, which) -> mRecorder.start()))
.show();
.build());
} else {
mRecorder.start();

View File

@@ -10,6 +10,7 @@ import android.webkit.ValueCallback;
import android.webkit.WebView;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.network.NodeBB;
import com.stardust.scriptdroid.storage.file.StorageFileProvider;
import com.stardust.scriptdroid.model.script.Scripts;
import com.stardust.scriptdroid.network.download.DownloadManager;
@@ -99,7 +100,7 @@ public class CommunityWebView extends EWebView {
private class MyWebViewClient extends EWebView.MyWebViewClient {
private final Pattern UPLOAD_FILE_PATTERN = Pattern.compile("http://www.autojs.org/assets/uploads/files/.+(\\.js|\\.auto)");
private final Pattern UPLOAD_FILE_PATTERN = Pattern.compile(NodeBB.url("assets/uploads/files/.+(\\.js|\\.auto)"));
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

View File

@@ -72,7 +72,7 @@ public class DrawerMenuItemViewHolder extends BindableViewHolder<DrawerMenuItem>
mSwitchCompat.setVisibility(VISIBLE);
int prefKey = item.getPrefKey();
if (prefKey == 0) {
mSwitchCompat.setChecked(item.isChecked());
mSwitchCompat.setChecked(item.isChecked(), false);
mSwitchCompat.setPrefKey(null);
} else {
mSwitchCompat.setPrefKey(itemView.getResources().getString(prefKey));

View File

@@ -3,7 +3,7 @@ module.exports = function(__runtime__, scope){
var fs = __runtime__.files;
var files = Object.create(fs);
files.join = function(base){
var paths = Array.prototype.slice.call(arguments, 0);
var paths = Array.prototype.slice.call(arguments, 1);
return fs.join(base, paths);
}
scope.files = files;

View File

@@ -1,32 +1 @@
"ui";
ui.layout(
<scroll>
<vertical bg="#707070" padding="16">
<text text="网络图片" textColor="black" textSize="16sp" marginTop="16"/>
<img src="file://auto.js.png"
w="100" h="100"/>
<text text="带边框的图片" textColor="black" textSize="16sp" marginTop="16"/>
<img src="http://www.autojs.org/assets/uploads/profile/1-profileavatar.jpeg"
w="100" h="100" borderWidth="2dp" borderColor="#202020"/>
<text text="圆形图片" textColor="black" textSize="16sp" marginTop="16"/>
<img src="http://www.autojs.org/assets/uploads/profile/1-profileavatar.jpeg"
w="100" h="100" circle="true"/>
<text text="带边框的圆形图片" textColor="black" textSize="16sp" marginTop="16"/>
<img src="http://www.autojs.org/assets/uploads/profile/1-profileavatar.jpeg"
w="100" h="100" circle="true" borderWidth="2dp" borderColor="#202020"/>
<text text="圆角图片" textColor="black" textSize="16sp" marginTop="16"/>
<img id="rounded_img" src="http://www.autojs.org/assets/uploads/profile/1-profileavatar.jpeg"
w="100" h="100" radius="20dp" scaleType="fitXY"/>
<button id="change_img" text="更改图片"/>
</vertical>
</scroll>
);
ui.change_img.click(()=>{
ui.rounded_img.setSource("http://www.autojs.org/assets/uploads/profile/1-profilecover.jpeg");
});
console.error("打包出错啦~ 使用文件夹打包请把主脚本改名为main.js");

View File

@@ -3,11 +3,5 @@
"versionName": "1.0.0",
"versionCode": 1,
"packageName": "org.autojs.example",
"main": "main.js",
"assets" : [
"auto.js.png"
],
"launchConfig": {
"hideLogs": true
}
"main": "main.js"
}