91 lines
2.6 KiB
Java
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();
|
|
}
|
|
}
|