diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index ac14c79f..68a87898 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/build.gradle b/app/build.gradle index babc4e4c..e18b7f19 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,14 +2,14 @@ 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 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/external/shortcut/ShortcutManager.java b/app/src/main/java/org/autojs/autojs/external/shortcut/ShortcutManager.java index 1666231e..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,21 +1,31 @@ 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. */ +@RequiresApi(api = Build.VERSION_CODES.N_MR1) public class ShortcutManager { + private static ShortcutManager sInstance; private Context mContext; private android.content.pm.ShortcutManager mShortcutManager; @@ -33,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/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/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/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/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/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); } 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/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/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/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/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/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/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/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 00000000..c56e2f08 Binary files /dev/null and b/autojs/src/main/res/drawable-xhdpi/ic_file_type_js.png differ 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": [