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

@@ -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));