From 610a2aedd505bb4d8fb29f0bc6741ced74218bb0 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 12 十一月 2024 13:46:37 +0800
Subject: [PATCH] fix bugs

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt
index f4de509..fa3eddf 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt
@@ -1,11 +1,18 @@
 package com.sinata.xqmuse.ui.mine
 
+import android.Manifest
+import android.graphics.Bitmap
 import android.os.Bundle
+import android.os.Environment
+import android.provider.MediaStore
+import android.util.Log
 import android.webkit.WebChromeClient
 import android.webkit.WebSettings
 import android.webkit.WebViewClient
 import androidx.core.os.bundleOf
+import androidx.core.view.drawToBitmap
 import cn.sinata.xldutils.activity.BaseActivity
+import cn.sinata.xldutils.utils.BitmapUtils
 import com.github.zackratos.ultimatebar.UltimateBar
 import com.share.utils.ShareUtils
 import com.sinata.xqmuse.R
@@ -13,13 +20,23 @@
 import com.sinata.xqmuse.network.Apis
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.request
+import com.sinata.xqmuse.utils.Const
 import com.sinata.xqmuse.utils.interfaces.StringCallback
+import com.tbruyelle.rxpermissions2.RxPermissions
 import com.umeng.socialize.bean.SHARE_MEDIA
+import com.ypx.imagepicker.utils.PBitmapUtils
 import kotlinx.android.synthetic.main.activity_share.*
+import kotlinx.android.synthetic.main.layout_share_img.*
+import kotlinx.android.synthetic.main.layout_share_img.view.*
 import org.jetbrains.anko.backgroundColor
+import org.jetbrains.anko.toast
+import java.io.File
+import java.io.FileOutputStream
 
 class ShareActivity:BaseActivity() {
     private val userId by lazy { intent.getStringExtra("userId") }
+    private var qrcode = ""
+    private var poster = ""
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -53,7 +70,26 @@
                     }else if (rst == "circle"){
                         ShareUtils.share(this@ShareActivity,SHARE_MEDIA.WEIXIN_CIRCLE,"分享内容","分享标题",Apis.SHARE_APP.format(userId),null,"")
                     }else{
-
+                        RxPermissions(this@ShareActivity).request(Manifest.permission.WRITE_EXTERNAL_STORAGE).subscribe {
+                            if (it)
+                                try {
+                                    toast("图片生成中…")
+                                    val copyPath = PBitmapUtils.getPickerFileDirectory(this@ShareActivity).absolutePath  + "/" + System.currentTimeMillis() + ".png"
+                                    val file = File(copyPath)
+                                    if (!file.exists()) {
+                                        file.createNewFile()
+                                    }
+                                    val fors = FileOutputStream(file)
+                                    layout_share.drawToBitmap()?.compress(Bitmap.CompressFormat.PNG, 0, fors)
+                                    fors.flush()
+                                    fors.close()
+                                    MediaStore.Images.Media.insertImage(this@ShareActivity.contentResolver, file.absolutePath, copyPath, null);
+                                    toast("保存成功")
+                                } catch (e: Exception) {
+                                    Log.e(Const.Tag,e?.message?:"")
+                                    toast("保存失败")
+                                }
+                        }
                     }
                 }
             }
@@ -63,6 +99,8 @@
 
     private fun getShareInfo(){
         HttpManager.shareInfo().request(this){_,data->
+            this.qrcode = data?.qrCode?:""
+            this.poster = data?.poster?:""
             data?.apply {
                 iv_code.setImageURI(qrCode)
                 val sHead =
@@ -75,6 +113,9 @@
                     null
                 )
                 iv_share.setImageURI(poster)
+                //分享view
+                iv_poster.setImageURI(poster)
+                iv_share_code.setImageURI(qrCode)
             }
         }
     }

--
Gitblit v1.7.1