From 3f617fbe58fd89a61e2f4013fe80dba673fbd7ae Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 19 九月 2024 14:38:24 +0800
Subject: [PATCH] 2024年09月19日14:38:04

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 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
index 276831b..225b07b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
@@ -1,19 +1,24 @@
 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;
 
 /**
  * 浜岀淮鐮佸悕鐗囩殑鐣岄潰
@@ -54,17 +59,42 @@
         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.topLeftIv.setImageResource(R.drawable.back_c);
         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.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFECECEC, null));
+        viewBinding.toolbarTopQrCodeRl.topMoreBtn.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);
@@ -75,7 +105,12 @@
             viewBinding.userAccountTv.setVisibility(View.VISIBLE);
             viewBinding.userAccountTv.setText(str);
         }
-        String content = UserConfigManage.getInstance().getAccount();
+        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);
 

--
Gitblit v1.8.0