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