From 955433ae0027b3b840af91cfb83a09d7d1323e0d Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Tue, 20 Nov 2018 23:43:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/autojs/autojs/autojs/AutoJs.java | 5 ++++- .../autojs/ui/edit/editor/JavaScriptHighlighter.java | 7 +++++-- .../org/autojs/autojs/ui/explorer/ExplorerView.java | 3 +++ .../autojs/ui/main/community/CommunityFragment.java | 2 +- .../autojs/core/image/capture/ScreenCapturer.java | 11 ++++++++--- project-versions.json | 4 ++-- 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java b/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java index 39300dbe..6e0f0c3f 100644 --- a/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java +++ b/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java @@ -52,7 +52,10 @@ public class AutoJs extends com.stardust.autojs.AutoJs { } - public static void initInstance(Application application) { + public synchronized static void initInstance(Application application) { + if (instance != null) { + return; + } instance = new AutoJs(application); } diff --git a/app/src/main/java/org/autojs/autojs/ui/edit/editor/JavaScriptHighlighter.java b/app/src/main/java/org/autojs/autojs/ui/edit/editor/JavaScriptHighlighter.java index 5df892fc..c78cd4e2 100644 --- a/app/src/main/java/org/autojs/autojs/ui/edit/editor/JavaScriptHighlighter.java +++ b/app/src/main/java/org/autojs/autojs/ui/edit/editor/JavaScriptHighlighter.java @@ -40,7 +40,7 @@ public class JavaScriptHighlighter implements SimpleTextWatcher.AfterTextChanged } public void addToken(int tokenStart, int tokenEnd, int color) { - if(mCount < tokenStart){ + if (mCount < tokenStart) { int c = mCount > 0 ? colors[mCount - 1] : color; for (int i = mCount; i < tokenStart; i++) { colors[i] = c; @@ -93,10 +93,13 @@ public class JavaScriptHighlighter implements SimpleTextWatcher.AfterTextChanged } public void updateTokens(String sourceString) { - if(mTheme == null){ + if (mTheme == null) { return; } final int id = mRunningHighlighterId.incrementAndGet(); + if (mExecutorService.isShutdown() || mExecutorService.isTerminated() || mExecutorService.isTerminating()) { + return; + } mExecutorService.execute(() -> { try { mLogger.reset(); diff --git a/app/src/main/java/org/autojs/autojs/ui/explorer/ExplorerView.java b/app/src/main/java/org/autojs/autojs/ui/explorer/ExplorerView.java index 9794d6c4..0db17a49 100644 --- a/app/src/main/java/org/autojs/autojs/ui/explorer/ExplorerView.java +++ b/app/src/main/java/org/autojs/autojs/ui/explorer/ExplorerView.java @@ -168,6 +168,9 @@ public class ExplorerView extends ThemeColorSwipeRefreshLayout implements SwipeR Stack dirs = new Stack<>(); while (!dir.equals(root)) { dir = dir.getParentFile(); + if (dir == null) { + break; + } dirs.push(dir); } ExplorerDirPage parent = null; diff --git a/app/src/main/java/org/autojs/autojs/ui/main/community/CommunityFragment.java b/app/src/main/java/org/autojs/autojs/ui/main/community/CommunityFragment.java index 4cfc18b3..159c04f6 100644 --- a/app/src/main/java/org/autojs/autojs/ui/main/community/CommunityFragment.java +++ b/app/src/main/java/org/autojs/autojs/ui/main/community/CommunityFragment.java @@ -117,7 +117,7 @@ public class CommunityFragment extends ViewPagerFragment implements BackPressedH private boolean isInPostsPage() { String url = mWebView.getUrl(); - return url.matches(POSTS_PAGE_PATTERN); + return url != null && url.matches(POSTS_PAGE_PATTERN); } @Override diff --git a/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCapturer.java b/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCapturer.java index 2b04cbae..2be18f43 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCapturer.java +++ b/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCapturer.java @@ -70,7 +70,12 @@ public class ScreenCapturer { int orientation = mContext.getResources().getConfiguration().orientation; if (mOrientation == ORIENTATION_AUTO && mDetectedOrientation != orientation) { mDetectedOrientation = orientation; - refreshVirtualDisplay(orientation); + try { + refreshVirtualDisplay(orientation); + }catch (Exception e){ + e.printStackTrace(); + mException = e; + } } } @@ -148,8 +153,8 @@ public class ScreenCapturer { @Nullable public Image capture() { - if (mException != null) { - Exception e = mException; + Exception e = mException; + if (e != null) { mException = null; throw new ScriptException(e); } diff --git a/project-versions.json b/project-versions.json index 785e3f1e..fc701e30 100644 --- a/project-versions.json +++ b/project-versions.json @@ -1,6 +1,6 @@ { - "appVersionCode": 439, - "appVersionName": "4.0.4 Alpha10", + "appVersionCode": 440, + "appVersionName": "4.0.4 Alpha11", "target": 28, "mini": 17, "compile": 28,