package com.stardust.scriptdroid.ui.settings;
import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.View;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.TextView;
import android.widget.Toast;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.automator.UiObject;
import com.stardust.scriptdroid.service.AccessibilityWatchDogService;
import com.stardust.scriptdroid.tool.IntentTool;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import com.stardust.util.IntentUtil;
import com.stardust.view.ViewBinding;
import com.stardust.scriptdroid.BuildConfig;
import com.stardust.scriptdroid.R;
import com.stardust.view.ViewBinder;
import moe.feng.alipay.zerosdk.AlipayZeroSdk;
/**
* Created by Stardust on 2017/2/2.
*/
public class AboutActivity extends BaseActivity {
private static final String TAG = "AboutActivity";
private int mLolClickCount = 0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setUpUI();
}
private void setUpUI() {
setContentView(R.layout.activity_about);
setVersionName();
setToolbarAsBack(getString(R.string.text_about));
ViewBinder.bind(this);
}
@SuppressLint("SetTextI18n")
private void setVersionName() {
TextView version = $(R.id.version);
version.setText("Version " + BuildConfig.VERSION_NAME);
}
@ViewBinding.Click(R.id.github)
private void openGitHub() {
IntentTool.browse(this, getString(R.string.my_github));
}
@ViewBinding.Click(R.id.qq)
private void openQQToChatWithMe() {
String qq = getString(R.string.qq);
if (!IntentUtil.chatWithQQ(this, qq)) {
Toast.makeText(this, R.string.text_mobile_qq_not_installed, Toast.LENGTH_SHORT).show();
}
}
@ViewBinding.Click(R.id.email)
private void openEmailToSendMe() {
String email = getString(R.string.email);
IntentUtil.sendMailTo(this, email);
}
@ViewBinding.Click(R.id.donate)
private void showDonateMeDialog() {
new ThemeColorMaterialDialogBuilder(this)
.title(R.string.donate)
.items("支付宝")
.itemsCallback(new MaterialDialog.ListCallback() {
@Override
public void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) {
if (position == 0) {
if (AlipayZeroSdk.hasInstalledAlipayClient(AboutActivity.this)) {
AlipayZeroSdk.startAlipayClient(AboutActivity.this, "aex04370fwjf8angrv1te9e");
} else {
Toast.makeText(AboutActivity.this, "未安装支付宝", Toast.LENGTH_SHORT).show();
}
}
}
})
.show();
}
@ViewBinding.Click(R.id.share)
private void share() {
IntentUtil.shareText(this, getString(R.string.share_app));
}
@ViewBinding.Click(R.id.icon)
private void lol() {
mLolClickCount++;
Toast.makeText(this, R.string.text_lll, Toast.LENGTH_LONG).show();
if (mLolClickCount >= 5) {
crashTest();
}
}
private void showEasterEgg() {
new MaterialDialog.Builder(this)
.customView(R.layout.paint_layout, false)
.show();
}
private void uiObjectCreateTest() {
new Thread(new Runnable() {
@Override
public void run() {
int i = 0;
while (true) {
AccessibilityNodeInfo root = AccessibilityWatchDogService.getInstance().getRootInActiveWindow();
if (root != null) {
UiObject uiObject = UiObject.createRoot(root);
UiObject child = uiObject.child(0);
if (i % 1000 == 0) {
Log.v(TAG, String.valueOf(i));
Log.v(TAG, Runtime.getRuntime().totalMemory() + "/" + Runtime.getRuntime().maxMemory());
if (child != null)
Log.v(TAG, String.valueOf(child.getChildCount()));
}
if (child != null)
child.recycle();
i++;
}
}
}
}).start();
}
private void crashTest() {
new ThemeColorMaterialDialogBuilder(this)
.title("Crash Test")
.positiveText("Crash")
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
throw new RuntimeException("Crash Test");
}
}).show();
}
@ViewBinding.Click(R.id.developer)
private void hhh() {
Toast.makeText(this, R.string.text_it_is_the_developer_of_app, Toast.LENGTH_LONG).show();
}
}