fix: JSON.stringify() throws StackOverflow for Java objects

This commit is contained in:
hyb1996
2017-11-02 15:27:49 +08:00
parent 9b9b37b940
commit 37445b7905
8 changed files with 546 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
package com.stardust.scriptdroid.ui.floating;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.ContextThemeWrapper;
import android.view.View;
@@ -8,6 +9,7 @@ import android.widget.ImageView;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import com.google.gson.Gson;
import com.stardust.app.DialogUtils;
import com.stardust.app.OperationDialogBuilder;
import com.stardust.autojs.core.record.Recorder;
@@ -22,8 +24,10 @@ import com.stardust.scriptdroid.autojs.record.GlobalRecorder;
import com.stardust.scriptdroid.io.StorageFileProvider;
import com.stardust.scriptdroid.model.script.ScriptFile;
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
import com.stardust.scriptdroid.tool.GsonUtils;
import com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutBoundsFloatyWindow;
import com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutHierarchyFloatyWindow;
import com.stardust.scriptdroid.ui.main.MainActivity_;
import com.stardust.scriptdroid.ui.main.scripts.ScriptListView;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import com.stardust.util.ClipboardUtil;
@@ -213,6 +217,7 @@ public class CircularMenu implements Recorder.OnStateChangedListener {
mContext.getString(R.string.text_current_package) + mRunningPackage)
.item(R.id.class_name, R.drawable.ic_ali_android,
mContext.getString(R.string.text_current_activity) + mRunningActivity)
.item(R.id.open_launcher, R.drawable.ic_android_eat_js, R.string.text_open_main_activity)
.item(R.id.exit, R.drawable.ic_close_white_48dp, R.string.text_exit_floating_window)
.bindItemClick(this)
.title(R.string.text_more)
@@ -255,14 +260,28 @@ public class CircularMenu implements Recorder.OnStateChangedListener {
Toast.makeText(mContext, R.string.text_already_copy_to_clip, Toast.LENGTH_SHORT).show();
}
@Optional
@OnClick(R.id.open_launcher)
void openLauncher() {
dismissSettingsDialog();
mContext.startActivity(new Intent(mContext, MainActivity_.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
@Optional
@OnClick(R.id.exit)
public void close() {
dismissSettingsDialog();
mWindow.close();
try {
mWindow.close();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} finally {
EventBus.getDefault().post(new StateChangeEvent(STATE_CLOSED, mState));
mState = STATE_CLOSED;
}
mRecorder.removeOnStateChangedListener(this);
EventBus.getDefault().post(new StateChangeEvent(STATE_CLOSED, mState));
mState = STATE_CLOSED;
}
@@ -278,7 +297,6 @@ public class CircularMenu implements Recorder.OnStateChangedListener {
@Override
public void onPause() {
}
@Override

View File

@@ -6,4 +6,5 @@
<item name="delete" type="id"/>
<item name="package_name" type="id"/>
<item name="class_name" type="id"/>
<item name="open_launcher" type="id"/>
</resources>

View File

@@ -309,4 +309,5 @@
<item>binary</item>
</string-array>
<string name="title_activity_log">LogActivity</string>
<string name="text_open_main_activity">打开主界面</string>
</resources>