From dc468c7de4e71121c2ee54d976ab08ff8f803140 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Sun, 1 Jul 2018 20:20:06 +0800 Subject: [PATCH 1/3] fix bugs --- .../external/shortcut/ShortcutManager.java | 1 + .../pluginclient/DevPluginResponseHandler.java | 3 ++- .../org/autojs/autojs/ui/doc/DocsFragment.java | 18 ++++++++---------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java b/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java index 1666231e..d00a1031 100644 --- a/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java +++ b/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java @@ -14,6 +14,7 @@ import java.util.List; * Created by Stardust on 2017/10/25. */ +@RequiresApi(api = Build.VERSION_CODES.N_MR1) public class ShortcutManager { private static ShortcutManager sInstance; diff --git a/app/src/main/java/org/autojs/autojs/pluginclient/DevPluginResponseHandler.java b/app/src/main/java/org/autojs/autojs/pluginclient/DevPluginResponseHandler.java index 66386463..29f28966 100644 --- a/app/src/main/java/org/autojs/autojs/pluginclient/DevPluginResponseHandler.java +++ b/app/src/main/java/org/autojs/autojs/pluginclient/DevPluginResponseHandler.java @@ -15,6 +15,7 @@ import org.autojs.autojs.autojs.AutoJs; import org.autojs.autojs.model.script.Scripts; import org.autojs.autojs.storage.file.StorageFileProvider; +import java.io.File; import java.util.HashMap; /** @@ -98,7 +99,7 @@ public class DevPluginResponseHandler implements Handler { if (!name.endsWith(".js")) { name = name + ".js"; } - PFiles.write(StorageFileProvider.getDefaultDirectoryPath() + name, script); + PFiles.write(new File(StorageFileProvider.getDefaultDirectoryPath(), name), script); GlobalAppContext.toast(R.string.text_script_save_successfully); } } diff --git a/app/src/main/java/org/autojs/autojs/ui/doc/DocsFragment.java b/app/src/main/java/org/autojs/autojs/ui/doc/DocsFragment.java index 36cc9987..3ddfbda7 100644 --- a/app/src/main/java/org/autojs/autojs/ui/doc/DocsFragment.java +++ b/app/src/main/java/org/autojs/autojs/ui/doc/DocsFragment.java @@ -35,6 +35,7 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle EWebView mEWebView; WebView mWebView; + private String mIndexUrl; private String mPreviousQuery; @@ -52,14 +53,11 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle @AfterViews void setUpViews() { mWebView = mEWebView.getWebView(); - mEWebView.getSwipeRefreshLayout().setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - if (TextUtils.equals(mWebView.getUrl(), mWebView.getOriginalUrl())) { - loadUrl(); - } else { - mEWebView.onRefresh(); - } + mEWebView.getSwipeRefreshLayout().setOnRefreshListener(() -> { + if (TextUtils.equals(mWebView.getUrl(), mIndexUrl)) { + loadUrl(); + } else { + mEWebView.onRefresh(); } }); Bundle savedWebViewState = getArguments().getBundle("savedWebViewState"); @@ -71,8 +69,8 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle } private void loadUrl() { - String url = Pref.getDocumentationUrl() + "index.html"; - mWebView.loadUrl(getArguments().getString(ARGUMENT_URL, url)); + mIndexUrl = getArguments().getString(ARGUMENT_URL, Pref.getDocumentationUrl() + "index.html"); + mWebView.loadUrl(mIndexUrl); } From e247943035a6df451a177780bcfa31a2d72f1f35 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Sat, 7 Jul 2018 22:47:20 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=A8Android=20O?= =?UTF-8?q?=E4=B8=8A=E5=88=9B=E5=BB=BA=E5=BF=AB=E6=8D=B7=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E9=BB=98=E8=AE=A4=E5=BF=AB=E6=8D=B7=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/caches/build_file_checksums.ser | Bin 733 -> 733 bytes app/build.gradle | 4 +- .../external/shortcut/ShortcutManager.java | 36 ++++++++++++++++-- .../autojs/ui/common/ScriptOperations.java | 2 + .../ui/shortcut/ShortcutCreateActivity.java | 26 +++++++++---- .../main/res/drawable/ic_node_js_black.xml | 10 ++--- autojs/build.gradle | 4 +- .../autojs/core/graphics/ScriptCanvas.java | 10 ----- .../res/drawable-xhdpi/ic_file_type_js.png | Bin 0 -> 9989 bytes 9 files changed, 62 insertions(+), 30 deletions(-) create mode 100644 autojs/src/main/res/drawable-xhdpi/ic_file_type_js.png diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index ac14c79fcc511fe9c4d42a77babe79519ff2ebe6..36c5760f635a08aa4577bcbc0fe98d573d22180c 100644 GIT binary patch delta 58 zcmV-A0LA~^1>FUZmjz^22dUqYoOclH6T41nRbPEJt5L^e7$hK(` QLV!lj=u>`!dXugKFBdc#iU0rr delta 58 zcmV-A0LA~^1>FUZmjz?RRc<$toOcj$#Nb1$Z^+Fd2bu`8(d#p_BLRB>5D^+O9;S1X QHRX=4svWm<6_c(4FY$XAl>h($ diff --git a/app/build.gradle b/app/build.gradle index babc4e4c..70a5830c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,8 +2,8 @@ apply plugin: 'com.android.application' def AAVersion = '4.3.1' android { - compileSdkVersion 25 - buildToolsVersion '26.0.2' + compileSdkVersion 27 + buildToolsVersion '27.0.3' defaultConfig { applicationId "org.autojs.autojs" minSdkVersion 17 diff --git a/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java b/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java index d00a1031..0e7adc79 100644 --- a/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java +++ b/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java @@ -1,15 +1,23 @@ package org.autojs.autojs.external.shortcut; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.content.pm.ShortcutInfo; import android.graphics.drawable.Icon; import android.os.Build; +import android.support.annotation.Nullable; import android.support.annotation.RequiresApi; import java.util.Collections; import java.util.List; +import io.reactivex.Observable; +import io.reactivex.subjects.PublishSubject; +import io.reactivex.subjects.Subject; + /** * Created by Stardust on 2017/10/25. */ @@ -17,6 +25,7 @@ import java.util.List; @RequiresApi(api = Build.VERSION_CODES.N_MR1) public class ShortcutManager { + private static ShortcutManager sInstance; private Context mContext; private android.content.pm.ShortcutManager mShortcutManager; @@ -34,14 +43,35 @@ public class ShortcutManager { return sInstance; } - @RequiresApi(api = Build.VERSION_CODES.N_MR1) - public void addDynamicShortcut(CharSequence label, String id, Icon icon, Intent intent) { - ShortcutInfo shortcut = new ShortcutInfo.Builder(mContext, id) + + @RequiresApi(api = Build.VERSION_CODES.O) + public void addPinnedShortcut(CharSequence label, String id, Icon icon, Intent intent) { + if (!mShortcutManager.isRequestPinShortcutSupported()) { + return; + } + ShortcutInfo shortcut = buildShortcutInfo(label, id, icon, intent); + int req = getRequestCode(id); + PendingIntent successCallback = PendingIntent.getBroadcast(mContext, req, + mShortcutManager.createShortcutResultIntent(shortcut), 0); + mShortcutManager.requestPinShortcut(shortcut, successCallback.getIntentSender()); + } + + private ShortcutInfo buildShortcutInfo(CharSequence label, String id, Icon icon, Intent intent) { + return new ShortcutInfo.Builder(mContext, id) .setIntent(intent) .setShortLabel(label) .setLongLabel(label) .setIcon(icon) .build(); + } + + private int getRequestCode(String id) { + return id.hashCode() >>> 16; + } + + @RequiresApi(api = Build.VERSION_CODES.N_MR1) + public void addDynamicShortcut(CharSequence label, String id, Icon icon, Intent intent) { + ShortcutInfo shortcut = buildShortcutInfo(label, id, icon, intent); try { addDynamicShortcutUnchecked(shortcut); } catch (IllegalArgumentException shortcutsExceeded) { diff --git a/app/src/main/java/org/autojs/autojs/ui/common/ScriptOperations.java b/app/src/main/java/org/autojs/autojs/ui/common/ScriptOperations.java index 855e8bea..3b16abd8 100644 --- a/app/src/main/java/org/autojs/autojs/ui/common/ScriptOperations.java +++ b/app/src/main/java/org/autojs/autojs/ui/common/ScriptOperations.java @@ -1,5 +1,6 @@ package org.autojs.autojs.ui.common; +import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.os.Environment; @@ -222,6 +223,7 @@ public class ScriptOperations { .putExtra(ShortcutCreateActivity.EXTRA_FILE, file)); } + @SuppressLint("CheckResult") public void delete(final ScriptFile scriptFile) { Observable.fromPublisher(new Publisher() { @Override diff --git a/app/src/main/java/org/autojs/autojs/ui/shortcut/ShortcutCreateActivity.java b/app/src/main/java/org/autojs/autojs/ui/shortcut/ShortcutCreateActivity.java index b7a3bc08..54368f49 100644 --- a/app/src/main/java/org/autojs/autojs/ui/shortcut/ShortcutCreateActivity.java +++ b/app/src/main/java/org/autojs/autojs/ui/shortcut/ShortcutCreateActivity.java @@ -1,5 +1,6 @@ package org.autojs.autojs.ui.shortcut; +import android.annotation.SuppressLint; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Bitmap; @@ -86,9 +87,11 @@ public class ShortcutCreateActivity extends AppCompatActivity { } + @SuppressLint("NewApi") //for fool android studio private void createShortcut() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 && mUseAndroidNShortcut.isChecked()) { - createShortcutForAndroidN(); + if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 && mUseAndroidNShortcut.isChecked()) + || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + createShortcutByShortcutManager(); return; } Shortcut shortcut = new Shortcut(this); @@ -105,22 +108,29 @@ public class ShortcutCreateActivity extends AppCompatActivity { } @RequiresApi(api = Build.VERSION_CODES.N_MR1) - private void createShortcutForAndroidN() { + private void createShortcutByShortcutManager() { Icon icon; if (mIsDefaultIcon) { - icon = Icon.createWithResource(this, R.drawable.ic_node_js_black); + icon = Icon.createWithResource(this, R.drawable.ic_file_type_js); } else { Bitmap bitmap = BitmapTool.drawableToBitmap(mIcon.getDrawable()); icon = Icon.createWithBitmap(bitmap); } PersistableBundle extras = new PersistableBundle(1); extras.putString(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath()); - ShortcutManager.getInstance(this).addDynamicShortcut(mName.getText(), mScriptFile.getPath(), icon, - new Intent(this, ShortcutActivity.class) - .putExtra(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath()) - .setAction(Intent.ACTION_MAIN)); + Intent intent = new Intent(this, ShortcutActivity.class) + .putExtra(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath()) + .setAction(Intent.ACTION_MAIN); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + ShortcutManager.getInstance(this).addPinnedShortcut(mName.getText(), mScriptFile.getPath(), icon, intent); + } else { + ShortcutManager.getInstance(this).addDynamicShortcut(mName.getText(), mScriptFile.getPath(), icon, intent); + } + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != RESULT_OK) { diff --git a/app/src/main/res/drawable/ic_node_js_black.xml b/app/src/main/res/drawable/ic_node_js_black.xml index e0e26d90..1b68b433 100644 --- a/app/src/main/res/drawable/ic_node_js_black.xml +++ b/app/src/main/res/drawable/ic_node_js_black.xml @@ -2,12 +2,12 @@ + android:viewportHeight="128" + android:viewportWidth="128"> + android:pathData="M64,14c-27.6,0-50,22.4-50,50s22.4,50,50,50s50-22.4,50-50S91.6,14,64,14z"/> +c0,1.7-0.9,3.4-2.5,4.3L66.5,95.3C65.7,95.7,64.9,95.9,64,95.9z"/> +c0,1.7,0.7,2.2,8,3.2c7.2,0.9,10.6,2.3,10.6,7.3C82.9,74.4,78.7,77.3,71.3,77.3z"/> \ No newline at end of file diff --git a/autojs/build.gradle b/autojs/build.gradle index 4c8e5713..9e221666 100644 --- a/autojs/build.gradle +++ b/autojs/build.gradle @@ -1,8 +1,8 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 25 - buildToolsVersion '26.0.2' + compileSdkVersion 27 + buildToolsVersion '27.0.3' defaultConfig { minSdkVersion 17 diff --git a/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java b/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java index 25bcbe0b..69c1980c 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java +++ b/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java @@ -227,16 +227,6 @@ public class ScriptCanvas { return mCanvas.clipPath(path); } - @Deprecated - public boolean clipRegion(Region region, Region.Op op) { - return mCanvas.clipRegion(region, op); - } - - @Deprecated - public boolean clipRegion(Region region) { - return mCanvas.clipRegion(region); - } - public DrawFilter getDrawFilter() { return mCanvas.getDrawFilter(); } diff --git a/autojs/src/main/res/drawable-xhdpi/ic_file_type_js.png b/autojs/src/main/res/drawable-xhdpi/ic_file_type_js.png new file mode 100644 index 0000000000000000000000000000000000000000..c56e2f08dc2dc9831e83eb8d6547fe7661af20f1 GIT binary patch literal 9989 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 Date: Mon, 9 Jul 2018 16:28:50 +0800 Subject: [PATCH 3/3] Not show ad on first day --- .idea/caches/build_file_checksums.ser | Bin 733 -> 733 bytes app/build.gradle | 4 +-- app/src/main/java/org/autojs/autojs/Pref.java | 26 +++++++++++++----- .../autojs/autojs/model/script/Scripts.java | 8 +++--- .../autojs/autojs/network/VersionService.java | 4 +-- .../org/autojs/autojs/tool/ImageSelector.java | 2 +- .../org/autojs/autojs/ui/edit/EditorView.java | 12 ++++---- .../autojs/ui/error/ErrorReportActivity.java | 2 +- .../autojs/ui/splash/SplashActivity.java | 4 +-- .../stardust/autojs/ScriptEngineService.java | 6 ++-- .../core/graphics/ScriptCanvasView.java | 1 + .../image/capture/ScreenCaptureRequester.java | 2 +- version.json | 15 ++++------ 13 files changed, 48 insertions(+), 38 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 36c5760f635a08aa4577bcbc0fe98d573d22180c..68a878987e87e9233af7a4037ad4c7a9cd4ea52f 100644 GIT binary patch delta 36 ucmV+<0NelF1>FUZm;`5(l8`kT>Sf#Tg0lEP+?hyI_ delta 36 ucmV+<0NelF1>FUZm;_b_so#;DcM$9oyH06UUwt;M&-2WL#qhHu0lEP=o)KsO diff --git a/app/build.gradle b/app/build.gradle index 70a5830c..e18b7f19 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "org.autojs.autojs" minSdkVersion 17 targetSdkVersion 23 - versionCode 403 - versionName "4.0.0 Beta" + versionCode 404 + versionName "4.0.1 Beta" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true ndk { diff --git a/app/src/main/java/org/autojs/autojs/Pref.java b/app/src/main/java/org/autojs/autojs/Pref.java index ed16085b..53164598 100644 --- a/app/src/main/java/org/autojs/autojs/Pref.java +++ b/app/src/main/java/org/autojs/autojs/Pref.java @@ -17,11 +17,11 @@ import java.util.concurrent.TimeUnit; public class Pref { private static final SharedPreferences DISPOSABLE_BOOLEAN = GlobalAppContext.get().getSharedPreferences("DISPOSABLE_BOOLEAN", Context.MODE_PRIVATE); - private static final String KEY_SERVER_ADDRESS = "Still love you...17.5.14"; - private static final String KEY_SHOULD_SHOW_ANNUNCIATION = "Sing about all the things you forgot, things you are not"; - private static final String KEY_FIRST_SHOW_AD = "En, Today is 17.7.7, but, I'm still love you so...."; - private static final String KEY_LAST_SHOW_AD_MILLIS = "But... it seems that...you will not come back any more..."; - private static final String KEY_FLOATING_MENU_SHOWN = "17.10.28 I have idea of what you think...maybe...I'm overthinking..."; + private static final String KEY_SERVER_ADDRESS = "KEY_SERVER_ADDRESS"; + private static final String KEY_SHOULD_SHOW_ANNUNCIATION = "KEY_SHOULD_SHOW_ANNUNCIATION"; + private static final String KEY_FIRST_SHOW_AD = "KEY_FIRST_SHOW_AD"; + private static final String KEY_LAST_SHOW_AD_MILLIS = "KEY_LAST_SHOW_AD_MILLIS"; + private static final String KEY_FLOATING_MENU_SHOWN = "KEY_FLOATING_MENU_SHOWN"; private static final String KEY_EDITOR_THEME = "editor.theme"; private static final String KEY_EDITOR_TEXT_SIZE = "editor.textSize"; @@ -54,7 +54,7 @@ public class Pref { } public static boolean isFirstGoToAccessibilitySetting() { - return getDisposableBoolean("I miss you so much ...", true); + return getDisposableBoolean("isFirstGoToAccessibilitySetting", true); } public static int oldVersion() { @@ -82,7 +82,7 @@ public class Pref { } public static boolean isEditActivityFirstUsing() { - return getDisposableBoolean("Still Love Eating 17.4.6", true); + return getDisposableBoolean("Love Honmua 18.7.9", true); } public static String getServerAddressOrDefault(String defaultAddress) { @@ -98,6 +98,9 @@ public class Pref { } public static boolean shouldShowAd() { + if(isFirstDay()){ + return false; + } String adShowingMode = def().getString(getString(R.string.key_ad_showing_mode), "Default"); switch (adShowingMode) { case "Default": @@ -113,6 +116,15 @@ public class Pref { return true; } + private static boolean isFirstDay() { + long firstUsingMillis = def().getLong("firstUsingMillis", -1); + if(firstUsingMillis == -1){ + def().edit().putLong("firstUsingMillis", System.currentTimeMillis()).apply(); + return true; + } + return System.currentTimeMillis() - firstUsingMillis <= TimeUnit.DAYS.toMillis(1); + } + public static boolean isFirstShowingAd() { return getDisposableBoolean(KEY_FIRST_SHOW_AD, true); } diff --git a/app/src/main/java/org/autojs/autojs/model/script/Scripts.java b/app/src/main/java/org/autojs/autojs/model/script/Scripts.java index 8655c420..7c213b05 100644 --- a/app/src/main/java/org/autojs/autojs/model/script/Scripts.java +++ b/app/src/main/java/org/autojs/autojs/model/script/Scripts.java @@ -30,10 +30,10 @@ import java.io.File; public class Scripts { - public static final String ACTION_ON_EXECUTION_FINISHED = "Don't leave me alone..."; - public static final String EXTRA_EXCEPTION_MESSAGE = "Say something...Eating...17.5.3"; - public static final String EXTRA_EXCEPTION_LINE_NUMBER = "Can we fall in love with each other again...17.9.28"; - public static final String EXTRA_EXCEPTION_COLUMN_NUMBER = "I lost myself...."; + public static final String ACTION_ON_EXECUTION_FINISHED = "ACTION_ON_EXECUTION_FINISHED"; + public static final String EXTRA_EXCEPTION_MESSAGE = "message"; + public static final String EXTRA_EXCEPTION_LINE_NUMBER = "lineNumber"; + public static final String EXTRA_EXCEPTION_COLUMN_NUMBER = "columnNumber"; private static final ScriptExecutionListener BROADCAST_SENDER_SCRIPT_EXECUTION_LISTENER = new SimpleScriptExecutionListener() { diff --git a/app/src/main/java/org/autojs/autojs/network/VersionService.java b/app/src/main/java/org/autojs/autojs/network/VersionService.java index dbe4fee1..b5da35da 100644 --- a/app/src/main/java/org/autojs/autojs/network/VersionService.java +++ b/app/src/main/java/org/autojs/autojs/network/VersionService.java @@ -29,8 +29,8 @@ import retrofit2.converter.gson.GsonConverterFactory; public class VersionService { - private static final String KEY_DEPRECATED = "Still loving you...Can we go back..."; - private static final String KEY_DEPRECATED_VERSION_CODE = "I miss you so much tonight...Baby don't let me cry..."; + private static final String KEY_DEPRECATED = "KEY_DEPRECATED"; + private static final String KEY_DEPRECATED_VERSION_CODE = "KEY_DEPRECATED_VERSION_CODE"; private static VersionService sInstance = new VersionService(); private boolean mDeprecated = false; diff --git a/app/src/main/java/org/autojs/autojs/tool/ImageSelector.java b/app/src/main/java/org/autojs/autojs/tool/ImageSelector.java index 1557b7b5..63439ea4 100644 --- a/app/src/main/java/org/autojs/autojs/tool/ImageSelector.java +++ b/app/src/main/java/org/autojs/autojs/tool/ImageSelector.java @@ -22,7 +22,7 @@ public class ImageSelector implements OnActivityResultDelegate { private static final String TAG = ImageSelector.class.getSimpleName(); - private static final int REQUEST_CODE = "LOVE EATING".hashCode() >> 16; + private static final int REQUEST_CODE = "LOVE HONMUA".hashCode() >> 16; private Activity mActivity; private ImageSelectorCallback mCallback; private boolean mDisposable; diff --git a/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.java b/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.java index 8a0242c2..67e3fcce 100644 --- a/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.java +++ b/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.java @@ -64,12 +64,12 @@ import static org.autojs.autojs.model.script.Scripts.ACTION_ON_EXECUTION_FINISHE @EViewGroup(R.layout.editor_view) public class EditorView extends FrameLayout implements CodeCompletionBar.OnHintClickListener, FunctionsKeyboardView.ClickCallback { - public static final String EXTRA_PATH = "Still Love Eating 17.4.5"; - public static final String EXTRA_NAME = "Still love you 17.6.29 But....(ಥ_ಥ)"; - public static final String EXTRA_CONTENT = "It's hard..............."; - public static final String EXTRA_READ_ONLY = "Miss you more every day、、、"; - public static final String EXTRA_SAVE_ENABLED = "But you won't...but you won't..."; - public static final String EXTRA_RUN_ENABLED = "Love you with my life...really...17.9.28"; + public static final String EXTRA_PATH = "path"; + public static final String EXTRA_NAME = "name"; + public static final String EXTRA_CONTENT = "content"; + public static final String EXTRA_READ_ONLY = "readOnly"; + public static final String EXTRA_SAVE_ENABLED = "saveEnabled"; + public static final String EXTRA_RUN_ENABLED = "runEnabled"; @ViewById(R.id.editor) CodeEditor mEditor; diff --git a/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.java b/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.java index f8be404a..540c8013 100644 --- a/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.java +++ b/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.java @@ -32,7 +32,7 @@ public class ErrorReportActivity extends BaseActivity { private static final String TAG = "ErrorReportActivity"; private static final SparseIntArray CRASH_COUNT = new SparseIntArray(); - private static final String KEY_CRASH_COUNT = "Eating... you are my halo..."; + private static final String KEY_CRASH_COUNT = "crashCount"; static { CRASH_COUNT.put(2, R.string.text_again); diff --git a/app/src/main/java/org/autojs/autojs/ui/splash/SplashActivity.java b/app/src/main/java/org/autojs/autojs/ui/splash/SplashActivity.java index 83e5ab9b..e3e499f6 100644 --- a/app/src/main/java/org/autojs/autojs/ui/splash/SplashActivity.java +++ b/app/src/main/java/org/autojs/autojs/ui/splash/SplashActivity.java @@ -35,8 +35,8 @@ import org.androidannotations.annotations.ViewById; @EActivity(R.layout.activity_splash) public class SplashActivity extends BaseActivity { - public static final String NOT_START_MAIN_ACTIVITY = "Eating...I...really...love...you..."; - public static final String FORCE_SHOW_AD = "I will be better but can you take just a glance at me..."; + public static final String NOT_START_MAIN_ACTIVITY = "notStartMainActivity"; + public static final String FORCE_SHOW_AD = "forceShowAd"; private static final String LOG_TAG = SplashActivity.class.getSimpleName(); diff --git a/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java b/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java index 355e5b30..ffc41460 100644 --- a/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java +++ b/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java @@ -224,9 +224,9 @@ public class ScriptEngineService { private static class ScriptExecutionEvent { - static final int ON_START = "Eating...".hashCode(); - static final int ON_SUCCESS = "I...lov...".hashCode(); - static final int ON_EXCEPTION = "...Sorry...I should not have said it...".hashCode(); + static final int ON_START = 1001; + static final int ON_SUCCESS = 1002; + static final int ON_EXCEPTION = 1003; private final int mCode; private final String mMessage; diff --git a/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvasView.java b/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvasView.java index 934de478..e442ab9d 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvasView.java +++ b/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvasView.java @@ -50,6 +50,7 @@ public class ScriptCanvasView extends SurfaceView implements SurfaceHolder.Callb private void init() { mHolder.addCallback(this); + setZOrderOnTop(false); } @Override diff --git a/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCaptureRequester.java b/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCaptureRequester.java index 39e2741e..d88d5fd9 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCaptureRequester.java +++ b/autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCaptureRequester.java @@ -55,7 +55,7 @@ public interface ScreenCaptureRequester { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) class ActivityScreenCaptureRequester extends AbstractScreenCaptureRequester implements ScreenCaptureRequester, OnActivityResultDelegate { - private static final int REQUEST_CODE_MEDIA_PROJECTION = "Eating...Today is 17.5.20 yet...The 90 days、、、".hashCode() >> 16; + private static final int REQUEST_CODE_MEDIA_PROJECTION = 17777; private OnActivityResultDelegate.Mediator mMediator; private Activity mActivity; diff --git a/version.json b/version.json index 16f5d970..82c6fc7c 100644 --- a/version.json +++ b/version.json @@ -1,15 +1,12 @@ { - "versionCode": 163, - "versionName": "2.0.16 Beta2", - "releaseNotes": "* 优化root录制,录制脚本接近完美,可自行录制游戏脚本\n* 提高部分脚本的运行速度\n* 新增 按键事件、通知事件监听\n*修复 一些问题", + "versionCode": 404, + "versionName": "4.0.1 Beta", + "releaseNotes": "* 全新的文档、界面\n* 更丰富的功能\n期待您的体验~", + "downloadUrl": "http://i.autojs.org/autojs/release-4.0.1Beta.apk", "downloads" : [ { - "name": "应用宝", - "url": "http://a.app.qq.com/o/simple.jsp?pkgname=org.autojs.autojs" - }, - { - "name": "百度手机助手", - "url": "http://shouji.baidu.com/software/22060055.html" + "name": "酷安", + "url": "https://www.coolapk.com/apk/188448" } ], "oldVersions": [