diff --git a/.idea/modules.xml b/.idea/modules.xml index 4fac18b4..7e950955 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,8 +2,8 @@ + - diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java index a466e47d..c10e3bae 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java @@ -70,10 +70,12 @@ public class DrawerMenuItemViewHolder extends BindableViewHolder } mSwitchCompat.setVisibility(VISIBLE); int prefKey = item.getPrefKey(); - if (prefKey != 0) { + if(prefKey == 0){ + mSwitchCompat.setChecked(item.isChecked()); + mSwitchCompat.setPrefKey(null); + }else { mSwitchCompat.setPrefKey(itemView.getResources().getString(prefKey)); } - mSwitchCompat.setChecked(item.isChecked()); } private void onClick() { diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/widget/PrefSwitch.java b/app/src/main/java/com/stardust/scriptdroid/ui/widget/PrefSwitch.java index 902af283..370ef782 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/widget/PrefSwitch.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/widget/PrefSwitch.java @@ -69,6 +69,9 @@ public class PrefSwitch extends SwitchCompat implements SharedPreferences.OnShar mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext()); mSharedPreferences.registerOnSharedPreferenceChangeListener(this); } + if(mPrefKey != null){ + setChecked(mSharedPreferences.getBoolean(mPrefKey, mDefaultChecked), false); + } } @Override diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/widget/SwitchCompat.java b/app/src/main/java/com/stardust/scriptdroid/ui/widget/SwitchCompat.java index 96d90157..56c6097e 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/widget/SwitchCompat.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/widget/SwitchCompat.java @@ -40,7 +40,7 @@ public class SwitchCompat extends android.support.v7.widget.SwitchCompat { public void setChecked(boolean checked, boolean notify) { mIgnoreCheckedChange = !notify; - setChecked(checked); + super.setChecked(checked); mIgnoreCheckedChange = false; } diff --git a/autojs/src/main/assets/modules/__io__.js b/autojs/src/main/assets/modules/__io__.js index 825765b4..ad382866 100644 --- a/autojs/src/main/assets/modules/__io__.js +++ b/autojs/src/main/assets/modules/__io__.js @@ -1,6 +1,6 @@ module.exports = function(__runtime__, scope){ - var files = Object.create(com.stardust.pio.PFiles); + var files = Object.create(com.stardust.autojs.runtime.api); files.cwd = function(){ return scope.engines.myEngine().cwd(); } diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Files.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Files.java new file mode 100644 index 00000000..3e9d6f9b --- /dev/null +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Files.java @@ -0,0 +1,232 @@ +package com.stardust.autojs.runtime.api; + +import android.content.Context; +import android.content.res.AssetManager; + +import com.stardust.pio.PFileInterface; +import com.stardust.pio.PFiles; +import com.stardust.util.Func1; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Created by Stardust on 2018/1/23. + */ + +public class Files { + + public static PFileInterface open(String path, String mode, String encoding, int bufferSize) { + return PFiles.open(path, mode, encoding, bufferSize); + } + + public static Object open(String path, String mode, String encoding) { + return PFiles.open(path, mode, encoding); + } + + public static Object open(String path, String mode) { + return PFiles.open(path, mode); + } + + public static Object open(String path) { + return PFiles.open(path); + } + + public static boolean create(String path) { + return PFiles.create(path); + } + + public static boolean createIfNotExists(String path) { + return PFiles.createIfNotExists(path); + } + + public static boolean createWithDirs(String path) { + return PFiles.createWithDirs(path); + } + + public static boolean exists(String path) { + return PFiles.exists(path); + } + + public static boolean ensureDir(String path) { + return PFiles.ensureDir(path); + } + + public static String read(String path, String encoding) { + return PFiles.read(path, encoding); + } + + public static String read(String path) { + return PFiles.read(path); + } + + public static String read(File file, String encoding) { + return PFiles.read(file, encoding); + } + + public static String read(File file) { + return PFiles.read(file); + } + + public static String read(InputStream is, String encoding) { + return PFiles.read(is, encoding); + } + + public static String read(InputStream inputStream) { + return PFiles.read(inputStream); + } + + public static byte[] readBytes(InputStream is) { + return PFiles.readBytes(is); + } + + public static boolean copyRaw(Context context, int rawId, String path) { + return PFiles.copyRaw(context, rawId, path); + } + + public static boolean copyStream(InputStream is, String path) { + return PFiles.copyStream(is, path); + } + + public static void write(InputStream is, OutputStream os) { + PFiles.write(is, os); + } + + public static void write(String path, String text) { + PFiles.write(path, text); + } + + public static void write(String path, String text, String encoding) { + PFiles.write(path, text, encoding); + } + + public static void write(File file, String text) { + PFiles.write(file, text); + } + + public static void write(FileOutputStream fileOutputStream, String text) { + PFiles.write(fileOutputStream, text); + } + + public static void write(OutputStream outputStream, String text, String encoding) { + PFiles.write(outputStream, text, encoding); + } + + public static void append(String path, String text) { + PFiles.append(path, text); + } + + public static void append(String path, String text, String encoding) { + PFiles.append(path, text, encoding); + } + + public static void writeBytes(OutputStream outputStream, byte[] bytes) { + PFiles.writeBytes(outputStream, bytes); + } + + public static void appendBytes(String path, byte[] bytes) { + PFiles.appendBytes(path, bytes); + } + + public static void writeBytes(String path, byte[] bytes) { + PFiles.writeBytes(path, bytes); + } + + public static boolean copy(String pathFrom, String pathTo) { + return PFiles.copy(pathFrom, pathTo); + } + + public static boolean copyAsset(Context context, String assetFile, String path) { + return PFiles.copyAsset(context, assetFile, path); + } + + public static String renameWithoutExtensionAndReturnNewPath(String path, String newName) { + return PFiles.renameWithoutExtensionAndReturnNewPath(path, newName); + } + + public static boolean renameWithoutExtension(String path, String newName) { + return PFiles.renameWithoutExtension(path, newName); + } + + public static boolean rename(String path, String newName) { + return PFiles.rename(path, newName); + } + + public static boolean move(String path, String newPath) { + return PFiles.move(path, newPath); + } + + public static String getExtension(String fileName) { + return PFiles.getExtension(fileName); + } + + public static String generateNotExistingPath(String path, String extension) { + return PFiles.generateNotExistingPath(path, extension); + } + + public static String getName(String filePath) { + return PFiles.getName(filePath); + } + + public static String getNameWithoutExtension(String filePath) { + return PFiles.getNameWithoutExtension(filePath); + } + + public static File copyAssetToTmpFile(Context context, String path) { + return PFiles.copyAssetToTmpFile(context, path); + } + + public static boolean deleteRecursively(File file) { + return PFiles.deleteRecursively(file); + } + + public static boolean remove(String path) { + return PFiles.remove(path); + } + + public static boolean removeDir(String path) { + return PFiles.removeDir(path); + } + + public static String getSdcardPath() { + return PFiles.getSdcardPath(); + } + + public static String readAsset(AssetManager assets, String path) { + return PFiles.readAsset(assets, path); + } + + public static String[] listDir(String path) { + return PFiles.listDir(path); + } + + public static String[] listDir(String path, Func1 filter) { + return PFiles.listDir(path, filter); + } + + public static boolean isFile(String path) { + return PFiles.isFile(path); + } + + public static boolean isDir(String path) { + return PFiles.isDir(path); + } + + public static boolean isEmptyDir(String path) { + return PFiles.isEmptyDir(path); + } + + public static String join(String parent, String child) { + return PFiles.join(parent, child); + } + + public static String getHumanReadableSize(long bytes) { + return PFiles.getHumanReadableSize(bytes); + } + + public static String getSimplifiedPath(String path) { + return PFiles.getSimplifiedPath(path); + } +} diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java index cf729b2d..565e6c20 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java @@ -27,6 +27,7 @@ import com.stardust.concurrent.VolatileDispose; import com.stardust.pio.UncheckedIOException; import com.stardust.util.ScreenMetrics; +import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Point; import org.opencv.core.Rect;