diff --git a/app/build.gradle b/app/build.gradle index 8d4b0ae2..09a48dc2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "com.stardust.scriptdroid" minSdkVersion 19 targetSdkVersion 23 - versionCode 140 - versionName "2.0.13 Alpha3" + versionCode 141 + versionName "2.0.13 Beta" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true ndk { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5cf01c7a..7e892673 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ android:name=".ui.error.IssueReporterActivity" android:theme="@style/IssueReporterTheme"/> + diff --git a/app/src/main/assets/help/documentation/shell命令.md b/app/src/main/assets/help/documentation/shell命令.md index 49bcc133..4c65520b 100644 --- a/app/src/main/assets/help/documentation/shell命令.md +++ b/app/src/main/assets/help/documentation/shell命令.md @@ -3,23 +3,23 @@ shell命令是通过shell函数运行的命令。等同于"adb shell"。shell函 * cmd \ 要执行的命令 * root \ 是否以root权限运行,默认为false。 返回运行一个执行结果。该返回值一般不会用到,其属性如下: - * code \ 返回码。执行成功时为1,失败时为非1的数字,一般为0。 + * code \ 返回码。执行成功时为0,失败时为非0的数字。 * result \ 运行结果。 * error \ 运行的错误信息。例如执行需要root权限的命令但没有授予root权限会返回错误信息"Permission denied"。 示例(强制停止微信) : ``` var result = shell("am force-stop com.tencent.mm", true); -if(result.code == 1){ +log(result); +openConsole(); +if(result.code == 0){ toast("执行成功"); }else{ toast("执行失败!请到控制台查看错误信息"); - err(result.error); - openConsole(); } ``` -以下关于shell命令的资料来自[AndroidStudio用户指南:Sehll命令](https://developer.android.com/studio/command-line/adb.html#shellcommands)。 +以下关于shell命令的资料来自[AndroidStudio用户指南:Shell命令](https://developer.android.com/studio/command-line/adb.html#shellcommands)。 目录: * [am命令](#am命令) @@ -367,31 +367,19 @@ log(shell("ls /system/bin")); Shell类的构造函数。 -### Shell.execute(cmd) +### Shell.exec(cmd) * cmd \ 要执行的命令 +该命令没有返回值。 + 执行命令cmd,例如: ``` -var sh = Shell(true); -sh.execute("rm /sdcard/1.txt"); //删除SD卡上的1.txt文件 +var sh = new Shell(true); +sh.exec("rm -f /sdcard/1.txt"); //删除SD卡上的1.txt文件 ``` -### Shell.exitAndWaitFor() -退出Shell,并等待所有命令执行完成。 -一个完整的例子如下: -``` -var sh = Shell(true); -sh.execute("rm /sdcard/1.txt"); -sh.execute("input keyevent 26"); -sh.exitAndWaitFor(); -``` - -### Shell.waitFor() -等待当前所有命令执行完成。返回一个整数作为返回码,1为执行成功,其他数字为错误。 - ### Shell.exit() 退出Shell。调用该函数后再执行的命令无效。 - 除以上命令之外, Shell也包含自动操作的命令,例如Shell.Tap,参见《需要Root权限的自动操作函数》。 \ No newline at end of file diff --git a/app/src/main/assets/help/documentation/图片与图色处理.md b/app/src/main/assets/help/documentation/图片与图色处理.md index d63fae4c..d2d88e3b 100644 --- a/app/src/main/assets/help/documentation/图片与图色处理.md +++ b/app/src/main/assets/help/documentation/图片与图色处理.md @@ -1,3 +1,5 @@ ### requestScreenCapture(\[width, height\]) -参数width和height用于指定截图的分辨率,默认为屏幕宽高。 \ No newline at end of file +参数width和height用于指定截图的分辨率,默认为屏幕宽高。 + +未完待续。 \ No newline at end of file diff --git a/app/src/main/assets/help/documentation/控制台与输出.md b/app/src/main/assets/help/documentation/控制台与输出.md index b437681c..0754e680 100644 --- a/app/src/main/assets/help/documentation/控制台与输出.md +++ b/app/src/main/assets/help/documentation/控制台与输出.md @@ -1,5 +1,4 @@ 控制台通常用来输出一些调试信息和运算结果。 -而Toast是安卓上一种显示信息的机制,即使应用在后台运行也能显示。 ### openConsole() 显示控制台。 @@ -30,4 +29,4 @@ try{ ### toast(message) * message \ | \ 要显示的信息 -以灰色的方框显示信息message几秒。(具体时间取决于安卓系统) \ No newline at end of file +以气泡显示信息message几秒。(具体时间取决于安卓系统) \ No newline at end of file diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java index 4dac54cf..dbf4ab2f 100644 --- a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java +++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java @@ -1,11 +1,13 @@ package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector; +import android.util.Log; import android.view.accessibility.AccessibilityNodeInfo; import com.stardust.view.accessibility.AccessibilityService; import com.stardust.util.UnderuseExecutors; import java.util.concurrent.Executor; +import java.util.concurrent.Executors; /** * Created by Stardust on 2017/3/10. @@ -13,16 +15,19 @@ import java.util.concurrent.Executor; public class LayoutInspector { + private static final String LOG_TAG = LayoutInspector.class.getSimpleName(); private volatile NodeInfo mCapture; private volatile boolean mDumping = false; - private Executor mExecutor = UnderuseExecutors.getExecutor(); + private Executor mExecutor = Executors.newSingleThreadExecutor(); public void captureCurrentWindow() { AccessibilityService service = AccessibilityService.getInstance(); if (service == null) { + Log.d(LOG_TAG, "captureCurrentWindow: service = null"); mCapture = null; } else { final AccessibilityNodeInfo root = service.getRootInActiveWindow(); + Log.d(LOG_TAG, "captureCurrentWindow: root = null"); if (root == null) { mCapture = null; } else { diff --git a/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskerScriptEditActivity.java b/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskerScriptEditActivity.java index 896c1a18..c3b56fd4 100644 --- a/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskerScriptEditActivity.java +++ b/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskerScriptEditActivity.java @@ -16,6 +16,8 @@ import com.stardust.scriptdroid.ui.edit.EditActivity; import com.stardust.scriptdroid.ui.edit.completion.InputMethodEnhanceBar; import com.stardust.scriptdroid.ui.edit.editor920.Editor920Activity; import com.stardust.scriptdroid.ui.edit.editor920.Editor920Utils; +import com.stardust.theme.ThemeColorManager; +import com.stardust.theme.ThemeColorManagerCompat; import com.stardust.view.ViewBinder; import com.stardust.view.ViewBinding; import com.stardust.widget.ToolbarMenuItem; @@ -56,6 +58,7 @@ public class TaskerScriptEditActivity extends Editor920Activity { ((TextView) findViewById(R.id.summary)).setText(mSummary); mRedo = (ToolbarMenuItem) findViewById(R.id.redo); mUndo = (ToolbarMenuItem) findViewById(R.id.undo); + ThemeColorManager.addActivityStatusBar(this); } private void handleIntent(Intent intent) { diff --git a/app/src/main/java/com/stardust/scriptdroid/tool/VersionInfo.java b/app/src/main/java/com/stardust/scriptdroid/tool/VersionInfo.java index 2a1898f8..d11109bb 100644 --- a/app/src/main/java/com/stardust/scriptdroid/tool/VersionInfo.java +++ b/app/src/main/java/com/stardust/scriptdroid/tool/VersionInfo.java @@ -30,8 +30,6 @@ public class VersionInfo { private boolean mDeprecated = false; private UpdateChecker.UpdateInfo mUpdateInfo; - private final int mReconnectTimes = 2; - private int mReconnectCount = 0; private OnReceiveUpdateResultCallback mOnReceiveUpdateResultCallback; private SharedPreferences mSharedPreferences; @@ -87,28 +85,22 @@ public class VersionInfo { } public void checkUpdate(Context context) { - mReconnectCount = 0; checkUpdateInner(context); } private void checkUpdateInner(final Context context) { - mReconnectCount++; new UpdateChecker(context).check(new UpdateChecker.Callback() { @Override public void onSuccess(UpdateChecker.UpdateInfo result) { if (result.isValid()) { setUpdateInfo(result); - } else if (mReconnectCount < mReconnectTimes) { - checkUpdate(context); } } @Override public void onError(Exception exception) { - if (mReconnectCount < mReconnectTimes) { - checkUpdate(context); - } + exception.printStackTrace(); } }); } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java index df2b94c4..ca8b6b0b 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java @@ -99,7 +99,6 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); checkPermissions(); - registerBackPressHandlers(); mIntentToHandle = getIntent(); EventBus.getDefault().register(this); mVersionGuard = new VersionGuard(this); @@ -113,7 +112,7 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega setUpDrawerHeader(); setUpFragment(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); - + registerBackPressHandlers(); } private void showAnnunciationIfNeeded() { diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java index 88be08e0..fcb0d8ba 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java @@ -55,12 +55,6 @@ public class MyScriptListFragment extends Fragment { private MaterialDialog.InputCallback mDirectoryNameInputCallback = new InputCallback(true); private String mFilePathToImport; - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Nullable @Override public View createView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { diff --git a/autojs/src/main/AndroidManifest.xml b/autojs/src/main/AndroidManifest.xml index f76f0326..c9180769 100644 --- a/autojs/src/main/AndroidManifest.xml +++ b/autojs/src/main/AndroidManifest.xml @@ -4,14 +4,12 @@ > diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Shell.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Shell.java index c2775216..cb49d3ba 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/Shell.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Shell.java @@ -63,7 +63,7 @@ public class Shell extends AbstractShell implements AutoCloseable { private static final String TAG = "Shell"; - private TermSession mTermSession; + private volatile TermSession mTermSession; private final Object mInitLock = new Object(); private final Object mExitLock = new Object(); private volatile RuntimeException mInitException; diff --git a/autojs/src/main/res/values/strings.xml b/autojs/src/main/res/values/strings.xml index 8a8a2fa5..0f292bdb 100644 --- a/autojs/src/main/res/values/strings.xml +++ b/autojs/src/main/res/values/strings.xml @@ -13,6 +13,7 @@ 控制台 没有悬浮窗权限 使脚本自动操作(点击、长按、滑动等)所需,若关闭则只能执行不涉及自动操作的脚本。 + AutoJs