diff --git a/app/build.gradle b/app/build.gradle
index 925202d3..518067f9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@ android {
applicationId "com.stardust.scriptdroid"
minSdkVersion 19
targetSdkVersion 23
- versionCode 130
- versionName "2.0.11 Alpha"
+ versionCode 132
+ versionName "2.0.11 Alpha3"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6b188167..6da2e2a1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -90,7 +90,7 @@
android:theme="@style/IssueReporterTheme"/>
-
+
diff --git a/app/src/main/assets/help/documentation/UI(用户界面).md b/app/src/main/assets/help/documentation/UI(用户界面).md
new file mode 100644
index 00000000..e69de29b
diff --git a/app/src/main/assets/modules/ui.js b/app/src/main/assets/modules/ui.js
deleted file mode 100644
index 9c8f2059..00000000
--- a/app/src/main/assets/modules/ui.js
+++ /dev/null
@@ -1,56 +0,0 @@
-
-bg
-w
-h
-margin
-marginLeft
-margin*
-padding
-padding*
-layout_gravity="center"
-gravity
-
-
-weight
-
-
-var ui = {
-
-};
-
-ui.layout = function(xml){
-
-}
-
-
-
-ui.layout(
-
-
-
-
-);
-
-
-
-vat text = ui.asadsad;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-function ui(){
-
-}
-
-
-module.exports = ui;
\ No newline at end of file
diff --git a/app/src/main/assets/sample/安卓7.0+点按和手势/QQ刷一刷.js b/app/src/main/assets/sample/安卓7.0+点按和手势/QQ刷一刷.js
index 2b3e2bc3..96d682a0 100644
--- a/app/src/main/assets/sample/安卓7.0+点按和手势/QQ刷一刷.js
+++ b/app/src/main/assets/sample/安卓7.0+点按和手势/QQ刷一刷.js
@@ -5,7 +5,7 @@ sleep(2000);
while(true){
if(currentPackage() == 'com.tencent.mobileqq'){
- swipe(600, 700, 600, 1400, 400);
+ swipe(600, 900, 600, 1400, 400);
}
sleep(300);
}
\ No newline at end of file
diff --git a/app/src/main/assets/sample/安卓7.0+点按和手势/删除全部空间留言.js b/app/src/main/assets/sample/安卓7.0+点按和手势/删除全部空间留言.js
new file mode 100644
index 00000000..c8adcad5
--- /dev/null
+++ b/app/src/main/assets/sample/安卓7.0+点按和手势/删除全部空间留言.js
@@ -0,0 +1,33 @@
+"auto";
+
+setScreenMetrics(1080, 1920);
+launchApp("QQ");
+
+sleep(1500);
+
+click(891, 1851);
+sleep(1000);
+//点击好友动态
+click(192, 453);
+sleep(1000);
+//点击头像
+click(155, 638);
+sleep(1000);
+//点击留言
+click(747, 775);
+sleep(1000);
+
+while(true){
+ if(currentPackage() == 'com.tencent.mobileqq'){
+ //点击箭头图标
+ click(1029, 433);
+ sleep(300);
+ //点击删除
+ click(530, 820);
+ sleep(300);
+ //点击确定
+ click(331, 1122);
+ sleep(200);
+ }
+ sleep(200);
+}
diff --git a/app/src/main/assets/sample/需要Root权限的自动操作/删除全部空间留言.js b/app/src/main/assets/sample/需要Root权限的自动操作/删除全部空间留言.js
new file mode 100644
index 00000000..fcd82996
--- /dev/null
+++ b/app/src/main/assets/sample/需要Root权限的自动操作/删除全部空间留言.js
@@ -0,0 +1,27 @@
+"auto";
+
+setScreenMetrics(1080, 1920);
+launchApp("QQ");
+
+sleep(1500);
+
+//点击动态图标
+Tap(891, 1851);
+//点击好友动态
+Tap(192, 453);
+//点击头像
+Tap(155, 638);
+//点击留言
+Tap(747, 775);
+
+while(true){
+ if(currentPackage() == 'com.tencent.mobileqq'){
+ //点击箭头图标
+ Tap(1029, 433);
+ //点击删除
+ Tap(530, 820);
+ //点击确定
+ Tap(331, 1122);
+ }
+ sleep(200);
+}
diff --git a/app/src/main/assets/sample/需要Root权限的自动操作/批量删除空间留言.js b/app/src/main/assets/sample/需要Root权限的自动操作/批量删除空间留言.js
deleted file mode 100644
index e3b3633b..00000000
--- a/app/src/main/assets/sample/需要Root权限的自动操作/批量删除空间留言.js
+++ /dev/null
@@ -1,20 +0,0 @@
-SetScreenMetrics(1080, 1920);
-launchApp("QQ");
-
-//点击动态图标
-Tap(891, 1851);
-//点击好友动态
-Tap(192, 453);
-//点击头像
-Tap(155, 638);
-//点击留言
-Tap(747, 775);
-
-while(true){
- //点击箭头图标
- Tap(1029, 433);
- //点击删除
- Tap(530, 820);
- //点击确定
- Tap(331, 1122);
-}
diff --git a/app/src/main/java/com/stardust/scriptdroid/App.java b/app/src/main/java/com/stardust/scriptdroid/App.java
index c796c815..dbfc9c33 100644
--- a/app/src/main/java/com/stardust/scriptdroid/App.java
+++ b/app/src/main/java/com/stardust/scriptdroid/App.java
@@ -1,20 +1,14 @@
package com.stardust.scriptdroid;
import android.app.Activity;
-import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.support.annotation.Keep;
import android.support.multidex.MultiDexApplication;
-import android.util.Log;
-import android.widget.Toast;
import com.squareup.leakcanary.LeakCanary;
import com.stardust.app.SimpleActivityLifecycleCallbacks;
import com.stardust.app.VolumeChangeObserver;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.OverlayPermissionChecker;
-import com.stardust.scriptdroid.service.AccessibilityWatchDogService;
import com.stardust.scriptdroid.statics.ScriptStatics;
import com.stardust.scriptdroid.tool.CrashHandler;
import com.stardust.scriptdroid.tool.JsBeautifierFactory;
@@ -23,9 +17,6 @@ import com.stardust.theme.ThemeColor;
import com.stardust.theme.ThemeColorManager;
import com.stardust.util.ScreenMetrics;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Scriptable;
-
import java.lang.ref.WeakReference;
/**
diff --git a/app/src/main/java/com/stardust/scriptdroid/Pref.java b/app/src/main/java/com/stardust/scriptdroid/Pref.java
index 2ef5dd91..7ac1de80 100644
--- a/app/src/main/java/com/stardust/scriptdroid/Pref.java
+++ b/app/src/main/java/com/stardust/scriptdroid/Pref.java
@@ -18,6 +18,7 @@ public class Pref {
private static final SharedPreferences DISPOSABLE_BOOLEAN = App.getApp().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 SharedPreferences.OnSharedPreferenceChangeListener onSharedPreferenceChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
@@ -124,4 +125,8 @@ public class Pref {
public static void saveServerAddress(String address) {
def().edit().putString(KEY_SERVER_ADDRESS, address).apply();
}
+
+ public static boolean shouldShowAnnunciation() {
+ return getDisposableBoolean(KEY_SHOULD_SHOW_ANNUNCIATION, true);
+ }
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/autojs/AutoJs.java b/app/src/main/java/com/stardust/scriptdroid/autojs/AutoJs.java
index 84488de6..39cc0865 100644
--- a/app/src/main/java/com/stardust/scriptdroid/autojs/AutoJs.java
+++ b/app/src/main/java/com/stardust/scriptdroid/autojs/AutoJs.java
@@ -24,8 +24,8 @@ import com.stardust.scriptdroid.ui.console.StardustConsole;
import com.stardust.util.Supplier;
import com.stardust.util.UiHandler;
import com.stardust.view.accessibility.AccessibilityInfoProvider;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.LayoutInspector;
-import com.stardust.scriptdroid.external.floating_window.menu.record.accessibility.AccessibilityActionRecorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.LayoutInspector;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.accessibility.AccessibilityActionRecorder;
import com.stardust.scriptdroid.service.AccessibilityWatchDogService;
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
import com.stardust.scriptdroid.ui.console.JraskaConsole;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/OnNodeInfoSelectListener.java b/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/OnNodeInfoSelectListener.java
deleted file mode 100644
index 4970a277..00000000
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/OnNodeInfoSelectListener.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view;
-
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
-
-/**
- * Created by Stardust on 2017/3/10.
- */
-
-public interface OnNodeInfoSelectListener {
- void onNodeSelect(NodeInfo info);
-
-}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/FloatingWindowManger.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java
similarity index 95%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/FloatingWindowManger.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java
index 11c37550..b791c937 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/FloatingWindowManger.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window;
+package com.stardust.scriptdroid.external.floatingwindow;
import android.content.Context;
import android.content.Intent;
@@ -12,7 +12,7 @@ import android.widget.Toast;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
import com.stardust.util.IntentUtil;
/**
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/OverlayPermissionChecker.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java
similarity index 98%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/OverlayPermissionChecker.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java
index a3996401..39c149b0 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/OverlayPermissionChecker.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window;
+package com.stardust.scriptdroid.external.floatingwindow;
import android.content.Context;
import android.content.Intent;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/HoverMenuAdapter.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuAdapter.java
similarity index 95%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/HoverMenuAdapter.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuAdapter.java
index 1d5aeb07..11f0200d 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/HoverMenuAdapter.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuAdapter.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu;
+package com.stardust.scriptdroid.external.floatingwindow.menu;
import android.content.Context;
import android.content.res.Resources;
@@ -18,9 +18,9 @@ import android.util.TypedValue;
import android.view.View;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floating_window.menu.content.MainMenuNavigatorContent;
-import com.stardust.scriptdroid.external.floating_window.menu.content.RecordNavigatorContent;
-import com.stardust.scriptdroid.external.floating_window.menu.content.ScriptListNavigatorContent;
+import com.stardust.scriptdroid.external.floatingwindow.menu.content.MainMenuNavigatorContent;
+import com.stardust.scriptdroid.external.floatingwindow.menu.content.RecordNavigatorContent;
+import com.stardust.scriptdroid.external.floatingwindow.menu.content.ScriptListNavigatorContent;
import com.stardust.theme.ThemeColorManagerCompat;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/HoverMenuService.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java
similarity index 96%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/HoverMenuService.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java
index aedb71ad..78833769 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/HoverMenuService.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu;
+package com.stardust.scriptdroid.external.floatingwindow.menu;
import android.app.Service;
@@ -17,9 +17,9 @@ import com.stardust.hover.SimpleHoverMenuTransitionListener;
import com.stardust.hover.WindowHoverMenu;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.FloatingWindowManger;
-import com.stardust.scriptdroid.external.floating_window.menu.view.FloatingLayoutBoundsView;
-import com.stardust.scriptdroid.external.floating_window.menu.view.FloatingLayoutHierarchyView;
+import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.menu.view.FloatingLayoutBoundsView;
+import com.stardust.scriptdroid.external.floatingwindow.menu.view.FloatingLayoutHierarchyView;
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
import com.stardust.theme.ThemeColorManagerCompat;
import com.stardust.util.MessageEvent;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/MainMenuNavigatorContent.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java
similarity index 94%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/MainMenuNavigatorContent.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java
index 57ce80cd..a878a3cf 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/MainMenuNavigatorContent.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.content;
+package com.stardust.scriptdroid.external.floatingwindow.menu.content;
import android.annotation.SuppressLint;
import android.content.Context;
@@ -11,8 +11,8 @@ import android.widget.Toast;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.LayoutInspector;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.LayoutInspector;
import com.stardust.util.ClipboardUtil;
import com.stardust.scriptdroid.ui.main.MainActivity;
import com.stardust.util.MessageEvent;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/RecordNavigatorContent.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/RecordNavigatorContent.java
similarity index 92%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/RecordNavigatorContent.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/RecordNavigatorContent.java
index fe513f53..18f52231 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/RecordNavigatorContent.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/RecordNavigatorContent.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.content;
+package com.stardust.scriptdroid.external.floatingwindow.menu.content;
import android.content.Context;
import android.support.annotation.NonNull;
@@ -14,11 +14,11 @@ import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.accessibility.AccessibilityEventHelper;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
-import com.stardust.scriptdroid.external.floating_window.menu.record.Recorder;
-import com.stardust.scriptdroid.external.floating_window.menu.record.accessibility.AccessibilityActionRecorder;
-import com.stardust.scriptdroid.external.floating_window.menu.record.inputevent.KeyObserver;
-import com.stardust.scriptdroid.external.floating_window.menu.record.inputevent.TouchRecorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.Recorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.accessibility.AccessibilityActionRecorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent.KeyObserver;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent.TouchRecorder;
import com.stardust.scriptdroid.ui.main.MainActivity;
import com.stardust.util.MessageEvent;
import com.stardust.view.ViewBinder;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/ScriptListNavigatorContent.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/ScriptListNavigatorContent.java
similarity index 94%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/ScriptListNavigatorContent.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/ScriptListNavigatorContent.java
index dd50f80c..04b8abd2 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/content/ScriptListNavigatorContent.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/ScriptListNavigatorContent.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.content;
+package com.stardust.scriptdroid.external.floatingwindow.menu.content;
import android.content.Context;
import android.support.annotation.NonNull;
@@ -7,10 +7,8 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import com.stardust.autojs.script.FileScriptSource;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
import com.stardust.scriptdroid.script.ScriptFile;
import com.stardust.scriptdroid.script.Scripts;
import com.stardust.scriptdroid.script.StorageScriptProvider;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/LayoutInspector.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java
similarity index 94%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/LayoutInspector.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java
index 1b16dd1a..40b120be 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/LayoutInspector.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/LayoutInspector.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector;
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector;
import android.accessibilityservice.AccessibilityService;
import android.view.accessibility.AccessibilityNodeInfo;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/NodeInfo.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/NodeInfo.java
similarity index 97%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/NodeInfo.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/NodeInfo.java
index 167ab53f..dbf9795c 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/NodeInfo.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/NodeInfo.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector;
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector;
import android.graphics.Rect;
import android.support.annotation.Keep;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutBoundsView.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutBoundsView.java
similarity index 95%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutBoundsView.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutBoundsView.java
index e02fe525..ee23e498 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutBoundsView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutBoundsView.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view;
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view;
import android.content.Context;
import android.graphics.Canvas;
@@ -12,7 +12,7 @@ import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
import com.stardust.util.ViewUtil;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutHierarchyView.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutHierarchyView.java
similarity index 97%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutHierarchyView.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutHierarchyView.java
index 0bb08acf..012100bf 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutHierarchyView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutHierarchyView.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view;
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view;
import android.content.Context;
import android.graphics.Canvas;
@@ -14,7 +14,7 @@ import android.widget.ListView;
import android.widget.TextView;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
import com.stardust.util.ViewUtil;
import com.stardust.widget.LevelBeamView;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutInspectView.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutInspectView.java
similarity index 93%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutInspectView.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutInspectView.java
index 0302373a..ed7af408 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/LayoutInspectView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/LayoutInspectView.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view;
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view;
import android.content.Context;
import android.os.Build;
@@ -13,7 +13,7 @@ import android.widget.FrameLayout;
import android.widget.ViewSwitcher;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
/**
* Created by Stardust on 2017/3/10.
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/NodeInfoView.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/NodeInfoView.java
similarity index 95%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/NodeInfoView.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/NodeInfoView.java
index b4edec67..b63bf272 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/layout_inspector/view/NodeInfoView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/NodeInfoView.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view;
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view;
import android.content.Context;
import android.graphics.Color;
@@ -10,7 +10,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
import com.stardust.util.ClipboardUtil;
import java.lang.reflect.Field;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/OnNodeInfoSelectListener.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/OnNodeInfoSelectListener.java
new file mode 100644
index 00000000..04627361
--- /dev/null
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/layout_inspector/view/OnNodeInfoSelectListener.java
@@ -0,0 +1,12 @@
+package com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view;
+
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
+
+/**
+ * Created by Stardust on 2017/3/10.
+ */
+
+public interface OnNodeInfoSelectListener {
+ void onNodeSelect(NodeInfo info);
+
+}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/Recorder.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/Recorder.java
similarity index 98%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/Recorder.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/Recorder.java
index afde01bb..fb0f7f44 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/Recorder.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/Recorder.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record;
import java.util.Arrays;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/accessibility/AccessibilityActionConverter.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/accessibility/AccessibilityActionConverter.java
similarity index 96%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/accessibility/AccessibilityActionConverter.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/accessibility/AccessibilityActionConverter.java
index f7fe9efb..8e00e5dd 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/accessibility/AccessibilityActionConverter.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/accessibility/AccessibilityActionConverter.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.accessibility;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.accessibility;
import android.accessibilityservice.AccessibilityService;
import android.os.Build;
@@ -8,7 +8,7 @@ import android.view.accessibility.AccessibilityNodeInfo;
import com.stardust.automator.UiObject;
import com.stardust.automator.simple_action.FilterAction;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
import com.stardust.util.SparseArrayEntries;
import com.stardust.view.accessibility.AccessibilityNodeInfoHelper;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/accessibility/AccessibilityActionRecorder.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/accessibility/AccessibilityActionRecorder.java
similarity index 93%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/accessibility/AccessibilityActionRecorder.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/accessibility/AccessibilityActionRecorder.java
index 7b748734..dc2a0ac2 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/accessibility/AccessibilityActionRecorder.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/accessibility/AccessibilityActionRecorder.java
@@ -1,9 +1,9 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.accessibility;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.accessibility;
import android.accessibilityservice.AccessibilityService;
import android.view.accessibility.AccessibilityEvent;
-import com.stardust.scriptdroid.external.floating_window.menu.record.Recorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.Recorder;
import com.stardust.view.accessibility.AccessibilityDelegate;
import java.util.Arrays;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/EventFormatException.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/EventFormatException.java
similarity index 86%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/EventFormatException.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/EventFormatException.java
index e383c768..c33c6c47 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/EventFormatException.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/EventFormatException.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
/**
* Created by Stardust on 2017/3/7.
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventConverter.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventConverter.java
similarity index 95%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventConverter.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventConverter.java
index 21be0eec..76212612 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventConverter.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventConverter.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
import android.support.annotation.NonNull;
import android.text.TextUtils;
@@ -7,7 +7,7 @@ import android.widget.Toast;
import com.flurry.android.FlurryAgent;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floating_window.menu.record.Recorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.Recorder;
import com.stardust.util.MapEntries;
import java.util.regex.Matcher;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventRecorder.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventRecorder.java
similarity index 91%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventRecorder.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventRecorder.java
index b8a8d181..43ffb642 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventRecorder.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventRecorder.java
@@ -1,7 +1,7 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
import com.stardust.scriptdroid.autojs.api.Shell;
-import com.stardust.scriptdroid.external.floating_window.menu.record.Recorder;
+import com.stardust.scriptdroid.external.floatingwindow.menu.record.Recorder;
/**
* Created by Stardust on 2017/3/6.
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToJsConverter.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToJsConverter.java
similarity index 98%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToJsConverter.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToJsConverter.java
index dc98cc2b..98349601 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToJsConverter.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToJsConverter.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
import android.support.annotation.NonNull;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToSendEventConverter.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToSendEventConverter.java
similarity index 94%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToSendEventConverter.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToSendEventConverter.java
index ce248eac..e2dc2539 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToSendEventConverter.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToSendEventConverter.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
import android.support.annotation.NonNull;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToSendEventJsConverter.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToSendEventJsConverter.java
similarity index 97%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToSendEventJsConverter.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToSendEventJsConverter.java
index 5958d20f..58e1c6b4 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/InputEventToSendEventJsConverter.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/InputEventToSendEventJsConverter.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
import android.support.annotation.NonNull;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/KeyObserver.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/KeyObserver.java
similarity index 94%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/KeyObserver.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/KeyObserver.java
index 0c652ee0..ddee4075 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/KeyObserver.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/KeyObserver.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
import android.support.annotation.NonNull;
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/TouchRecorder.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/TouchRecorder.java
similarity index 77%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/TouchRecorder.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/TouchRecorder.java
index 641bac6c..158fdb91 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/record/inputevent/TouchRecorder.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/record/inputevent/TouchRecorder.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.record.inputevent;
+package com.stardust.scriptdroid.external.floatingwindow.menu.record.inputevent;
/**
* Created by Stardust on 2017/3/16.
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/view/FloatingLayoutBoundsView.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/view/FloatingLayoutBoundsView.java
similarity index 77%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/view/FloatingLayoutBoundsView.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/view/FloatingLayoutBoundsView.java
index b0933c68..cacbe015 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/view/FloatingLayoutBoundsView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/view/FloatingLayoutBoundsView.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.view;
+package com.stardust.scriptdroid.external.floatingwindow.menu.view;
import android.content.Context;
import android.view.KeyEvent;
@@ -6,11 +6,11 @@ import android.view.WindowManager;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.Theme;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view.LayoutBoundsView;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view.NodeInfoView;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view.OnNodeInfoSelectListener;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view.LayoutBoundsView;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view.NodeInfoView;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view.OnNodeInfoSelectListener;
import com.stardust.util.MessageEvent;
/**
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/view/FloatingLayoutHierarchyView.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/view/FloatingLayoutHierarchyView.java
similarity index 79%
rename from app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/view/FloatingLayoutHierarchyView.java
rename to app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/view/FloatingLayoutHierarchyView.java
index 12bb2a9f..701ab41c 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floating_window/menu/view/FloatingLayoutHierarchyView.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/view/FloatingLayoutHierarchyView.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.external.floating_window.menu.view;
+package com.stardust.scriptdroid.external.floatingwindow.menu.view;
import android.content.Context;
import android.view.KeyEvent;
@@ -6,11 +6,11 @@ import android.view.WindowManager;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.Theme;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.NodeInfo;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view.LayoutHierarchyView;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view.NodeInfoView;
-import com.stardust.scriptdroid.external.floating_window.menu.layout_inspector.view.OnNodeInfoSelectListener;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view.LayoutHierarchyView;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view.NodeInfoView;
+import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.view.OnNodeInfoSelectListener;
import com.stardust.util.MessageEvent;
/**
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/Handler.java b/app/src/main/java/com/stardust/scriptdroid/sublime/Handler.java
similarity index 72%
rename from app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/Handler.java
rename to app/src/main/java/com/stardust/scriptdroid/sublime/Handler.java
index f5d8f840..87acd293 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/Handler.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/Handler.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.sublime_plugin_client;
+package com.stardust.scriptdroid.sublime;
import com.google.gson.JsonObject;
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/Router.java b/app/src/main/java/com/stardust/scriptdroid/sublime/Router.java
similarity index 92%
rename from app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/Router.java
rename to app/src/main/java/com/stardust/scriptdroid/sublime/Router.java
index 74a27f65..754f3eaa 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/Router.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/Router.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.sublime_plugin_client;
+package com.stardust.scriptdroid.sublime;
import com.google.gson.JsonObject;
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimePluginClient.java b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java
similarity index 96%
rename from app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimePluginClient.java
rename to app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java
index 0452d13c..2cac412b 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimePluginClient.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java
@@ -1,11 +1,8 @@
-package com.stardust.scriptdroid.sublime_plugin_client;
-
-import android.os.Looper;
+package com.stardust.scriptdroid.sublime;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import com.stardust.util.UiHandler;
import org.greenrobot.eventbus.EventBus;
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimePluginService.java b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginService.java
similarity index 91%
rename from app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimePluginService.java
rename to app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginService.java
index 3c0d69fe..89c994ad 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimePluginService.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginService.java
@@ -1,7 +1,6 @@
-package com.stardust.scriptdroid.sublime_plugin_client;
+package com.stardust.scriptdroid.sublime;
import com.google.gson.JsonObject;
-import com.stardust.scriptdroid.autojs.AutoJs;
import java.io.IOException;
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimeResponseHandler.java b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
similarity index 97%
rename from app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimeResponseHandler.java
rename to app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
index b2266a17..7179aaed 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime_plugin_client/SublimeResponseHandler.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
@@ -1,4 +1,4 @@
-package com.stardust.scriptdroid.sublime_plugin_client;
+package com.stardust.scriptdroid.sublime;
import android.text.TextUtils;
import android.util.SparseArray;
@@ -6,7 +6,6 @@ import android.util.SparseArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
-import com.stardust.autojs.engine.ScriptEngine;
import com.stardust.autojs.execution.ScriptExecution;
import com.stardust.autojs.script.StringScriptSource;
import com.stardust.pio.PFile;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/console/JraskaConsole.java b/app/src/main/java/com/stardust/scriptdroid/ui/console/JraskaConsole.java
index af381050..709516bc 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/console/JraskaConsole.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/console/JraskaConsole.java
@@ -10,7 +10,7 @@ import android.util.SparseArray;
import com.jraska.console.Console;
import com.stardust.autojs.runtime.api.AbstractConsole;
import com.stardust.scriptdroid.App;
-import com.stardust.scriptdroid.sublime_plugin_client.SublimePluginService;
+import com.stardust.scriptdroid.sublime.SublimePluginService;
import com.stardust.util.SparseArrayEntries;
import com.stardust.util.TextUtils;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/console/StardustConsole.java b/app/src/main/java/com/stardust/scriptdroid/ui/console/StardustConsole.java
index 43b3163b..8d756982 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/console/StardustConsole.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/console/StardustConsole.java
@@ -13,7 +13,7 @@ import com.stardust.enhancedfloaty.FloatyService;
import com.stardust.enhancedfloaty.ResizableExpandableFloatyWindow;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
import com.stardust.util.UiHandler;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/sidemenu/EditSideMenuFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/sidemenu/EditSideMenuFragment.java
index bdae5c5c..9832b613 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/sidemenu/EditSideMenuFragment.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/sidemenu/EditSideMenuFragment.java
@@ -10,8 +10,8 @@ import android.view.View;
import android.view.ViewGroup;
import com.stardust.app.Fragment;
-import com.stardust.scriptdroid.external.floating_window.FloatingWindowManger;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
import com.stardust.view.ViewBinding;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.ui.console.LogActivity;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java
index 36b0fef8..e3b20dec 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java
@@ -7,7 +7,6 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
-import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
@@ -29,10 +28,12 @@ import com.stardust.app.FragmentPagerAdapterBuilder;
import com.stardust.app.NotAskAgainDialog;
import com.stardust.app.OnActivityResultDelegate;
import com.stardust.enhancedfloaty.FloatyService;
+import com.stardust.pio.PFile;
import com.stardust.scriptdroid.BuildConfig;
+import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
import com.stardust.scriptdroid.script.ScriptFile;
import com.stardust.scriptdroid.script.StorageScriptProvider;
import com.stardust.scriptdroid.script.sample.Sample;
@@ -52,6 +53,7 @@ import com.stardust.util.MessageEvent;
import com.stardust.view.ViewBinder;
import com.stardust.view.ViewBinding;
import com.stardust.view.accessibility.AccessibilityServiceUtils;
+import com.stardust.widget.CommonMarkdownView;
import com.stardust.widget.SlidingUpPanel;
import org.greenrobot.eventbus.EventBus;
@@ -94,6 +96,20 @@ public class MainActivity extends BaseActivity {
mIntentToHandle = getIntent();
EventBus.getDefault().register(this);
mVersionGuard = new VersionGuard(this);
+ showAnnunciationIfNeeded();
+ }
+
+ private void showAnnunciationIfNeeded() {
+ if (!Pref.shouldShowAnnunciation()) {
+ return;
+ }
+ new CommonMarkdownView.DialogBuilder(this)
+ .padding(36, 0, 36, 0)
+ .markdown(PFile.read(getResources().openRawResource(R.raw.annunciation)))
+ .title(R.string.text_annunciation)
+ .positiveText(R.string.ok)
+ .canceledOnTouchOutside(false)
+ .show();
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java
index 08a0b608..d2747d28 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java
@@ -18,11 +18,11 @@ import com.stardust.app.Fragment;
import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floating_window.FloatingWindowManger;
-import com.stardust.scriptdroid.external.floating_window.menu.HoverMenuService;
+import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
import com.stardust.scriptdroid.service.AccessibilityWatchDogService;
-import com.stardust.scriptdroid.sublime_plugin_client.SublimePluginClient;
-import com.stardust.scriptdroid.sublime_plugin_client.SublimePluginService;
+import com.stardust.scriptdroid.sublime.SublimePluginClient;
+import com.stardust.scriptdroid.sublime.SublimePluginService;
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
import com.stardust.scriptdroid.tool.WifiTool;
import com.stardust.scriptdroid.ui.console.LogActivity;
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java
index 830fd813..75545632 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java
@@ -280,23 +280,17 @@ public class MyScriptListFragment extends Fragment {
@ViewBinding.Click(R.id.delete)
private void deleteScriptFile() {
dismissDialogs();
- if (mSelectedScriptFile.isDirectory()) {
- new MaterialDialog.Builder(getActivity())
- .title(R.string.delete_confirm)
- .positiveText(R.string.cancel)
- .negativeText(R.string.ok)
- .onNegative(new MaterialDialog.SingleButtonCallback() {
- @Override
- public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
- doDeletingScriptFile();
- }
- })
- .show();
- } else {
- doDeletingScriptFile();
- }
-
-
+ new MaterialDialog.Builder(getActivity())
+ .title(R.string.delete_confirm)
+ .positiveText(R.string.cancel)
+ .negativeText(R.string.ok)
+ .onNegative(new MaterialDialog.SingleButtonCallback() {
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ doDeletingScriptFile();
+ }
+ })
+ .show();
}
private void doDeletingScriptFile() {
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/settings/SettingsActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/settings/SettingsActivity.java
index 568a0335..ac7a9bf5 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/settings/SettingsActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/settings/SettingsActivity.java
@@ -138,7 +138,7 @@ public class SettingsActivity extends BaseActivity {
}
}
})
- .entry(getString(R.string.text_about), new Runnable() {
+ .entry(getString(R.string.text_about_me_and_repo), new Runnable() {
@Override
public void run() {
startActivity(new Intent(getActivity(), AboutActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
diff --git a/app/src/main/java/com/stardust/widget/CommonMarkdownView.java b/app/src/main/java/com/stardust/widget/CommonMarkdownView.java
index 14c732bc..fd330d4a 100644
--- a/app/src/main/java/com/stardust/widget/CommonMarkdownView.java
+++ b/app/src/main/java/com/stardust/widget/CommonMarkdownView.java
@@ -4,19 +4,22 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
+import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.util.AttributeSet;
-import android.view.KeyEvent;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import android.widget.FrameLayout;
+
+import com.afollestad.materialdialogs.MaterialDialog;
+import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import org.commonmark.ext.heading.anchor.HeadingAnchorExtension;
import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;
-import java.util.Collection;
import java.util.Collections;
/**
@@ -31,6 +34,7 @@ public class CommonMarkdownView extends WebView {
.build();
private String mMarkdownHtml;
+ private String mPadding = "16px";
public CommonMarkdownView(Context context) {
super(context);
@@ -47,11 +51,15 @@ public class CommonMarkdownView extends WebView {
init();
}
+ public void setPadding(String padding) {
+ mPadding = padding;
+ }
+
private void init() {
setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
- loadUrl("javascript:document.body.style.margin=\"12%\"; void 0");
+ loadUrl("javascript:document.body.style.margin=\"" + mPadding + "\"; void 0");
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@@ -104,4 +112,30 @@ public class CommonMarkdownView extends WebView {
loadHtml(mMarkdownHtml);
}
}
+
+ public static class DialogBuilder extends ThemeColorMaterialDialogBuilder {
+
+ private CommonMarkdownView mMarkdownView;
+ private FrameLayout mContainer;
+
+ public DialogBuilder(@NonNull Context context) {
+ super(context);
+ mContainer = new FrameLayout(context);
+ mMarkdownView = new CommonMarkdownView(context);
+ mContainer.addView(mMarkdownView);
+ mContainer.setClipToPadding(true);
+ customView(mContainer, false);
+ }
+
+ public DialogBuilder padding(int l, int t, int r, int b) {
+ mContainer.setPadding(l, t, r, b);
+ return this;
+ }
+
+ public DialogBuilder markdown(String md) {
+ mMarkdownView.loadMarkdown(md);
+ return this;
+ }
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/floating_window_expand.xml b/app/src/main/res/layout/floating_window_expand.xml
index c111fc70..b90bda5c 100644
--- a/app/src/main/res/layout/floating_window_expand.xml
+++ b/app/src/main/res/layout/floating_window_expand.xml
@@ -19,13 +19,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
- 已连接
已断开连接
服务器地址
+ 声明
+ 关于项目与开发者
- 无
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 0ac2da10..e7a06b56 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -72,7 +72,7 @@
-
+
diff --git a/autojs/src/main/assets/modules/__automator__.js b/autojs/src/main/assets/modules/__automator__.js
index 62f414a1..eca86d99 100644
--- a/autojs/src/main/assets/modules/__automator__.js
+++ b/autojs/src/main/assets/modules/__automator__.js
@@ -45,7 +45,7 @@ module.exports = function(__runtime__, scope){
function toStrokes(args){
var screenMetrics = __runtime__.getScreenMetrics();
var len = args.length;
- var strokes = [];
+ var strokes = java.lang.reflect.Array.newInstance(android.accessibilityservice.GestureDescription.StrokeDescription, len);
for(var i = 0; i < len; i++){
var gesture = args[i];
var pointsIndex = 1;
@@ -63,7 +63,7 @@ module.exports = function(__runtime__, scope){
for(var j = pointsIndex + 1; j < gestureLen; j++){
path.lineTo(screenMetrics.scaleX(gesture[j][0]), screenMetrics.scaleY(gesture[j][1]));
}
- strokes.push(new android.accessibilityservice.GestureDescription.StrokeDescription(path, start, delay));
+ strokes[i] = new android.accessibilityservice.GestureDescription.StrokeDescription(path, start, delay);
}
return strokes;
}
diff --git a/autojs/src/main/assets/modules/__ui__.js b/autojs/src/main/assets/modules/__ui__.js
index 4d68daa1..c2ecdd52 100644
--- a/autojs/src/main/assets/modules/__ui__.js
+++ b/autojs/src/main/assets/modules/__ui__.js
@@ -1,15 +1,15 @@
module.exports = function(__runtime__, scope){
- var ui = Object.create(__runtime__.ui);
- ui.__id_cache__ = {};
+ var ui = {};
+ ui.__view_cache__ = {};
ui.layout = function(xml){
- view = ui.inflate(activity, xml.toString());
+ var view = __runtime__.ui.layoutInflater.inflate(activity, xml.toString());
ui.setContentView(view);
}
ui.setContentView = function(view){
ui.view = view;
- ui.__id_cache__ = {};
+ ui.__view_cache__ = {};
activity.setContentView(view);
}
@@ -28,7 +28,10 @@ module.exports = function(__runtime__, scope){
}
ui.nonUi = function(action){
- ui.runOnNonUiThread(action);
+ if(!ui.__executor__){
+ ui.__executor__ = java.util.concurrent.Executors.newSingleThreadExecutor();
+ }
+ ui.__executor__.submit(action);
}
ui.postDelay = function(action, delay){
@@ -39,7 +42,7 @@ module.exports = function(__runtime__, scope){
if(typeof(color) == 'string'){
color = android.graphics.Color.parseColor(color);
}
- if(Build.VERSION.SDK_INT >= 21){
+ if(android.os.Build.VERSION.SDK_INT >= 21){
activity.getWindow().setStatusBarColor(color);
}
}
@@ -48,6 +51,10 @@ module.exports = function(__runtime__, scope){
activity.finish();
}
+ ui.findViewByStringId = function(view, id){
+ return com.stardust.autojs.runtime.api.ui.JsViewHelper.findViewByStringId(view, id);
+ }
+
function decorate(view){
var view = Object.create(view);
view._id = function(id){
@@ -70,23 +77,25 @@ module.exports = function(__runtime__, scope){
return view;
}
- return new JavaAdapter(org.mozilla.javascript.NativeObject, {
- put: function(name, start, value) {
- ui[name] = value;
- },
- get: function(name, start) {
- if(!ui[name] && ui.view){
- var cacheView = ui.__id_cache__[name];
- if(cacheView){
- return cacheView;
- }
- cacheView = ui.id(name);
- if(cacheView){
- ui.__id_cache__[name] = cacheView;
- return cacheView;
- }
- }
- return ui[name];
- }
- });
+ var proxy = __runtime__.ui;
+ proxy.__proxy__ = {
+ set: function(name, value){
+ ui[name] = value;
+ },
+ get: function(name) {
+ if(!ui[name] && ui.view){
+ var cacheView = ui.__view_cache__[name];
+ if(cacheView){
+ return cacheView;
+ }
+ cacheView = ui.id(name);
+ if(cacheView){
+ ui.__view_cache__[name] = cacheView;
+ return cacheView;
+ }
+ }
+ return ui[name];
+ }
+ };
+ return proxy;
}
diff --git a/autojs/src/main/java/com/stardust/autojs/engine/RhinoJavaScriptEngine.java b/autojs/src/main/java/com/stardust/autojs/engine/RhinoJavaScriptEngine.java
index 6790e97d..bc252fbf 100644
--- a/autojs/src/main/java/com/stardust/autojs/engine/RhinoJavaScriptEngine.java
+++ b/autojs/src/main/java/com/stardust/autojs/engine/RhinoJavaScriptEngine.java
@@ -2,18 +2,14 @@ package com.stardust.autojs.engine;
import android.util.Log;
-import com.stardust.autojs.engine.preprocess.MultiLinePreprocessor;
-import com.stardust.autojs.engine.preprocess.Preprocessor;
-import com.stardust.autojs.rhino_android.AndroidContextFactory;
-import com.stardust.autojs.rhino_android.RhinoAndroidHelper;
+import com.stardust.autojs.rhino.AndroidContextFactory;
+import com.stardust.autojs.rhino.RhinoAndroidHelper;
import com.stardust.autojs.runtime.ScriptInterruptedException;
import com.stardust.autojs.script.ScriptSource;
import com.stardust.pio.UncheckedIOException;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextFactory;
-import org.mozilla.javascript.ErrorReporter;
-import org.mozilla.javascript.EvaluatorException;
import org.mozilla.javascript.ImporterTopLevel;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ScriptableObject;
diff --git a/autojs/src/main/java/com/stardust/autojs/rhino_android/AndroidClassLoader.java b/autojs/src/main/java/com/stardust/autojs/rhino/AndroidClassLoader.java
similarity index 99%
rename from autojs/src/main/java/com/stardust/autojs/rhino_android/AndroidClassLoader.java
rename to autojs/src/main/java/com/stardust/autojs/rhino/AndroidClassLoader.java
index f6ceee7e..163927c8 100644
--- a/autojs/src/main/java/com/stardust/autojs/rhino_android/AndroidClassLoader.java
+++ b/autojs/src/main/java/com/stardust/autojs/rhino/AndroidClassLoader.java
@@ -1,4 +1,4 @@
-package com.stardust.autojs.rhino_android;
+package com.stardust.autojs.rhino;
import com.android.dx.command.dexer.Main;
diff --git a/autojs/src/main/java/com/stardust/autojs/rhino_android/AndroidContextFactory.java b/autojs/src/main/java/com/stardust/autojs/rhino/AndroidContextFactory.java
similarity index 91%
rename from autojs/src/main/java/com/stardust/autojs/rhino_android/AndroidContextFactory.java
rename to autojs/src/main/java/com/stardust/autojs/rhino/AndroidContextFactory.java
index 6288750a..dbdda2f8 100644
--- a/autojs/src/main/java/com/stardust/autojs/rhino_android/AndroidContextFactory.java
+++ b/autojs/src/main/java/com/stardust/autojs/rhino/AndroidContextFactory.java
@@ -1,12 +1,10 @@
-package com.stardust.autojs.rhino_android;
+package com.stardust.autojs.rhino;
import com.stardust.autojs.runtime.ScriptInterruptedException;
import org.mozilla.javascript.Context;
-import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.tools.shell.ShellContextFactory;
-import org.mozilla.javascript.xml.XMLLib;
import java.io.File;
diff --git a/autojs/src/main/java/com/stardust/autojs/rhino_android/NoSecurityController.java b/autojs/src/main/java/com/stardust/autojs/rhino/NoSecurityController.java
similarity index 93%
rename from autojs/src/main/java/com/stardust/autojs/rhino_android/NoSecurityController.java
rename to autojs/src/main/java/com/stardust/autojs/rhino/NoSecurityController.java
index 0e500a3d..bca52b71 100644
--- a/autojs/src/main/java/com/stardust/autojs/rhino_android/NoSecurityController.java
+++ b/autojs/src/main/java/com/stardust/autojs/rhino/NoSecurityController.java
@@ -1,4 +1,4 @@
-package com.stardust.autojs.rhino_android;
+package com.stardust.autojs.rhino;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.GeneratedClassLoader;
diff --git a/autojs/src/main/java/com/stardust/autojs/rhino/ProxyObject.java b/autojs/src/main/java/com/stardust/autojs/rhino/ProxyObject.java
new file mode 100644
index 00000000..8fd84f56
--- /dev/null
+++ b/autojs/src/main/java/com/stardust/autojs/rhino/ProxyObject.java
@@ -0,0 +1,57 @@
+package com.stardust.autojs.rhino;
+
+import org.mozilla.javascript.Context;
+import org.mozilla.javascript.NativeFunction;
+import org.mozilla.javascript.NativeObject;
+import org.mozilla.javascript.Scriptable;
+import org.mozilla.javascript.UniqueTag;
+
+/**
+ * Created by Stardust on 2017/5/17.
+ */
+
+public class ProxyObject extends NativeObject {
+
+ private NativeFunction mGetter;
+ private NativeFunction mSetter;
+
+ @Override
+ public void put(String name, Scriptable start, Object value) {
+ if (name.equals("__proxy__")) {
+ NativeObject proxy = (NativeObject) value;
+ Object getter = proxy.get("get", start);
+ if (getter instanceof NativeFunction) {
+ mGetter = (NativeFunction) getter;
+ }
+ Object setter = proxy.get("set", start);
+ if (setter instanceof NativeFunction) {
+ mSetter = (NativeFunction) setter;
+ }
+ } else if (mSetter != null) {
+ mSetter.call(Context.getCurrentContext(), start, start, new Object[]{name, value});
+ } else {
+ super.put(name, start, value);
+ }
+ }
+
+ public Object getWithoutProxy(String name, Scriptable start) {
+ return super.get(name, start);
+ }
+
+ @Override
+ public Object get(String name, Scriptable start) {
+ Object value = super.get(name, start);
+ if (value != null && value != UniqueTag.NOT_FOUND) {
+ return value;
+ }
+ if (mGetter != null) {
+ value = mGetter.call(Context.getCurrentContext(), start, start, new Object[]{name});
+ }
+ return value;
+ }
+
+ @Override
+ public Object getDefaultValue(Class> typeHint) {
+ return toString();
+ }
+}
diff --git a/autojs/src/main/java/com/stardust/autojs/rhino_android/RhinoAndroidHelper.java b/autojs/src/main/java/com/stardust/autojs/rhino/RhinoAndroidHelper.java
similarity index 98%
rename from autojs/src/main/java/com/stardust/autojs/rhino_android/RhinoAndroidHelper.java
rename to autojs/src/main/java/com/stardust/autojs/rhino/RhinoAndroidHelper.java
index 56e1434f..c56c0d08 100644
--- a/autojs/src/main/java/com/stardust/autojs/rhino_android/RhinoAndroidHelper.java
+++ b/autojs/src/main/java/com/stardust/autojs/rhino/RhinoAndroidHelper.java
@@ -1,4 +1,4 @@
-package com.stardust.autojs.rhino_android;
+package com.stardust.autojs.rhino;
import android.support.annotation.VisibleForTesting;
diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/AbstractScriptRuntime.java b/autojs/src/main/java/com/stardust/autojs/runtime/AbstractScriptRuntime.java
index b9c4079a..a91fdbc9 100644
--- a/autojs/src/main/java/com/stardust/autojs/runtime/AbstractScriptRuntime.java
+++ b/autojs/src/main/java/com/stardust/autojs/runtime/AbstractScriptRuntime.java
@@ -1,14 +1,12 @@
package com.stardust.autojs.runtime;
-import android.view.LayoutInflater;
-
import com.stardust.autojs.engine.ScriptEngine;
import com.stardust.autojs.runtime.api.AbstractShell;
import com.stardust.autojs.runtime.api.AppUtils;
import com.stardust.autojs.runtime.api.Console;
import com.stardust.autojs.runtime.api.UiSelector;
import com.stardust.autojs.runtime.api.ui.UI;
-import com.stardust.autojs.runtime.simple_action.SimpleActionAutomator;
+import com.stardust.autojs.runtime.simpleaction.SimpleActionAutomator;
import com.stardust.util.ScreenMetrics;
import com.stardust.view.accessibility.AccessibilityInfoProvider;
diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/ScriptRuntime.java b/autojs/src/main/java/com/stardust/autojs/runtime/ScriptRuntime.java
index 9ab18711..0008b016 100644
--- a/autojs/src/main/java/com/stardust/autojs/runtime/ScriptRuntime.java
+++ b/autojs/src/main/java/com/stardust/autojs/runtime/ScriptRuntime.java
@@ -5,8 +5,7 @@ import android.os.Looper;
import com.stardust.autojs.R;
import com.stardust.autojs.engine.ScriptEngine;
-import com.stardust.autojs.engine.preprocess.Preprocessor;
-import com.stardust.autojs.rhino_android.AndroidClassLoader;
+import com.stardust.autojs.rhino.AndroidClassLoader;
import com.stardust.autojs.runtime.api.AbstractShell;
import com.stardust.autojs.runtime.api.AppUtils;
import com.stardust.autojs.runtime.api.Console;
diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/UI.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/UI.java
index d9e8f9df..1666aa05 100644
--- a/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/UI.java
+++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/UI.java
@@ -1,49 +1,52 @@
package com.stardust.autojs.runtime.api.ui;
import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
+import com.stardust.autojs.rhino.ProxyObject;
+
+import org.mozilla.javascript.Scriptable;
+import org.mozilla.javascript.UniqueTag;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Created by Stardust on 2017/5/14.
*/
-public class UI {
+public class UI extends ProxyObject {
+
private Context mContext;
- private JsLayoutInflater mJsLayoutInflater;
- private ExecutorService mExecutorService;
+ private Map mProperties = new ConcurrentHashMap<>();
public UI(Context context, JsLayoutInflater layoutInflater) {
mContext = context;
- mJsLayoutInflater = layoutInflater;
+ mProperties.put("layoutInflater", layoutInflater);
}
-
public UI(Context context) {
this(context, new ConvertLayoutInflater());
}
- public JsLayoutInflater getLayoutInflater() {
- return mJsLayoutInflater;
+
+ @Override
+ public String getClassName() {
+ return UI.class.getSimpleName();
}
- public View inflate(Context context, String xml) {
- return mJsLayoutInflater.inflate(context, xml);
- }
- public void runOnNonUiThread(Runnable action) {
- if (mExecutorService == null) {
- mExecutorService = Executors.newSingleThreadExecutor();
+ @Override
+ public Object get(String name, Scriptable start) {
+ Object value = super.get(name, start);
+ if (value != null && value != UniqueTag.NOT_FOUND && !value.equals(org.mozilla.javascript.Context.getUndefinedValue())) {
+ return value;
}
- mExecutorService.submit(action);
+ value = mProperties.get(name);
+ if (value != null)
+ return value;
+ return UniqueTag.NOT_FOUND;
}
- public View findViewByStringId(View view, String id) {
- return JsViewHelper.findViewByStringId(view, id);
- }
+
}
diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/simple_action/SimpleActionAutomator.java b/autojs/src/main/java/com/stardust/autojs/runtime/simpleaction/SimpleActionAutomator.java
similarity index 93%
rename from autojs/src/main/java/com/stardust/autojs/runtime/simple_action/SimpleActionAutomator.java
rename to autojs/src/main/java/com/stardust/autojs/runtime/simpleaction/SimpleActionAutomator.java
index 18ac3901..dc9c49ba 100644
--- a/autojs/src/main/java/com/stardust/autojs/runtime/simple_action/SimpleActionAutomator.java
+++ b/autojs/src/main/java/com/stardust/autojs/runtime/simpleaction/SimpleActionAutomator.java
@@ -1,28 +1,22 @@
-package com.stardust.autojs.runtime.simple_action;
+package com.stardust.autojs.runtime.simpleaction;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.GestureDescription;
-import android.graphics.Path;
import android.graphics.Rect;
import android.os.Build;
-import android.os.Handler;
-import android.os.Looper;
import android.support.annotation.RequiresApi;
import android.util.Log;
-import android.view.ViewConfiguration;
-import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import com.stardust.autojs.runtime.AbstractScriptRuntime;
import com.stardust.autojs.runtime.AccessibilityBridge;
import com.stardust.autojs.runtime.ScriptInterface;
import com.stardust.autojs.runtime.api.AutomatorConfig;
-import com.stardust.automator.AccessibilityEventCommandHost;
import com.stardust.automator.GlobalActionAutomator;
import com.stardust.automator.UiObject;
-import com.stardust.automator.simple_action.SimpleAction;
import com.stardust.automator.simple_action.ActionFactory;
import com.stardust.automator.simple_action.ActionTarget;
+import com.stardust.automator.simple_action.SimpleAction;
import com.stardust.util.DeveloperUtils;
import com.stardust.util.ScreenMetrics;
@@ -173,21 +167,22 @@ public class SimpleActionAutomator {
}
@RequiresApi(api = Build.VERSION_CODES.N)
- public boolean gestures(GestureDescription.StrokeDescription... strokes) {
+ public boolean gestures(Object strokes) {
prepareForGesture();
- return mGlobalActionAutomator.gestures(strokes);
+ return mGlobalActionAutomator.gestures((GestureDescription.StrokeDescription[]) strokes);
}
+ //如果这里用GestureDescription.StrokeDescription[]为参数,安卓7.0以下会因为找不到这个类而报错
@RequiresApi(api = Build.VERSION_CODES.N)
- public void gesturesAsync(GestureDescription.StrokeDescription... strokes) {
+ public void gesturesAsync(Object strokes) {
prepareForGesture();
- mGlobalActionAutomator.gesturesAsync(strokes);
+ mGlobalActionAutomator.gesturesAsync((GestureDescription.StrokeDescription[]) strokes);
}
private void prepareForGesture() {
ensureAccessibilityServiceEnabled();
+ mScriptRuntime.requiresApi(24);
mGlobalActionAutomator.setService(mAccessibilityBridge.getService());
-
}
@ScriptInterface
diff --git a/autojs/src/main/java/com/stardust/autojs/script/JsBeautifier.java b/autojs/src/main/java/com/stardust/autojs/script/JsBeautifier.java
index 35cf25df..54f7051d 100644
--- a/autojs/src/main/java/com/stardust/autojs/script/JsBeautifier.java
+++ b/autojs/src/main/java/com/stardust/autojs/script/JsBeautifier.java
@@ -3,7 +3,6 @@ package com.stardust.autojs.script;
import android.content.Context;
import android.util.Log;
-import com.stardust.autojs.rhino_android.RhinoAndroidHelper;
import com.stardust.pio.PFile;
import com.stardust.pio.UncheckedIOException;
diff --git a/automator/src/main/java/com/stardust/automator/GlobalActionAutomator.java b/automator/src/main/java/com/stardust/automator/GlobalActionAutomator.java
index 910484a9..213070c6 100644
--- a/automator/src/main/java/com/stardust/automator/GlobalActionAutomator.java
+++ b/automator/src/main/java/com/stardust/automator/GlobalActionAutomator.java
@@ -2,7 +2,6 @@ package com.stardust.automator;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.GestureDescription;
-import android.content.Context;
import android.graphics.Path;
import android.os.Build;
import android.os.Handler;