diff --git a/.idea/misc.xml b/.idea/misc.xml
index 13edfcd8..715986fb 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -49,7 +49,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 27ff3966..faef0803 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,5 +1,6 @@
apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'
+apply plugin: 'me.tatarka.retrolambda'
def AAVersion = '4.2.0'
android {
@@ -30,8 +31,8 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_7
- targetCompatibility JavaVersion.VERSION_1_7
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
encoding = 'utf-8'
}
dataBinding {
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 30fb4fc1..c3d7d2ef 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -25,6 +25,8 @@
-dontwarn com.iwebpp.nodeandroid.**
-dontwarn org.msgpack.core.**
-dontwarn com.pushtorefresh.storio.**
+-dontwarn java.lang.invoke.*
+-dontwarn **$$Lambda$*
-keep class org.mozilla.javascript.** { *; }
-keep class com.jecelyin.editor.** { *; }
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/CommonUtils.java b/app/src/main/java/com/stardust/scriptdroid/external/CommonUtils.java
index e2669bf0..1c9fe9aa 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/CommonUtils.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/CommonUtils.java
@@ -8,8 +8,8 @@ import com.stardust.autojs.script.JavaScriptFileSource;
import com.stardust.autojs.script.ScriptSource;
import com.stardust.autojs.script.SequenceScriptSource;
import com.stardust.autojs.script.StringScriptSource;
-import com.stardust.scriptdroid.script.PathChecker;
-import com.stardust.scriptdroid.script.Scripts;
+import com.stardust.scriptdroid.model.script.PathChecker;
+import com.stardust.scriptdroid.model.script.Scripts;
import java.io.File;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/open/ImportIntentActivity.java b/app/src/main/java/com/stardust/scriptdroid/external/open/ImportIntentActivity.java
index 96934410..a1c0b699 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/open/ImportIntentActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/open/ImportIntentActivity.java
@@ -5,13 +5,11 @@ import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.text.TextUtils;
-import android.webkit.MimeTypeMap;
import android.widget.Toast;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.scriptdroid.ui.common.ScriptOperations;
-import com.stardust.scriptdroid.ui.main.MainActivity;
import com.stardust.scriptdroid.R;
import java.io.FileNotFoundException;
@@ -46,7 +44,7 @@ public class ImportIntentActivity extends BaseActivity {
private void handleIntent(Intent intent) throws FileNotFoundException {
Uri uri = intent.getData();
if (uri != null && "content".equals(uri.getScheme())) {
- String ext = PFile.getExtension(uri.getScheme());
+ String ext = PFiles.getExtension(uri.getScheme());
if(TextUtils.isEmpty(ext)){
ext = "js";
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/shortcut/ShortcutActivity.java b/app/src/main/java/com/stardust/scriptdroid/external/shortcut/ShortcutActivity.java
index b96ea505..4fb8f53b 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/shortcut/ShortcutActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/shortcut/ShortcutActivity.java
@@ -4,10 +4,10 @@ import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
-import com.stardust.scriptdroid.script.PathChecker;
+import com.stardust.scriptdroid.model.script.PathChecker;
import com.stardust.scriptdroid.external.CommonUtils;
-import com.stardust.scriptdroid.script.ScriptFile;
-import com.stardust.scriptdroid.script.Scripts;
+import com.stardust.scriptdroid.model.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.Scripts;
/**
* Created by Stardust on 2017/1/23.
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskPrefEditActivity.java b/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskPrefEditActivity.java
index e819cf79..bc5fb427 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskPrefEditActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/tasker/TaskPrefEditActivity.java
@@ -11,8 +11,8 @@ import android.view.View;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.external.CommonUtils;
-import com.stardust.scriptdroid.script.ScriptFile;
-import com.stardust.scriptdroid.script.StorageFileProvider;
+import com.stardust.scriptdroid.model.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.StorageFileProvider;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.scriptdroid.ui.main.scripts.ScriptListView;
import com.twofortyfouram.locale.sdk.client.ui.activity.AbstractAppCompatPluginActivity;
@@ -46,12 +46,9 @@ public class TaskPrefEditActivity extends AbstractAppCompatPluginActivity {
ScriptListView scriptList = (ScriptListView) findViewById(R.id.script_list);
scriptList.setStorageFileProvider(mStorageFileProvider);
scriptList.setCurrentDirectory(StorageFileProvider.DEFAULT_DIRECTORY);
- scriptList.setOnScriptFileClickListener(new ScriptListView.OnScriptFileClickListener() {
- @Override
- public void onScriptFileClick(View view, ScriptFile file) {
- mSelectedScriptFilePath = file.getPath();
- finish();
- }
+ scriptList.setOnScriptFileClickListener((view, file) -> {
+ mSelectedScriptFilePath = file.getPath();
+ finish();
});
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidget.java b/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidget.java
index 03281557..12896554 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidget.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidget.java
@@ -9,7 +9,7 @@ import android.text.TextUtils;
import android.util.Log;
import android.widget.RemoteViews;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.external.CommonUtils;
import com.stardust.scriptdroid.external.open.RunIntentActivity;
@@ -41,7 +41,7 @@ public class ScriptWidget extends AppWidgetProvider {
if (TextUtils.isEmpty(path) || widgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
return false;
}
- String name = PFile.getNameWithoutExtension(path);
+ String name = PFiles.getNameWithoutExtension(path);
int requestCode = ScriptWidgets.getRequestCodeForAppWidgetId(widgetId);
Log.d(LOG_TAG, "updateWidget: id = " + widgetId + ", requestCode = " + requestCode + ", path = " + path);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidgetSettingsActivity.java b/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidgetSettingsActivity.java
index db06002f..edc1f5b3 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidgetSettingsActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/widget/ScriptWidgetSettingsActivity.java
@@ -9,8 +9,8 @@ import android.view.MenuItem;
import android.view.View;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.script.ScriptFile;
-import com.stardust.scriptdroid.script.StorageFileProvider;
+import com.stardust.scriptdroid.model.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.StorageFileProvider;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.scriptdroid.ui.main.scripts.ScriptListView;
@@ -46,12 +46,9 @@ public class ScriptWidgetSettingsActivity extends BaseActivity {
ScriptListView scriptList = (ScriptListView) findViewById(R.id.script_list);
scriptList.setStorageFileProvider(mStorageFileProvider);
scriptList.setCurrentDirectory(StorageFileProvider.DEFAULT_DIRECTORY);
- scriptList.setOnScriptFileClickListener(new ScriptListView.OnScriptFileClickListener() {
- @Override
- public void onScriptFileClick(View view, ScriptFile file) {
- mSelectedScriptFilePath = file.getPath();
- finish();
- }
+ scriptList.setOnScriptFileClickListener((view, file) -> {
+ mSelectedScriptFilePath = file.getPath();
+ finish();
});
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/sample/Sample.java b/app/src/main/java/com/stardust/scriptdroid/model/sample/Sample.java
similarity index 55%
rename from app/src/main/java/com/stardust/scriptdroid/script/sample/Sample.java
rename to app/src/main/java/com/stardust/scriptdroid/model/sample/Sample.java
index 500c5e91..06dff709 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/sample/Sample.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/sample/Sample.java
@@ -1,10 +1,4 @@
-package com.stardust.scriptdroid.script.sample;
-
-import android.content.Context;
-
-import com.stardust.autojs.script.StringScriptSource;
-import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.util.AssetsCache;
+package com.stardust.scriptdroid.model.sample;
import java.io.Serializable;
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/sample/SampleFileManager.java b/app/src/main/java/com/stardust/scriptdroid/model/sample/SampleFileManager.java
similarity index 88%
rename from app/src/main/java/com/stardust/scriptdroid/script/sample/SampleFileManager.java
rename to app/src/main/java/com/stardust/scriptdroid/model/sample/SampleFileManager.java
index 70e30eb5..028c2dde 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/sample/SampleFileManager.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/sample/SampleFileManager.java
@@ -1,9 +1,9 @@
-package com.stardust.scriptdroid.script.sample;
+package com.stardust.scriptdroid.model.sample;
import android.content.Context;
import android.content.res.AssetManager;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.App;
import java.io.IOException;
@@ -43,7 +43,7 @@ public class SampleFileManager {
try {
String[] samples = assets.list(path);
for (String sample : samples) {
- group.add(new Sample(PFile.getNameWithoutExtension(sample), path + "/" + sample));
+ group.add(new Sample(PFiles.getNameWithoutExtension(sample), path + "/" + sample));
}
return group;
} catch (IOException e) {
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/sample/SampleGroup.java b/app/src/main/java/com/stardust/scriptdroid/model/sample/SampleGroup.java
similarity index 90%
rename from app/src/main/java/com/stardust/scriptdroid/script/sample/SampleGroup.java
rename to app/src/main/java/com/stardust/scriptdroid/model/sample/SampleGroup.java
index 4c8422d2..7a1d28fc 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/sample/SampleGroup.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/sample/SampleGroup.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.script.sample;
+package com.stardust.scriptdroid.model.sample;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/PathChecker.java b/app/src/main/java/com/stardust/scriptdroid/model/script/PathChecker.java
similarity index 97%
rename from app/src/main/java/com/stardust/scriptdroid/script/PathChecker.java
rename to app/src/main/java/com/stardust/scriptdroid/model/script/PathChecker.java
index 951508a0..e95956cd 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/PathChecker.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/script/PathChecker.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.script;
+package com.stardust.scriptdroid.model.script;
import android.app.Activity;
import android.content.Context;
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/ScriptFile.java b/app/src/main/java/com/stardust/scriptdroid/model/script/ScriptFile.java
similarity index 56%
rename from app/src/main/java/com/stardust/scriptdroid/script/ScriptFile.java
rename to app/src/main/java/com/stardust/scriptdroid/model/script/ScriptFile.java
index bab57a3a..44c6de16 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/ScriptFile.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/script/ScriptFile.java
@@ -1,13 +1,13 @@
-package com.stardust.scriptdroid.script;
+package com.stardust.scriptdroid.model.script;
import android.os.Environment;
-import android.renderscript.Script;
import android.support.annotation.Nullable;
import com.stardust.autojs.script.AutoFileSource;
import com.stardust.autojs.script.JavaScriptFileSource;
import com.stardust.autojs.script.ScriptSource;
import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import java.io.File;
import java.io.FileFilter;
@@ -18,7 +18,7 @@ import java.util.ArrayList;
* Created by Stardust on 2017/1/23.
*/
-public class ScriptFile extends File {
+public class ScriptFile extends PFile {
public static final int TYPE_UNKNOWN = 0;
public static final int TYPE_AUTO = 1;
@@ -26,57 +26,20 @@ public class ScriptFile extends File {
private int mType = -1;
- private String mSimplifyPath;
- private String mSimplifiedName;
-
-
public ScriptFile(String path) {
super(path);
- init();
}
public ScriptFile(String parent, String name) {
super(parent, name);
- init();
- }
-
- private void init() {
- mSimplifiedName = PFile.getNameWithoutExtension(getName());
- mSimplifyPath = getPath();
- if (mSimplifyPath.startsWith(Environment.getExternalStorageDirectory().getPath())) {
- mSimplifyPath = mSimplifyPath.substring(Environment.getExternalStorageDirectory().getPath().length());
- }
}
public ScriptFile(ScriptFile parent, String child) {
super(parent, child);
- init();
}
- public boolean renameTo(String newName) {
- if (isDirectory())
- return renameTo(new File(getParent(), newName));
- else
- return renameTo(new File(getParent(), newName + "." + getExtension()));
- }
-
- @Nullable
- public ScriptFile renameAndReturnNewFile(String newName) {
- ScriptFile newFile = isDirectory() ? new ScriptFile(getParent(), newName) :
- new ScriptFile(getParent(), newName + "." + getExtension());
- if (renameTo(newFile)) {
- return newFile;
- } else {
- return null;
- }
- }
-
- private String getExtension() {
- return PFile.getExtension(getName());
- }
-
- public String getSimplifiedPath() {
- return mSimplifyPath;
+ public ScriptFile(File file) {
+ super(file.getPath());
}
public int getType() {
@@ -98,13 +61,8 @@ public class ScriptFile extends File {
@Override
public ScriptFile[] listFiles() {
- return listFiles(new FileFilter() {
- @Override
- public boolean accept(File file) {
- return (file.getName().endsWith(".js") || file.getName().endsWith(".auto") ||
- file.isDirectory()) && !file.getName().startsWith(".");
- }
- });
+ return listFiles(file -> (file.getName().endsWith(".js") || file.getName().endsWith(".auto") ||
+ file.isDirectory()) && !file.getName().startsWith("."));
}
@Override
@@ -132,14 +90,6 @@ public class ScriptFile extends File {
}
- public String getSimplifiedName() {
- return mSimplifiedName;
- }
-
- public boolean moveTo(ScriptFile to) {
- return renameTo(new File(to, getName()));
- }
-
public ScriptSource toSource() {
if (getType() == TYPE_JAVA_SCRIPT) {
return new JavaScriptFileSource(this);
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/Scripts.java b/app/src/main/java/com/stardust/scriptdroid/model/script/Scripts.java
similarity index 97%
rename from app/src/main/java/com/stardust/scriptdroid/script/Scripts.java
rename to app/src/main/java/com/stardust/scriptdroid/model/script/Scripts.java
index 9d723cba..d40b6f5c 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/Scripts.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/script/Scripts.java
@@ -1,11 +1,10 @@
-package com.stardust.scriptdroid.script;
+package com.stardust.scriptdroid.model.script;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.Nullable;
-import com.stardust.autojs.engine.RhinoJavaScriptEngine;
import com.stardust.autojs.execution.ExecutionConfig;
import com.stardust.autojs.execution.ScriptExecution;
import com.stardust.autojs.execution.ScriptExecutionListener;
@@ -19,7 +18,7 @@ import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.external.CommonUtils;
import com.stardust.scriptdroid.external.shortcut.Shortcut;
import com.stardust.scriptdroid.external.shortcut.ShortcutActivity;
-import com.stardust.scriptdroid.script.sample.Sample;
+import com.stardust.scriptdroid.model.sample.Sample;
import com.stardust.scriptdroid.ui.edit.EditActivity;
import com.stardust.util.AssetsCache;
diff --git a/app/src/main/java/com/stardust/scriptdroid/script/StorageFileProvider.java b/app/src/main/java/com/stardust/scriptdroid/model/script/StorageFileProvider.java
similarity index 53%
rename from app/src/main/java/com/stardust/scriptdroid/script/StorageFileProvider.java
rename to app/src/main/java/com/stardust/scriptdroid/model/script/StorageFileProvider.java
index 3b0120cb..a0be2e1c 100644
--- a/app/src/main/java/com/stardust/scriptdroid/script/StorageFileProvider.java
+++ b/app/src/main/java/com/stardust/scriptdroid/model/script/StorageFileProvider.java
@@ -1,13 +1,15 @@
-package com.stardust.scriptdroid.script;
+package com.stardust.scriptdroid.model.script;
import android.os.Environment;
+import com.stardust.pio.PFile;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.util.LimitedHashMap;
import org.greenrobot.eventbus.EventBus;
+import java.io.FileFilter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -28,31 +30,33 @@ public class StorageFileProvider {
public static final int CREATE = 1;
public static final int CHANGE = 2;
public static final int ALL = 3;
+ public static final String DEFAULT_DIRECTORY_PATH = Environment.getExternalStorageDirectory() + App.getApp().getString(R.string.folder_name);
+ public static final ScriptFile DEFAULT_DIRECTORY = new ScriptFile(DEFAULT_DIRECTORY_PATH);
public static class DirectoryChangeEvent {
- private final ScriptFile mDir;
+ private final PFile mDir;
private final int mChange;
- private final ScriptFile mFile;
- private final ScriptFile mNewFile;
+ private final PFile mFile;
+ private final PFile mNewFile;
- public DirectoryChangeEvent(ScriptFile dir, int change, ScriptFile file) {
+ public DirectoryChangeEvent(PFile dir, int change, PFile file) {
this(dir, change, file, file);
}
- public DirectoryChangeEvent(ScriptFile directory) {
+ public DirectoryChangeEvent(PFile directory) {
this(directory, ALL, null);
}
- public DirectoryChangeEvent(ScriptFile dir, int change, ScriptFile oldFile, ScriptFile newFile) {
+ public DirectoryChangeEvent(PFile dir, int change, PFile oldFile, PFile newFile) {
mDir = dir;
mChange = change;
mFile = oldFile;
mNewFile = newFile;
}
- public ScriptFile getDir() {
+ public PFile getDir() {
return mDir;
}
@@ -60,26 +64,49 @@ public class StorageFileProvider {
return mChange;
}
- public ScriptFile getFile() {
+ public PFile getFile() {
return mFile;
}
- public ScriptFile getNewFile() {
+ public PFile getNewFile() {
return mNewFile;
}
}
- public static final String DEFAULT_DIRECTORY_PATH = Environment.getExternalStorageDirectory() + App.getApp().getString(R.string.folder_name);
- public static final ScriptFile DEFAULT_DIRECTORY = new ScriptFile(DEFAULT_DIRECTORY_PATH);
-
-
- private static StorageFileProvider defaultProvider = new StorageFileProvider();
-
- public static StorageFileProvider getDefault() {
- return defaultProvider;
- }
private static StorageFileProvider externalStorageProvider;
+ private static final FileFilter SCRIPT_FILTER = file ->
+ file.isDirectory() || file.getName().endsWith(".js") || file.getName().endsWith(".auto");
+ private static final StorageFileProvider DEFAULT_PROVIDER = new StorageFileProvider(DEFAULT_DIRECTORY, 10, SCRIPT_FILTER);
+
+ private EventBus mDirectoryEventBus = new EventBus();
+ private LimitedHashMap> mPFileCache;
+ private PFile mInitialDirectory;
+
+ public StorageFileProvider(PFile initialDirectory, int cacheSize, FileFilter fileFilter) {
+ mInitialDirectory = initialDirectory;
+ mFileFilter = fileFilter;
+ mPFileCache = new LimitedHashMap<>(cacheSize);
+ }
+
+ private FileFilter mFileFilter;
+
+ public StorageFileProvider(String path, int cacheSize) {
+ this(new PFile(path), cacheSize);
+ }
+
+ public StorageFileProvider(PFile initialDirectory, int cacheSize) {
+ mInitialDirectory = initialDirectory;
+ mPFileCache = new LimitedHashMap<>(cacheSize);
+ }
+
+ public StorageFileProvider() {
+ this(DEFAULT_DIRECTORY, 10);
+ }
+
+ public static StorageFileProvider getDefault() {
+ return DEFAULT_PROVIDER;
+ }
public static StorageFileProvider getExternalStorageProvider() {
if (externalStorageProvider == null) {
@@ -88,31 +115,13 @@ public class StorageFileProvider {
return externalStorageProvider;
}
- private EventBus mDirectoryEventBus = new EventBus();
- private LimitedHashMap> mScriptFileCache;
- private ScriptFile mInitialDirectory;
- private ScriptFile[] mInitialDirectoryScriptFiles;
-
- public StorageFileProvider(String path, int cacheSize) {
- this(new ScriptFile(path), cacheSize);
- }
-
- public StorageFileProvider(ScriptFile initialDirectory, int cacheSize) {
- mInitialDirectory = initialDirectory;
- mScriptFileCache = new LimitedHashMap<>(cacheSize);
- }
-
- public StorageFileProvider() {
- this(DEFAULT_DIRECTORY, 10);
- }
-
- public void notifyDirectoryChanged(ScriptFile directory) {
+ public void notifyDirectoryChanged(PFile directory) {
clearCache(directory);
mDirectoryEventBus.post(new DirectoryChangeEvent(directory));
}
- public void notifyFileChanged(ScriptFile dir, ScriptFile oldFile, ScriptFile newFile) {
- List files = getScriptFilesFromCache(dir);
+ public void notifyFileChanged(PFile dir, PFile oldFile, PFile newFile) {
+ List files = getFilesFromCache(dir);
if (files == null)
return;
int i = files.indexOf(oldFile);
@@ -123,8 +132,8 @@ public class StorageFileProvider {
}
- public void notifyFileRemoved(ScriptFile dir, ScriptFile file) {
- List files = getScriptFilesFromCache(dir);
+ public void notifyFileRemoved(PFile dir, PFile file) {
+ List files = getFilesFromCache(dir);
if (files == null)
return;
if (files.remove(file)) {
@@ -132,8 +141,8 @@ public class StorageFileProvider {
}
}
- public void notifyFileCreated(ScriptFile dir, ScriptFile file) {
- List files = getScriptFilesFromCache(dir);
+ public void notifyFileCreated(PFile dir, PFile file) {
+ List files = getFilesFromCache(dir);
if (files == null)
return;
files.add(0, file);
@@ -141,60 +150,63 @@ public class StorageFileProvider {
}
public void notifyStoragePermissionGranted() {
- mScriptFileCache.clear();
- mInitialDirectoryScriptFiles = null;
+ mPFileCache.clear();
mDirectoryEventBus.post(new DirectoryChangeEvent(mInitialDirectory));
}
@SuppressWarnings("unchecked")
public void refreshAll() {
- Map files = (Map) mScriptFileCache.clone();
- mScriptFileCache.clear();
- mInitialDirectoryScriptFiles = null;
+ Map files = (Map) mPFileCache.clone();
+ mPFileCache.clear();
mDirectoryEventBus.post(new DirectoryChangeEvent(mInitialDirectory));
- for (Map.Entry file : files.entrySet()) {
- mDirectoryEventBus.post(new DirectoryChangeEvent(new ScriptFile(file.getKey())));
+ for (Map.Entry file : files.entrySet()) {
+ mDirectoryEventBus.post(new DirectoryChangeEvent(new PFile(file.getKey())));
}
}
- public ScriptFile getInitialDirectory() {
+ public PFile getInitialDirectory() {
return mInitialDirectory;
}
- public Observable getInitialDirectoryScriptFiles() {
- return getDirectoryScriptFiles(mInitialDirectory);
+ public Observable getInitialDirectoryFiles() {
+ return getDirectoryFiles(mInitialDirectory);
}
- public Observable getDirectoryScriptFiles(ScriptFile directory) {
- List scriptFiles = getScriptFilesFromCache(directory);
- if (scriptFiles == null) {
+ public Observable getDirectoryFiles(PFile directory) {
+ List PFiles = getFilesFromCache(directory);
+ if (PFiles == null) {
return listFiles(directory);
}
- return Observable.fromIterable(scriptFiles);
+ return Observable.fromIterable(PFiles);
}
- private void clearCache(ScriptFile directory) {
- mScriptFileCache.remove(directory.getPath());
+ private void clearCache(PFile directory) {
+ mPFileCache.remove(directory.getPath());
}
- private Observable listFiles(ScriptFile directory) {
+ private Observable listFiles(PFile directory) {
return Observable.just(directory)
- .flatMap(new Function>() {
+ .flatMap(new Function>() {
@Override
- public ObservableSource apply(@NonNull ScriptFile dir) throws Exception {
- ScriptFile[] scriptFiles = dir.listFiles();
- if (scriptFiles == null) {
+ public ObservableSource apply(@NonNull PFile dir) throws Exception {
+ PFile[] files;
+ if (mFileFilter == null) {
+ files = dir.listFiles();
+ } else {
+ files = dir.listFiles(mFileFilter);
+ }
+ if (files == null) {
return Observable.empty();
}
- mScriptFileCache.put(dir.getPath(), new ArrayList<>(Arrays.asList(scriptFiles)));
- return Observable.fromArray(scriptFiles);
+ mPFileCache.put(dir.getPath(), new ArrayList<>(Arrays.asList(files)));
+ return Observable.fromArray(files);
}
});
}
- private List getScriptFilesFromCache(ScriptFile directory) {
- return mScriptFileCache.get(directory.getPath());
+ private List getFilesFromCache(PFile directory) {
+ return mPFileCache.get(directory.getPath());
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
index 54dbfd2d..e3e4c00f 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
@@ -8,12 +8,12 @@ import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
import com.stardust.autojs.execution.ScriptExecution;
import com.stardust.autojs.script.StringScriptSource;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.script.Scripts;
-import com.stardust.scriptdroid.script.StorageFileProvider;
+import com.stardust.scriptdroid.model.script.Scripts;
+import com.stardust.scriptdroid.model.script.StorageFileProvider;
/**
* Created by Stardust on 2017/5/11.
@@ -83,7 +83,7 @@ public class SublimeResponseHandler implements Handler {
if (TextUtils.isEmpty(name)) {
name = "[" + viewId + "]";
} else {
- name = PFile.getNameWithoutExtension(name);
+ name = PFiles.getNameWithoutExtension(name);
}
mScriptExecutions.put(viewId, Scripts.run(new StringScriptSource(":" + name, script)));
}
@@ -108,13 +108,13 @@ public class SublimeResponseHandler implements Handler {
if (TextUtils.isEmpty(name)) {
name = "untitled";
}
- name = PFile.getNameWithoutExtension(name);
+ name = PFiles.getNameWithoutExtension(name);
if (!name.endsWith(".js")) {
name = "" + name + ".js";
} else {
name = "" + name;
}
- PFile.write(StorageFileProvider.DEFAULT_DIRECTORY_PATH + name, script);
+ PFiles.write(StorageFileProvider.DEFAULT_DIRECTORY_PATH + name, script);
App.getApp().getUiHandler().toast(R.string.text_script_save_successfully);
}
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/tool/DrawableSaver.java b/app/src/main/java/com/stardust/scriptdroid/tool/DrawableSaver.java
index fd142ca9..21560113 100644
--- a/app/src/main/java/com/stardust/scriptdroid/tool/DrawableSaver.java
+++ b/app/src/main/java/com/stardust/scriptdroid/tool/DrawableSaver.java
@@ -8,7 +8,7 @@ import android.view.View;
import android.widget.ImageView;
import com.stardust.app.OnActivityResultDelegate;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -64,7 +64,7 @@ public abstract class DrawableSaver {
public void run() {
try {
OutputStream outputStream = mContext.openFileOutput(mName, Context.MODE_PRIVATE);
- PFile.write(inputStream, outputStream);
+ PFiles.write(inputStream, outputStream);
outputStream.close();
inputStream.close();
callback.run();
diff --git a/app/src/main/java/com/stardust/scriptdroid/tool/Logcat.java b/app/src/main/java/com/stardust/scriptdroid/tool/Logcat.java
deleted file mode 100644
index e34f4902..00000000
--- a/app/src/main/java/com/stardust/scriptdroid/tool/Logcat.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.stardust.scriptdroid.tool;
-
-import com.stardust.scriptdroid.script.StorageFileProvider;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Created by Stardust on 2017/5/22.
- */
-
-public class Logcat {
-
- private static final String LOG_PATH = StorageFileProvider.DEFAULT_DIRECTORY_PATH + "log.txt";
- private static final String DISABLE_PATH = StorageFileProvider.DEFAULT_DIRECTORY_PATH + "disable_log.txt";
- private static Process sLogSavingProcess;
-
- public static void startLogSavingIfNeeded() {
- if (sLogSavingProcess != null)
- return;
- if (new File(DISABLE_PATH).exists())
- return;
- try {
- sLogSavingProcess = Runtime.getRuntime().exec("logcat -f " + LOG_PATH);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public static void deleteLogFile() {
- new File(LOG_PATH).delete();
- }
-}
diff --git a/app/src/main/java/com/stardust/scriptdroid/tool/SimpleObserver.java b/app/src/main/java/com/stardust/scriptdroid/tool/SimpleObserver.java
index 0107bd82..afccf92e 100644
--- a/app/src/main/java/com/stardust/scriptdroid/tool/SimpleObserver.java
+++ b/app/src/main/java/com/stardust/scriptdroid/tool/SimpleObserver.java
@@ -1,6 +1,5 @@
package com.stardust.scriptdroid.tool;
-import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptLoopDialog.java b/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptLoopDialog.java
index 63f75cdc..f7fd20c9 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptLoopDialog.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptLoopDialog.java
@@ -11,8 +11,8 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.app.DialogUtils;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.script.ScriptFile;
-import com.stardust.scriptdroid.script.Scripts;
+import com.stardust.scriptdroid.model.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.Scripts;
import butterknife.BindView;
import butterknife.ButterKnife;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptOperations.java b/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptOperations.java
index b1f2a6c5..354c8306 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptOperations.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/common/ScriptOperations.java
@@ -14,13 +14,14 @@ import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.app.DialogUtils;
import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.pio.UncheckedIOException;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.script.ScriptFile;
-import com.stardust.scriptdroid.script.Scripts;
-import com.stardust.scriptdroid.script.StorageFileProvider;
-import com.stardust.scriptdroid.script.sample.Sample;
+import com.stardust.scriptdroid.model.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.Scripts;
+import com.stardust.scriptdroid.model.script.StorageFileProvider;
+import com.stardust.scriptdroid.model.sample.Sample;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import org.reactivestreams.Publisher;
@@ -61,12 +62,9 @@ public class ScriptOperations {
public void newScriptFileForScript(final String script) {
showFileNameInputDialog("", "js")
- .subscribe(new Consumer() {
- @Override
- public void accept(@io.reactivex.annotations.NonNull String input) throws Exception {
- createScriptFile(getCurrentDirectoryPath() + input + ".js", script, false);
- }
- });
+ .subscribe(input ->
+ createScriptFile(getCurrentDirectoryPath() + input + ".js", script, false)
+ );
}
private String getCurrentDirectoryPath() {
@@ -78,10 +76,10 @@ public class ScriptOperations {
}
public void createScriptFile(String path, String script, boolean edit) {
- if (PFile.createIfNotExists(path)) {
+ if (PFiles.createIfNotExists(path)) {
if (script != null) {
try {
- PFile.write(path, script);
+ PFiles.write(path, script);
} catch (UncheckedIOException e) {
showMessage(R.string.text_file_write_fail);
return;
@@ -106,13 +104,13 @@ public class ScriptOperations {
}
public Observable importFile(final String pathFrom) {
- return showFileNameInputDialog(PFile.getNameWithoutExtension(pathFrom), PFile.getExtension(pathFrom))
+ return showFileNameInputDialog(PFiles.getNameWithoutExtension(pathFrom), PFiles.getExtension(pathFrom))
.observeOn(Schedulers.io())
.map(new Function() {
@Override
public String apply(@io.reactivex.annotations.NonNull String s) throws Exception {
- final String pathTo = getCurrentDirectoryPath() + s + "." + PFile.getExtension(pathFrom);
- if (PFile.copy(pathFrom, pathTo)) {
+ final String pathTo = getCurrentDirectoryPath() + s + "." + PFiles.getExtension(pathFrom);
+ if (PFiles.copy(pathFrom, pathTo)) {
showMessage(R.string.text_import_succeed);
} else {
showMessage(R.string.text_import_fail);
@@ -124,13 +122,13 @@ public class ScriptOperations {
}
public Observable importFile(String prefix, final InputStream inputStream, final String ext) {
- return showFileNameInputDialog(PFile.getNameWithoutExtension(prefix), ext)
+ return showFileNameInputDialog(PFiles.getNameWithoutExtension(prefix), ext)
.observeOn(Schedulers.io())
.map(new Function() {
@Override
public String apply(@io.reactivex.annotations.NonNull String s) throws Exception {
final String pathTo = getCurrentDirectoryPath() + s + "." + ext;
- if (PFile.copyStream(inputStream, pathTo)) {
+ if (PFiles.copyStream(inputStream, pathTo)) {
showMessage(R.string.text_import_succeed);
} else {
showMessage(R.string.text_import_fail);
@@ -207,7 +205,7 @@ public class ScriptOperations {
public Observable importSample(Sample sample) {
try {
- return importFile(sample.name, mContext.getAssets().open(sample.path), PFile.getExtension(sample.path));
+ return importFile(sample.name, mContext.getAssets().open(sample.path), PFiles.getExtension(sample.path));
} catch (IOException e) {
e.printStackTrace();
showMessage(R.string.text_import_fail);
@@ -218,17 +216,14 @@ public class ScriptOperations {
public Observable rename(final ScriptFile file) {
final ScriptFile oldFile = new ScriptFile(file.getPath());
String originalName = file.getSimplifiedName();
- return showNameInputDialog(originalName, new InputCallback(file.isDirectory() ? null : PFile.getExtension(file.getName()),
+ return showNameInputDialog(originalName, new InputCallback(file.isDirectory() ? null : PFiles.getExtension(file.getName()),
originalName))
- .map(new Function() {
- @Override
- public Boolean apply(@io.reactivex.annotations.NonNull String newName) throws Exception {
- ScriptFile newFile = file.renameAndReturnNewFile(newName);
- if (newFile != null) {
- mStorageFileProvider.notifyFileChanged(mCurrentDirectory, oldFile, newFile);
- }
- return newFile != null;
+ .map(newName -> {
+ PFile newFile = file.renameAndReturnNewFile(newName);
+ if (newFile != null) {
+ mStorageFileProvider.notifyFileChanged(mCurrentDirectory, oldFile, newFile);
}
+ return newFile != null;
});
}
@@ -241,7 +236,7 @@ public class ScriptOperations {
Observable.fromPublisher(new Publisher() {
@Override
public void subscribe(Subscriber super Boolean> s) {
- s.onNext(PFile.deleteRecursively(scriptFile));
+ s.onNext(PFiles.deleteRecursively(scriptFile));
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java
index 57600749..6c3cb254 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java
@@ -20,11 +20,10 @@ import android.widget.FrameLayout;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.R;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
-import org.apache.commons.lang3.StringEscapeUtils;
import org.jdeferred.Deferred;
import org.jdeferred.DoneCallback;
import org.jdeferred.impl.DeferredObject;
@@ -43,7 +42,6 @@ import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subjects.PublishSubject;
import me.zhanghai.android.materialprogressbar.MaterialProgressBar;
-import retrofit2.http.GET;
/**
* Created by Stardust on 2017/9/27.
@@ -106,7 +104,7 @@ public class CodeMirrorEditor extends FrameLayout {
try {
sAvailableThemes = getResources().getAssets().list("editor/codemirror/theme");
for (int i = 0; i < sAvailableThemes.length; i++) {
- sAvailableThemes[i] = PFile.getNameWithoutExtension(sAvailableThemes[i]);
+ sAvailableThemes[i] = PFiles.getNameWithoutExtension(sAvailableThemes[i]);
}
} catch (IOException e) {
throw new RuntimeException(e);
@@ -204,7 +202,7 @@ public class CodeMirrorEditor extends FrameLayout {
Observable.fromCallable(new Callable() {
@Override
public String call() throws Exception {
- return PFile.read(file);
+ return PFiles.read(file);
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditActivity.java
index c13ffc90..6e647607 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditActivity.java
@@ -10,9 +10,8 @@ import android.view.MenuItem;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.ScriptFile;
import com.stardust.scriptdroid.ui.BaseActivity;
-import com.stardust.scriptdroid.ui.edit.completion.CodeCompletionBar;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import org.androidannotations.annotations.AfterViews;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorMenu.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorMenu.java
index 4b6b6f15..043ac892 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorMenu.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorMenu.java
@@ -6,7 +6,7 @@ import android.text.InputType;
import android.view.MenuItem;
import com.afollestad.materialdialogs.MaterialDialog;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
@@ -178,7 +178,7 @@ public class EditorMenu {
Observable.zip(mEditor.getText(), mEditor.getLineCount(), new BiFunction() {
@Override
public String apply(@NonNull String text, @NonNull Integer lineCount) throws Exception {
- String size = PFile.getHumanReadableSize(text.length());
+ String size = PFiles.getHumanReadableSize(text.length());
return String.format(Locale.getDefault(), mContext.getString(R.string.format_editor_info),
text.length(), lineCount, size);
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java
index a81f84cb..9772b6e4 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java
@@ -4,7 +4,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.res.ColorStateList;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.support.design.widget.Snackbar;
@@ -17,9 +16,9 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.autojs.engine.JavaScriptEngine;
import com.stardust.autojs.execution.ScriptExecution;
import com.stardust.autojs.script.JavaScriptFileSource;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.script.Scripts;
+import com.stardust.scriptdroid.model.script.Scripts;
import com.stardust.scriptdroid.ui.edit.completion.CodeCompletions;
import com.stardust.scriptdroid.ui.edit.completion.CodeCompletionBar;
import com.stardust.scriptdroid.ui.edit.completion.InputMethodEnhancedBarColors;
@@ -40,7 +39,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
-import static com.stardust.scriptdroid.script.Scripts.ACTION_ON_EXECUTION_FINISHED;
+import static com.stardust.scriptdroid.model.script.Scripts.ACTION_ON_EXECUTION_FINISHED;
/**
* Created by Stardust on 2017/9/28.
@@ -261,7 +260,7 @@ public class EditorView extends FrameLayout {
.doOnNext(new Consumer() {
@Override
public void accept(@io.reactivex.annotations.NonNull String s) throws Exception {
- PFile.write(mFile, s);
+ PFiles.write(mFile, s);
}
})
.observeOn(AndroidSchedulers.mainThread())
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/ViewSampleActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/ViewSampleActivity.java
index 09836726..cb8aba5b 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/ViewSampleActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/ViewSampleActivity.java
@@ -17,7 +17,7 @@ import com.stardust.autojs.engine.JavaScriptEngine;
import com.stardust.autojs.execution.ScriptExecution;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.script.sample.Sample;
+import com.stardust.scriptdroid.model.sample.Sample;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.scriptdroid.ui.common.ScriptOperations;
import com.stardust.scriptdroid.ui.help.HelpCatalogueActivity;
@@ -32,8 +32,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.functions.Consumer;
-import static com.stardust.scriptdroid.script.Scripts.ACTION_ON_EXECUTION_FINISHED;
-import static com.stardust.scriptdroid.script.Scripts.EXTRA_EXCEPTION_MESSAGE;
+import static com.stardust.scriptdroid.model.script.Scripts.ACTION_ON_EXECUTION_FINISHED;
+import static com.stardust.scriptdroid.model.script.Scripts.EXTRA_EXCEPTION_MESSAGE;
/**
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/floating/CircularMenu.java b/app/src/main/java/com/stardust/scriptdroid/ui/floating/CircularMenu.java
index 5a029e58..82bb33d5 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/floating/CircularMenu.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/floating/CircularMenu.java
@@ -19,7 +19,7 @@ import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.accessibility.AccessibilityService;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.autojs.record.GlobalRecorder;
-import com.stardust.scriptdroid.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.ScriptFile;
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
import com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutBoundsFloatyWindow;
import com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutHierarchyFloatyWindow;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/floating/EditorFloaty.java b/app/src/main/java/com/stardust/scriptdroid/ui/floating/EditorFloaty.java
index 820d57dd..8a651b93 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/floating/EditorFloaty.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/floating/EditorFloaty.java
@@ -10,7 +10,7 @@ import com.stardust.enhancedfloaty.FloatyService;
import com.stardust.enhancedfloaty.ResizableFloaty;
import com.stardust.enhancedfloaty.ResizableFloatyWindow;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.script.ScriptFile;
+import com.stardust.scriptdroid.model.script.ScriptFile;
import com.stardust.scriptdroid.ui.edit.EditActivity_;
import com.stardust.scriptdroid.ui.edit.EditorView;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/help/DocumentationActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/help/DocumentationActivity.java
index f77bda5b..3a6c2ab9 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/help/DocumentationActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/help/DocumentationActivity.java
@@ -5,7 +5,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebView;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.theme.ThemeColorManagerCompat;
import com.stardust.util.UnderuseExecutors;
@@ -52,7 +52,7 @@ public class DocumentationActivity extends BaseActivity {
@Override
public void run() {
try {
- mDocumentation = PFile.read(getAssets().open("help/" + path));
+ mDocumentation = PFiles.read(getAssets().open("help/" + path));
} catch (IOException e) {
e.printStackTrace();
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/help/HelpCatalogueActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/help/HelpCatalogueActivity.java
index df2d66b3..8e7777a6 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/help/HelpCatalogueActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/help/HelpCatalogueActivity.java
@@ -13,7 +13,7 @@ import android.view.ViewGroup;
import android.widget.TextView;
import android.workground.WrapContentLinearLayoutManager;
-import com.stardust.pio.PFile;
+import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.google.gson.Gson;
@@ -202,7 +202,7 @@ public class HelpCatalogueActivity extends BaseActivity {
private static void readCatalogues(String path) {
Map> fromJson;
try {
- String json = PFile.read(App.getApp().getAssets().open(path));
+ String json = PFiles.read(App.getApp().getAssets().open(path));
Gson gson = new Gson();
Type type = new TypeToken