From f2dbcf604cb069bee6b4b48140b5e77b095768f0 Mon Sep 17 00:00:00 2001 From: cebgcontract <99630598+cebgcontract@users.noreply.github.com> Date: Mon, 7 Nov 2022 11:26:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=BE=E7=A4=BA=E4=BA=8C?= =?UTF-8?q?=E7=BB=B4=E7=A0=81=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 10 ++++ .../com/fitchgc/jcwallet/MainActivity.java | 13 +++++ .../fitchgc/jcwallet/dialog/BaseDialog.java | 29 +++++++++++ .../jcwallet/dialog/QRCodeActivity.java | 45 +++++++++++++++++ app/src/com/jc/jcfw/JcSDK.java | 2 +- app/src/main/res/layout/qrcode_view.xml | 22 +++++++++ js/main.js | 49 +++++-------------- res/values/colors.xml | 1 + res/values/strings.xml | 1 + res/values/styles.xml | 11 +++++ 10 files changed, 146 insertions(+), 37 deletions(-) create mode 100644 app/src/com/fitchgc/jcwallet/dialog/BaseDialog.java create mode 100644 app/src/com/fitchgc/jcwallet/dialog/QRCodeActivity.java create mode 100644 app/src/main/res/layout/qrcode_view.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 1b62f22..fee5c17 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,15 @@ + + + diff --git a/app/src/com/fitchgc/jcwallet/MainActivity.java b/app/src/com/fitchgc/jcwallet/MainActivity.java index 160663b..fda4fe0 100644 --- a/app/src/com/fitchgc/jcwallet/MainActivity.java +++ b/app/src/com/fitchgc/jcwallet/MainActivity.java @@ -16,6 +16,7 @@ import android.view.KeyEvent; import android.view.MotionEvent; import android.view.Window; +import com.fitchgc.jcwallet.dialog.QRCodeActivity; import com.google.android.gms.auth.api.signin.GoogleSignIn; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInClient; @@ -95,6 +96,8 @@ public class MainActivity extends Activity private String title; private String funId; + private QRCodeActivity qrCodeActivity; + //AppAuth private AuthorizationService mAuthService; private AuthStateManager mAuthStateManager; @@ -719,4 +722,14 @@ public class MainActivity extends Activity JcSDK.googleOauthCb(this.funId, null, idToken); } + + public void showQRCode(String funid, String str, String title) { + runOnUiThread(() -> { + if (qrCodeActivity == null) { + qrCodeActivity = new QRCodeActivity(getContext()); + } + qrCodeActivity.showQRCode(str, title); + qrCodeActivity.show(); + }); + } } \ No newline at end of file diff --git a/app/src/com/fitchgc/jcwallet/dialog/BaseDialog.java b/app/src/com/fitchgc/jcwallet/dialog/BaseDialog.java new file mode 100644 index 0000000..46c6e36 --- /dev/null +++ b/app/src/com/fitchgc/jcwallet/dialog/BaseDialog.java @@ -0,0 +1,29 @@ +package com.fitchgc.jcwallet.dialog; + +import android.app.Dialog; +import android.content.Context; +import android.view.Window; +import android.view.WindowManager; + +import com.fitchgc.jcwallet.R; + +public class BaseDialog extends Dialog { + + public BaseDialog(Context context, int themeResId) { + super(context, R.style.DialogStyle); + Window win = getWindow(); +// win.setWindowAnimations(R.style.Dialog_bottom_enter_ani); +// win.getDecorView().setPadding(0, 0, 0, 0); +// win.setGravity(Gravity.BOTTOM); + WindowManager.LayoutParams lp = win.getAttributes(); + lp.width = WindowManager.LayoutParams.MATCH_PARENT; + lp.height = WindowManager.LayoutParams.WRAP_CONTENT; + win.setAttributes(lp); + } + + public BaseDialog(Context context) { + this(context, 0); + } + + +} diff --git a/app/src/com/fitchgc/jcwallet/dialog/QRCodeActivity.java b/app/src/com/fitchgc/jcwallet/dialog/QRCodeActivity.java new file mode 100644 index 0000000..54fed38 --- /dev/null +++ b/app/src/com/fitchgc/jcwallet/dialog/QRCodeActivity.java @@ -0,0 +1,45 @@ +package com.fitchgc.jcwallet.dialog; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.Bundle; +import android.widget.ImageView; +import android.widget.TextView; + +import com.fitchgc.jcwallet.MainActivity; +import com.fitchgc.jcwallet.R; +import com.king.zxing.util.CodeUtils; + +public class QRCodeActivity extends BaseDialog{ + + private final Context baseContent; + private TextView titleLabel; + private ImageView ivCode; + + + public QRCodeActivity(Context context) { + super(context); + 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); + } + + public void showQRCode(String content, String title){ + new Thread(() -> { + Bitmap logo = BitmapFactory.decodeResource(baseContent.getResources(),R.drawable.zxl_flashlight_on); + Bitmap bitmap = CodeUtils.createQRCode(content,600, logo); + MainActivity.app.runOnUiThread(()->{ + titleLabel.setText(title); + ivCode.setImageBitmap(bitmap); + }); + }).start(); + + } +} diff --git a/app/src/com/jc/jcfw/JcSDK.java b/app/src/com/jc/jcfw/JcSDK.java index e6727f1..31b1f7f 100644 --- a/app/src/com/jc/jcfw/JcSDK.java +++ b/app/src/com/jc/jcfw/JcSDK.java @@ -67,7 +67,7 @@ public class JcSDK { MainActivity.app.startActivity(i); } } - + public static void showQRCode(String funid, String content, String title) { MainActivity.app.showQRCode(funid, content, title);} public static void scanQRCode(String funid, String title) { MainActivity.app.showQRScan(funid, title); } diff --git a/app/src/main/res/layout/qrcode_view.xml b/app/src/main/res/layout/qrcode_view.xml new file mode 100644 index 0000000..918496b --- /dev/null +++ b/app/src/main/res/layout/qrcode_view.xml @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/js/main.js b/js/main.js index dbae2be..8d128cc 100644 --- a/js/main.js +++ b/js/main.js @@ -163,40 +163,18 @@ function createAccount(funId) { * @return {string} account actived */ function importAccount(funId, privateKey) { - // try { - // let address = jc.wallet.importAccount(privateKey); - // return JSON.stringify({ - // errcode: 0, - // data: address, - // }); - // } catch (err) { - // return JSON.stringify({ - // errcode: 1, - // errmsg: err, - // }); - // } - let addresses = ["0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1","0xCd36bFD6f5c9685A5b1DD953E8279eeC7d41e1E1","0xb3212b66C337F83D277172D891Daf31776FF9D79"] - let values = ["1024168356010420","0","110241683560010039000000000000000134390000000000000003020000000000000000000000","1667381156"] - let signature = '0x5788bc2812b31165aff7c344321076b55d61f84ee1cb064f12fac3cea7cfbbd03f180a2228b4cce665a00d52fd08c10e3e09d1bf22a008c999bd72dcb372f6fb1b' - jc.wallet.jcStandard - .buyNft721({ - addresses, - values, - signature, - }) - .then((result) => { - jsb.jcCallback( - funId, - JSON.stringify({ - errcode: 0, - data: result, - }) - ); - }) - .catch((err) => { - console.log(JSON.stringify(err)) - jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); + try { + let address = jc.wallet.importAccount(privateKey); + return JSON.stringify({ + errcode: 0, + data: address, }); + } catch (err) { + return JSON.stringify({ + errcode: 1, + errmsg: err, + }); + } } /** * active one account @@ -355,6 +333,7 @@ function restoreFromMnemonic(funId, mnemonic, password) { function scanQRCode(funId, title) { try { + console.log('scanQRCode: ' + title) jsb.scanQRCode(funId, title); } catch (err) { return JSON.stringify({ @@ -400,9 +379,6 @@ function signOutGoogle(funId) { //} function buyNft721(funId, addresses, values, signature) { - addresses = ["0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1","0xCd36bFD6f5c9685A5b1DD953E8279eeC7d41e1E1","0xb3212b66C337F83D277172D891Daf31776FF9D79"] - values = ["1024168356010499","0","110241683560010039000000000000000134390000000000000003020000000000000000000000","1667381156"] - signature = '0x4278d777d25fa96bb9733dd6c924adf9a79a88de60c684894f29f02c739ff79231d62ecd10d9a07121d88f6719f6b49814fc2e9438a03a46e6bf0def5c1e3ad71b' jc.wallet.jcStandard .buyNft721({ addresses, @@ -566,6 +542,7 @@ function shardMixByUser( .catch((err) => { jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); }); + } function pluginChip( funId, diff --git a/res/values/colors.xml b/res/values/colors.xml index f8c6127..d29adb9 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -7,4 +7,5 @@ #FF018786 #FF000000 #FFFFFFFF + #00000000 \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 5c20cd5..90f9743 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2,5 +2,6 @@ HeadlessCocos Game view Scan QRCode need camera permission + QRCode 165555585193-j22geb66hjku5ns5lq5voaj4v7811cl7.apps.googleusercontent.com \ No newline at end of file diff --git a/res/values/styles.xml b/res/values/styles.xml index e334a5f..b4c76b7 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -9,4 +9,15 @@ true @android:color/transparent + +