package com.taoke.autopay.android.ui;
|
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.net.Uri;
|
import android.os.Bundle;
|
import android.view.View;
|
import android.widget.Toast;
|
|
import androidx.activity.EdgeToEdge;
|
import androidx.annotation.Nullable;
|
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.core.graphics.Insets;
|
import androidx.core.view.ViewCompat;
|
import androidx.core.view.WindowInsetsCompat;
|
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
import io.reactivex.rxjava3.disposables.Disposable;
|
import io.reactivex.rxjava3.schedulers.Schedulers;
|
|
import com.apkfuns.logutils.LogUtils;
|
import com.taoke.autopay.android.Constant;
|
import com.taoke.autopay.android.RxBus;
|
import com.taoke.autopay.android.data.local.LocalStore;
|
import com.taoke.autopay.android.data.network.RestAPI;
|
import com.taoke.autopay.android.data.network.entity.Order;
|
import com.taoke.autopay.android.data.network.entity.User;
|
import com.taoke.autopay.android.databinding.ActivitySettingsBinding;
|
import com.taoke.autopay.android.utils.MD5Utils;
|
import com.taoke.autopay.android.utils.accessibility.AccessibilityNodeInfoUtils;
|
import com.taoke.autopay.android.utils.accessibility.ClassNameNodeFilter;
|
import com.taoke.autopay.android.utils.accessibility.TextNodeFilter;
|
|
import java.net.URLEncoder;
|
|
public class SettingsActivity extends AppCompatActivity {
|
|
private ActivitySettingsBinding mViewBinding;
|
private Disposable mDisposable;
|
|
@Override
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
EdgeToEdge.enable(this);
|
mViewBinding = ActivitySettingsBinding.inflate(getLayoutInflater());
|
setContentView(mViewBinding.getRoot());
|
ViewCompat.setOnApplyWindowInsetsListener(mViewBinding.main, (v, insets) -> {
|
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
return insets;
|
});
|
if(!Constant.TEST){
|
mViewBinding.tvTest.setVisibility(View.GONE);
|
}
|
mViewBinding.btnBack.setOnClickListener(v -> getOnBackPressedDispatcher().onBackPressed());
|
mViewBinding.tvPayTimesSetting.setOnClickListener(v -> new PayTimesSettingFragment().show(getSupportFragmentManager(), "PayTimesSettingFragment"));
|
mViewBinding.tvPersonalPayPwdSetting.setOnClickListener(v -> new PersonalPayPwdSettingFragment().show(getSupportFragmentManager(), "PersonalPayPwdSettingFragment"));
|
mViewBinding.tvBusinessPayPwdSetting.setOnClickListener(v -> new BusinessPayPwdSettingFragment().show(getSupportFragmentManager(), "BusinessPayPwdSettingFragment"));
|
mViewBinding.tvSaveLog.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
LogUtils.getLog2FileConfig().flushAsync();
|
Toast.makeText(SettingsActivity.this, "保存日志成功", Toast.LENGTH_SHORT).show();
|
}
|
});
|
mViewBinding.tvDataManagement.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
new AlertDialog.Builder(SettingsActivity.this).setTitle("数据清理").setMessage("是否清除所有数据").setNegativeButton("否", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
}
|
}).setPositiveButton("是", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
Disposable mDisposable = RestAPI.getInstance().apiService()
|
.deleteAllOrder(
|
String.valueOf(LocalStore.getInstance().getUser().id)
|
)
|
.subscribeOn(Schedulers.io())
|
.observeOn(AndroidSchedulers.mainThread())
|
.subscribe(objectResponseData -> {
|
if (objectResponseData.code == 0) {
|
Toast.makeText(getApplicationContext(), "清理成功", Toast.LENGTH_SHORT).show();
|
} else {
|
Toast.makeText(getApplicationContext(), objectResponseData.message, Toast.LENGTH_SHORT).show();
|
}
|
},
|
throwable ->{
|
Toast.makeText(getApplicationContext(), throwable.getMessage(), Toast.LENGTH_SHORT).show();
|
});
|
}
|
}).create().show();
|
|
}
|
});
|
mViewBinding.tvTest.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
// startActivity(new Intent()
|
// .setAction(Intent.ACTION_MAIN)
|
// .addCategory(Intent.CATEGORY_HOME)
|
// .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
// .setClassName("com.eg.android.AlipayGphone", "com.alipay.mobile.security.accountmanager.ui.AccountManagerV2Activity"));
|
|
// Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("alipays://platformapi/startapp?appId=20000067&url=%s", URLEncoder.encode("https://ur.alipay.com/_qHNy1BGCl0hq70u17PWl4"))));
|
// startActivity(intent);
|
|
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("intent://platformapi/startapp?appId=20000027&launchKey=754b2de6-e20b-4bf4-b82a-c9613f668024-1719452266547#Intent;scheme=alipays;package=com.eg.android.AlipayGphone;end"));
|
startActivity(intent);
|
|
if(1>0){
|
return;
|
}
|
|
//
|
|
Order testOrder=new Order();
|
testOrder.id="123123123123";
|
testOrder.state="0";
|
//TODO 测试key
|
testOrder.key="【zh i怤宝】亲,复制 v:/NH6WMDi96ye g:/P CZ2975 2024/05/11打开支付宝就可以帮我\uD83C\uDFEE付款啦\uD83D\uDCAAhttps://ur.alipay.com/_2Vy7eOCYDEtF6rOFg24nqy";
|
testOrder.createTime = "2024-06-20 12:00:00";
|
RxBus.getInstance().send(testOrder);
|
}
|
});
|
mViewBinding.buttonLogout.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
User user= LocalStore.getInstance().getUser();
|
if(user!=null) {
|
mDisposable = RestAPI.getInstance().apiService()
|
.logout(user.id)
|
.subscribeOn(Schedulers.io())
|
.observeOn(AndroidSchedulers.mainThread())
|
.subscribe(userResponseData -> {
|
if (userResponseData.code == 0) {
|
LocalStore.getInstance().removeUser();
|
mViewBinding.buttonLogout.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
SettingsActivity.this.finish();
|
}
|
}, 200);
|
} else {
|
Toast.makeText(SettingsActivity.this, userResponseData.message, Toast.LENGTH_SHORT).show();
|
}
|
},
|
throwable -> Toast.makeText(SettingsActivity.this, throwable.getMessage(), Toast.LENGTH_SHORT).show());
|
}
|
|
}
|
});
|
}
|
|
@Override
|
protected void onDestroy() {
|
if (mDisposable != null) {
|
mDisposable.dispose();
|
}
|
super.onDestroy();
|
}
|
}
|