Merge pull request #349 from hyb1996/dev

4.0.1Beta
This commit is contained in:
Stardust
2018-07-09 16:29:27 +08:00
committed by GitHub
22 changed files with 121 additions and 79 deletions

Binary file not shown.

View File

@@ -2,14 +2,14 @@ apply plugin: 'com.android.application'
def AAVersion = '4.3.1' def AAVersion = '4.3.1'
android { android {
compileSdkVersion 25 compileSdkVersion 27
buildToolsVersion '26.0.2' buildToolsVersion '27.0.3'
defaultConfig { defaultConfig {
applicationId "org.autojs.autojs" applicationId "org.autojs.autojs"
minSdkVersion 17 minSdkVersion 17
targetSdkVersion 23 targetSdkVersion 23
versionCode 403 versionCode 404
versionName "4.0.0 Beta" versionName "4.0.1 Beta"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true multiDexEnabled true
ndk { ndk {

View File

@@ -17,11 +17,11 @@ import java.util.concurrent.TimeUnit;
public class Pref { public class Pref {
private static final SharedPreferences DISPOSABLE_BOOLEAN = GlobalAppContext.get().getSharedPreferences("DISPOSABLE_BOOLEAN", Context.MODE_PRIVATE); 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_SERVER_ADDRESS = "KEY_SERVER_ADDRESS";
private static final String KEY_SHOULD_SHOW_ANNUNCIATION = "Sing about all the things you forgot, things you are not"; private static final String KEY_SHOULD_SHOW_ANNUNCIATION = "KEY_SHOULD_SHOW_ANNUNCIATION";
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_FIRST_SHOW_AD = "KEY_FIRST_SHOW_AD";
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_LAST_SHOW_AD_MILLIS = "KEY_LAST_SHOW_AD_MILLIS";
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_FLOATING_MENU_SHOWN = "KEY_FLOATING_MENU_SHOWN";
private static final String KEY_EDITOR_THEME = "editor.theme"; private static final String KEY_EDITOR_THEME = "editor.theme";
private static final String KEY_EDITOR_TEXT_SIZE = "editor.textSize"; private static final String KEY_EDITOR_TEXT_SIZE = "editor.textSize";
@@ -54,7 +54,7 @@ public class Pref {
} }
public static boolean isFirstGoToAccessibilitySetting() { public static boolean isFirstGoToAccessibilitySetting() {
return getDisposableBoolean("I miss you so much ...", true); return getDisposableBoolean("isFirstGoToAccessibilitySetting", true);
} }
public static int oldVersion() { public static int oldVersion() {
@@ -82,7 +82,7 @@ public class Pref {
} }
public static boolean isEditActivityFirstUsing() { 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) { public static String getServerAddressOrDefault(String defaultAddress) {
@@ -98,6 +98,9 @@ public class Pref {
} }
public static boolean shouldShowAd() { public static boolean shouldShowAd() {
if(isFirstDay()){
return false;
}
String adShowingMode = def().getString(getString(R.string.key_ad_showing_mode), "Default"); String adShowingMode = def().getString(getString(R.string.key_ad_showing_mode), "Default");
switch (adShowingMode) { switch (adShowingMode) {
case "Default": case "Default":
@@ -113,6 +116,15 @@ public class Pref {
return true; 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() { public static boolean isFirstShowingAd() {
return getDisposableBoolean(KEY_FIRST_SHOW_AD, true); return getDisposableBoolean(KEY_FIRST_SHOW_AD, true);
} }

View File

@@ -1,21 +1,31 @@
package org.autojs.autojs.external.shortcut; package org.autojs.autojs.external.shortcut;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutInfo;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.os.Build; import android.os.Build;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi; import android.support.annotation.RequiresApi;
import java.util.Collections; import java.util.Collections;
import java.util.List; 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. * Created by Stardust on 2017/10/25.
*/ */
@RequiresApi(api = Build.VERSION_CODES.N_MR1)
public class ShortcutManager { public class ShortcutManager {
private static ShortcutManager sInstance; private static ShortcutManager sInstance;
private Context mContext; private Context mContext;
private android.content.pm.ShortcutManager mShortcutManager; private android.content.pm.ShortcutManager mShortcutManager;
@@ -33,14 +43,35 @@ public class ShortcutManager {
return sInstance; return sInstance;
} }
@RequiresApi(api = Build.VERSION_CODES.N_MR1)
public void addDynamicShortcut(CharSequence label, String id, Icon icon, Intent intent) { @RequiresApi(api = Build.VERSION_CODES.O)
ShortcutInfo shortcut = new ShortcutInfo.Builder(mContext, id) 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) .setIntent(intent)
.setShortLabel(label) .setShortLabel(label)
.setLongLabel(label) .setLongLabel(label)
.setIcon(icon) .setIcon(icon)
.build(); .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 { try {
addDynamicShortcutUnchecked(shortcut); addDynamicShortcutUnchecked(shortcut);
} catch (IllegalArgumentException shortcutsExceeded) { } catch (IllegalArgumentException shortcutsExceeded) {

View File

@@ -30,10 +30,10 @@ import java.io.File;
public class Scripts { public class Scripts {
public static final String ACTION_ON_EXECUTION_FINISHED = "Don't leave me alone..."; public static final String ACTION_ON_EXECUTION_FINISHED = "ACTION_ON_EXECUTION_FINISHED";
public static final String EXTRA_EXCEPTION_MESSAGE = "Say something...Eating...17.5.3"; public static final String EXTRA_EXCEPTION_MESSAGE = "message";
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_LINE_NUMBER = "lineNumber";
public static final String EXTRA_EXCEPTION_COLUMN_NUMBER = "I lost myself...."; public static final String EXTRA_EXCEPTION_COLUMN_NUMBER = "columnNumber";
private static final ScriptExecutionListener BROADCAST_SENDER_SCRIPT_EXECUTION_LISTENER = new SimpleScriptExecutionListener() { private static final ScriptExecutionListener BROADCAST_SENDER_SCRIPT_EXECUTION_LISTENER = new SimpleScriptExecutionListener() {

View File

@@ -29,8 +29,8 @@ import retrofit2.converter.gson.GsonConverterFactory;
public class VersionService { public class VersionService {
private static final String KEY_DEPRECATED = "Still loving you...Can we go back..."; private static final String KEY_DEPRECATED = "KEY_DEPRECATED";
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_VERSION_CODE = "KEY_DEPRECATED_VERSION_CODE";
private static VersionService sInstance = new VersionService(); private static VersionService sInstance = new VersionService();
private boolean mDeprecated = false; private boolean mDeprecated = false;

View File

@@ -15,6 +15,7 @@ import org.autojs.autojs.autojs.AutoJs;
import org.autojs.autojs.model.script.Scripts; import org.autojs.autojs.model.script.Scripts;
import org.autojs.autojs.storage.file.StorageFileProvider; import org.autojs.autojs.storage.file.StorageFileProvider;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
/** /**
@@ -98,7 +99,7 @@ public class DevPluginResponseHandler implements Handler {
if (!name.endsWith(".js")) { if (!name.endsWith(".js")) {
name = name + ".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); GlobalAppContext.toast(R.string.text_script_save_successfully);
} }
} }

View File

@@ -22,7 +22,7 @@ public class ImageSelector implements OnActivityResultDelegate {
private static final String TAG = ImageSelector.class.getSimpleName(); 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 Activity mActivity;
private ImageSelectorCallback mCallback; private ImageSelectorCallback mCallback;
private boolean mDisposable; private boolean mDisposable;

View File

@@ -1,5 +1,6 @@
package org.autojs.autojs.ui.common; package org.autojs.autojs.ui.common;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Environment; import android.os.Environment;
@@ -222,6 +223,7 @@ public class ScriptOperations {
.putExtra(ShortcutCreateActivity.EXTRA_FILE, file)); .putExtra(ShortcutCreateActivity.EXTRA_FILE, file));
} }
@SuppressLint("CheckResult")
public void delete(final ScriptFile scriptFile) { public void delete(final ScriptFile scriptFile) {
Observable.fromPublisher(new Publisher<Boolean>() { Observable.fromPublisher(new Publisher<Boolean>() {
@Override @Override

View File

@@ -35,6 +35,7 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle
EWebView mEWebView; EWebView mEWebView;
WebView mWebView; WebView mWebView;
private String mIndexUrl;
private String mPreviousQuery; private String mPreviousQuery;
@@ -52,15 +53,12 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle
@AfterViews @AfterViews
void setUpViews() { void setUpViews() {
mWebView = mEWebView.getWebView(); mWebView = mEWebView.getWebView();
mEWebView.getSwipeRefreshLayout().setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { mEWebView.getSwipeRefreshLayout().setOnRefreshListener(() -> {
@Override if (TextUtils.equals(mWebView.getUrl(), mIndexUrl)) {
public void onRefresh() {
if (TextUtils.equals(mWebView.getUrl(), mWebView.getOriginalUrl())) {
loadUrl(); loadUrl();
} else { } else {
mEWebView.onRefresh(); mEWebView.onRefresh();
} }
}
}); });
Bundle savedWebViewState = getArguments().getBundle("savedWebViewState"); Bundle savedWebViewState = getArguments().getBundle("savedWebViewState");
if (savedWebViewState != null) { if (savedWebViewState != null) {
@@ -71,8 +69,8 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle
} }
private void loadUrl() { private void loadUrl() {
String url = Pref.getDocumentationUrl() + "index.html"; mIndexUrl = getArguments().getString(ARGUMENT_URL, Pref.getDocumentationUrl() + "index.html");
mWebView.loadUrl(getArguments().getString(ARGUMENT_URL, url)); mWebView.loadUrl(mIndexUrl);
} }

View File

@@ -64,12 +64,12 @@ import static org.autojs.autojs.model.script.Scripts.ACTION_ON_EXECUTION_FINISHE
@EViewGroup(R.layout.editor_view) @EViewGroup(R.layout.editor_view)
public class EditorView extends FrameLayout implements CodeCompletionBar.OnHintClickListener, FunctionsKeyboardView.ClickCallback { 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_PATH = "path";
public static final String EXTRA_NAME = "Still love you 17.6.29 But....(ಥ_ಥ)"; public static final String EXTRA_NAME = "name";
public static final String EXTRA_CONTENT = "It's hard..............."; public static final String EXTRA_CONTENT = "content";
public static final String EXTRA_READ_ONLY = "Miss you more every day、、、"; public static final String EXTRA_READ_ONLY = "readOnly";
public static final String EXTRA_SAVE_ENABLED = "But you won't...but you won't..."; public static final String EXTRA_SAVE_ENABLED = "saveEnabled";
public static final String EXTRA_RUN_ENABLED = "Love you with my life...really...17.9.28"; public static final String EXTRA_RUN_ENABLED = "runEnabled";
@ViewById(R.id.editor) @ViewById(R.id.editor)
CodeEditor mEditor; CodeEditor mEditor;

View File

@@ -32,7 +32,7 @@ public class ErrorReportActivity extends BaseActivity {
private static final String TAG = "ErrorReportActivity"; private static final String TAG = "ErrorReportActivity";
private static final SparseIntArray CRASH_COUNT = new SparseIntArray(); 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 { static {
CRASH_COUNT.put(2, R.string.text_again); CRASH_COUNT.put(2, R.string.text_again);

View File

@@ -1,5 +1,6 @@
package org.autojs.autojs.ui.shortcut; package org.autojs.autojs.ui.shortcut;
import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@@ -86,9 +87,11 @@ public class ShortcutCreateActivity extends AppCompatActivity {
} }
@SuppressLint("NewApi") //for fool android studio
private void createShortcut() { private void createShortcut() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 && mUseAndroidNShortcut.isChecked()) { if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 && mUseAndroidNShortcut.isChecked())
createShortcutForAndroidN(); || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
createShortcutByShortcutManager();
return; return;
} }
Shortcut shortcut = new Shortcut(this); Shortcut shortcut = new Shortcut(this);
@@ -105,22 +108,29 @@ public class ShortcutCreateActivity extends AppCompatActivity {
} }
@RequiresApi(api = Build.VERSION_CODES.N_MR1) @RequiresApi(api = Build.VERSION_CODES.N_MR1)
private void createShortcutForAndroidN() { private void createShortcutByShortcutManager() {
Icon icon; Icon icon;
if (mIsDefaultIcon) { if (mIsDefaultIcon) {
icon = Icon.createWithResource(this, R.drawable.ic_node_js_black); icon = Icon.createWithResource(this, R.drawable.ic_file_type_js);
} else { } else {
Bitmap bitmap = BitmapTool.drawableToBitmap(mIcon.getDrawable()); Bitmap bitmap = BitmapTool.drawableToBitmap(mIcon.getDrawable());
icon = Icon.createWithBitmap(bitmap); icon = Icon.createWithBitmap(bitmap);
} }
PersistableBundle extras = new PersistableBundle(1); PersistableBundle extras = new PersistableBundle(1);
extras.putString(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath()); extras.putString(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath());
ShortcutManager.getInstance(this).addDynamicShortcut(mName.getText(), mScriptFile.getPath(), icon, Intent intent = new Intent(this, ShortcutActivity.class)
new Intent(this, ShortcutActivity.class)
.putExtra(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath()) .putExtra(ScriptIntents.EXTRA_KEY_PATH, mScriptFile.getPath())
.setAction(Intent.ACTION_MAIN)); .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 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) { if (resultCode != RESULT_OK) {

View File

@@ -35,8 +35,8 @@ import org.androidannotations.annotations.ViewById;
@EActivity(R.layout.activity_splash) @EActivity(R.layout.activity_splash)
public class SplashActivity extends BaseActivity { public class SplashActivity extends BaseActivity {
public static final String NOT_START_MAIN_ACTIVITY = "Eating...I...really...love...you..."; public static final String NOT_START_MAIN_ACTIVITY = "notStartMainActivity";
public static final String FORCE_SHOW_AD = "I will be better but can you take just a glance at me..."; public static final String FORCE_SHOW_AD = "forceShowAd";
private static final String LOG_TAG = SplashActivity.class.getSimpleName(); private static final String LOG_TAG = SplashActivity.class.getSimpleName();

View File

@@ -2,12 +2,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp" android:width="128dp"
android:height="128dp" android:height="128dp"
android:viewportWidth="128" android:viewportHeight="128"
android:viewportHeight="128"> android:viewportWidth="128">
<path <path
android:fillColor="#46483E" android:fillColor="#46483E"
android:pathData="M64,14c-27.6,0-50,22.4-50,50s22.4,50,50,50s50-22.4,50-50S91.6,14,64,14z" /> android:pathData="M64,14c-27.6,0-50,22.4-50,50s22.4,50,50,50s50-22.4,50-50S91.6,14,64,14z"/>
<path <path
android:fillColor="#81CF08" android:fillColor="#81CF08"
android:pathData="M64,95.9c-0.9,0-1.7-0.2-2.5-0.7l-7.8-4.6c-1.2-0.7-0.6-0.9-0.2-1c1.6-0.6,1.9-0.7,3.5-1.6 android:pathData="M64,95.9c-0.9,0-1.7-0.2-2.5-0.7l-7.8-4.6c-1.2-0.7-0.6-0.9-0.2-1c1.6-0.6,1.9-0.7,3.5-1.6
@@ -15,11 +15,11 @@ c0.2-0.1,0.4-0.1,0.6,0.1l6,3.6c0.2,0.1,0.5,0.1,0.7,0l23.4-13.5c0.2-0.1,0.4-0.4,0
c-0.2-0.1-0.5-0.1-0.7,0L40.3,49.8c-0.2,0.1-0.4,0.4-0.4,0.6v27c0,0.2,0.1,0.5,0.4,0.6l6.4,3.7c3.5,1.7,5.6-0.3,5.6-2.4V52.8 c-0.2-0.1-0.5-0.1-0.7,0L40.3,49.8c-0.2,0.1-0.4,0.4-0.4,0.6v27c0,0.2,0.1,0.5,0.4,0.6l6.4,3.7c3.5,1.7,5.6-0.3,5.6-2.4V52.8
c0-0.4,0.3-0.7,0.7-0.7h3c0.4,0,0.7,0.3,0.7,0.7v26.6c0,4.7-2.5,7.3-6.9,7.3c-1.4,0-2.4,0-5.4-1.5l-6.1-3.5 c0-0.4,0.3-0.7,0.7-0.7h3c0.4,0,0.7,0.3,0.7,0.7v26.6c0,4.7-2.5,7.3-6.9,7.3c-1.4,0-2.4,0-5.4-1.5l-6.1-3.5
c-1.5-0.9-2.5-2.5-2.5-4.3v-27c0-1.7,0.9-3.4,2.5-4.3l23.4-13.5c1.5-0.8,3.5-0.8,4.9,0l23.4,13.5c1.5,0.9,2.5,2.5,2.5,4.3v27 c-1.5-0.9-2.5-2.5-2.5-4.3v-27c0-1.7,0.9-3.4,2.5-4.3l23.4-13.5c1.5-0.8,3.5-0.8,4.9,0l23.4,13.5c1.5,0.9,2.5,2.5,2.5,4.3v27
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.9,3.4-2.5,4.3L66.5,95.3C65.7,95.7,64.9,95.9,64,95.9z"/>
<path <path
android:fillColor="#81CF08" android:fillColor="#81CF08"
android:pathData="M71.3,77.3c-10.2,0-12.4-4.7-12.4-8.6c0-0.4,0.3-0.7,0.7-0.7h3c0.3,0,0.6,0.2,0.7,0.6c0.4,3.1,1.8,4.6,8,4.6 android:pathData="M71.3,77.3c-10.2,0-12.4-4.7-12.4-8.6c0-0.4,0.3-0.7,0.7-0.7h3c0.3,0,0.6,0.2,0.7,0.6c0.4,3.1,1.8,4.6,8,4.6
c4.9,0,7-1.1,7-3.7c0-1.5-0.6-2.6-8.3-3.4c-6.4-0.6-10.4-2-10.4-7.2c0-4.7,4-7.5,10.7-7.5c7.5,0,11.2,2.6,11.7,8.2 c4.9,0,7-1.1,7-3.7c0-1.5-0.6-2.6-8.3-3.4c-6.4-0.6-10.4-2-10.4-7.2c0-4.7,4-7.5,10.7-7.5c7.5,0,11.2,2.6,11.7,8.2
c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2h-3c-0.3,0-0.6-0.2-0.7-0.5c-0.7-3.2-2.5-4.3-7.3-4.3c-5.4,0-6,1.9-6,3.3 c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2h-3c-0.3,0-0.6-0.2-0.7-0.5c-0.7-3.2-2.5-4.3-7.3-4.3c-5.4,0-6,1.9-6,3.3
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" /> 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"/>
</vector> </vector>

View File

@@ -1,8 +1,8 @@
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdkVersion 25 compileSdkVersion 27
buildToolsVersion '26.0.2' buildToolsVersion '27.0.3'
defaultConfig { defaultConfig {
minSdkVersion 17 minSdkVersion 17

View File

@@ -224,9 +224,9 @@ public class ScriptEngineService {
private static class ScriptExecutionEvent { private static class ScriptExecutionEvent {
static final int ON_START = "Eating...".hashCode(); static final int ON_START = 1001;
static final int ON_SUCCESS = "I...lov...".hashCode(); static final int ON_SUCCESS = 1002;
static final int ON_EXCEPTION = "...Sorry...I should not have said it...".hashCode(); static final int ON_EXCEPTION = 1003;
private final int mCode; private final int mCode;
private final String mMessage; private final String mMessage;

View File

@@ -227,16 +227,6 @@ public class ScriptCanvas {
return mCanvas.clipPath(path); 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() { public DrawFilter getDrawFilter() {
return mCanvas.getDrawFilter(); return mCanvas.getDrawFilter();
} }

View File

@@ -50,6 +50,7 @@ public class ScriptCanvasView extends SurfaceView implements SurfaceHolder.Callb
private void init() { private void init() {
mHolder.addCallback(this); mHolder.addCallback(this);
setZOrderOnTop(false);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public interface ScreenCaptureRequester {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
class ActivityScreenCaptureRequester extends AbstractScreenCaptureRequester implements ScreenCaptureRequester, OnActivityResultDelegate { 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 OnActivityResultDelegate.Mediator mMediator;
private Activity mActivity; private Activity mActivity;

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -1,15 +1,12 @@
{ {
"versionCode": 163, "versionCode": 404,
"versionName": "2.0.16 Beta2", "versionName": "4.0.1 Beta",
"releaseNotes": "* 优化root录制录制脚本接近完美可自行录制游戏脚本\n* 提高部分脚本的运行速度\n* 新增 按键事件、通知事件监听\n*修复 一些问题", "releaseNotes": "* 全新的文档、界面\n* 更丰富的功能\n期待您的体验~",
"downloadUrl": "http://i.autojs.org/autojs/release-4.0.1Beta.apk",
"downloads" : [ "downloads" : [
{ {
"name": "应用宝", "name": "酷安",
"url": "http://a.app.qq.com/o/simple.jsp?pkgname=org.autojs.autojs" "url": "https://www.coolapk.com/apk/188448"
},
{
"name": "百度手机助手",
"url": "http://shouji.baidu.com/software/22060055.html"
} }
], ],
"oldVersions": [ "oldVersions": [