From 3ec7de773bff5582411c6f1f659d35cf8fb1734a Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 16 七月 2024 15:13:51 +0800
Subject: [PATCH] Merge branch 'feature/v1.4.1'

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
new file mode 100644
index 0000000..3056f0c
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
@@ -0,0 +1,117 @@
+package com.hdl.photovoltaic.ui.me;
+
+
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.provider.MediaStore;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.appcompat.content.res.AppCompatResources;
+
+import com.google.gson.Gson;
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.databinding.ActivityQrCodeMainBinding;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.ui.bean.QrCodeBean;
+
+/**
+ * 浜岀淮鐮佸悕鐗囩殑鐣岄潰
+ */
+public class QrCodeMainActivity extends CustomBaseActivity {
+    ActivityQrCodeMainBinding viewBinding;
+
+    @Override
+    public Object getContentView() {
+        viewBinding = ActivityQrCodeMainBinding.inflate(getLayoutInflater());
+        return viewBinding.getRoot();
+    }
+
+    @Override
+    public void onBindView(Bundle savedInstanceState) {
+        setNotificationBarBackgroundColor(CustomBaseActivity.CustomColor.white);
+        setStatusBarTextColor();
+        //鍒濆鍖�
+        initView();
+        //鍒濆鍖栫晫闈㈢洃鍚櫒
+        initEvent();
+        //鍒濆鍖栨暟鎹�
+        initData();
+    }
+
+    private void initData() {
+    }
+
+
+    private void initEvent() {
+        viewBinding.toolbarTopQrCodeRl.topBackLl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+
+        viewBinding.toolbarTopQrCodeRl.topMoreBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                // 鍋囪浣犲凡缁忔湁浜嗕竴涓簩缁寸爜鍥剧墖锛岃繖閲屾槸涓�涓畝鍖栫殑鎴浘鏂规硶
+                viewBinding.qrCodeIv.setDrawingCacheEnabled(true);
+                Bitmap bitmap = viewBinding.qrCodeIv.getDrawingCache();
+                // 淇濆瓨鎴浘鍒扮浉鍐�
+                saveImageToGallery(bitmap);
+                // 娓呯悊缂撳瓨
+                viewBinding.qrCodeIv.setDrawingCacheEnabled(false);
+                if (bitmap != null && !bitmap.isRecycled()) {
+                    // 纭繚涓嶆槸宸茬粡鍥炴敹鐨凚itmap
+                    // 杩涜浣犻渶瑕佺殑鎿嶄綔
+                    Bitmap.createBitmap(bitmap).recycle();
+                }
+            }
+        });
+
+    }
+
+
+    private void saveImageToGallery(Bitmap bitmap) {
+        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "QRCode", null);
+        if (path != null) {
+            HdlThreadLogic.toast(_mActivity, getString(R.string.save_qr_code_successfully));
+            // Toast.makeText(this, "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show();
+        } else {
+            HdlThreadLogic.toast(_mActivity, getString(R.string.failed_to_save_qr_code));
+            //Toast.makeText(this, "淇濆瓨澶辫触", Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    private void initView() {
+        viewBinding.toolbarTopQrCodeRl.topTitleTv.setText(R.string.qr_code_business_card);
+        viewBinding.toolbarTopQrCodeRl.topBackLl.setVisibility(View.VISIBLE);
+        viewBinding.toolbarTopQrCodeRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
+        viewBinding.toolbarTopQrCodeRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+        viewBinding.toolbarTopQrCodeRl.topMoreIv.setVisibility(View.VISIBLE);
+        viewBinding.toolbarTopQrCodeRl.topMoreIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.save_image));
+        if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserName())) {
+            viewBinding.userNameTv.setVisibility(View.VISIBLE);
+            viewBinding.userNameTv.setText(UserConfigManage.getInstance().getUserName());
+        }
+        String str = TextUtils.isEmpty(UserConfigManage.getInstance().getBingPhone()) ? UserConfigManage.getInstance().getBingEmail() : UserConfigManage.getInstance().getBingPhone();
+        if (!TextUtils.isEmpty(str)) {
+            viewBinding.userAccountTv.setVisibility(View.VISIBLE);
+            viewBinding.userAccountTv.setText(str);
+        }
+        QrCodeBean qrCodeBean = new QrCodeBean();
+        qrCodeBean.setUserEmail(UserConfigManage.getInstance().getBingEmail());
+        qrCodeBean.setUserPhone(UserConfigManage.getInstance().getBingPhone());
+        qrCodeBean.setUserName(UserConfigManage.getInstance().getUserName());
+        qrCodeBean.setAccount(UserConfigManage.getInstance().getAccount());
+        String content = new Gson().toJson(qrCodeBean);
+        Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 229, 229, "UTF-8", "H", "1", Color.BLACK, Color.WHITE);
+        viewBinding.qrCodeIv.setImageBitmap(bitmap);
+
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0