2022-11-10 17:27:06 +08:00

91 lines
2.6 KiB
Java

package com.cege.games.release.dialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.cege.games.release.MainActivity;
import com.cege.games.release.R;
import com.jc.jcfw.util.FileUtils;
import com.king.zxing.util.CodeUtils;
public class QRCodeActivity extends Dialog {
private final Context baseContent;
private TextView titleLabel;
private ImageView ivCode;
private String oid;
private Bitmap bitmap;
private Button localBtn;
private boolean imgSaved = false;
public QRCodeActivity(Context context) {
super(context, R.style.DialogStyle);
baseContent = context;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.qrcode_view);
ivCode = findViewById(R.id.ivCode);
titleLabel = findViewById(R.id.qrTitleLabel);
localBtn = findViewById(R.id.qrSaveBtn);
if (oid != null && !"".equals(oid)) {
localBtn.setVisibility(View.VISIBLE);
} else {
localBtn.setVisibility(View.INVISIBLE);
}
localBtn.setOnClickListener(v -> onClickSaveImg());
}
public void showQRCode(String content, String title, String _oid){
oid = _oid;
if (localBtn != null && oid != null && !"".equals(oid)) {
localBtn.setVisibility(View.VISIBLE);
}
new Thread(() -> {
bitmap = CodeUtils.createQRCode(content,500, null);
MainActivity.app.runOnUiThread(()->{
titleLabel.setText(title);
ivCode.setImageBitmap(bitmap);
});
String uri = FileUtils.saveBitmap(baseContent, oid, bitmap);
MainActivity.app.runOnUiThread(()->{
if (uri != null && !"".equals(uri)) {
MainActivity.app.showToast("Wallet restore key had save to System Album");
titleLabel.setText("Wallet Restore Key");
localBtn.setText("Close");
imgSaved = true;
} else {
MainActivity.app.showToast("Wallet restore key save fail");
}
});
}).start();
}
protected void onClickSaveImg(){
if (imgSaved) {
dismiss();
return;
}
new Thread(() -> {
String uri = FileUtils.saveBitmap(baseContent, oid, bitmap);
MainActivity.app.runOnUiThread(()->{
if (uri != null && !"".equals(uri)) {
MainActivity.app.showToast("Wallet restore key had save to System Album");
dismiss();
} else {
MainActivity.app.showToast("Wallet restore key save fail");
}
});
}).start();
}
}