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(); } }