lmw
2024-06-18 1f45a54dc8e149548d3a61d1228741627aa4f23e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package com.dollearn.student.ui.course
 
import android.graphics.Bitmap
import android.os.Environment
import android.provider.MediaStore
import android.widget.ImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.drawToBitmap
import cn.sinata.xldutils.activity.ImagePagerActivity
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.visible
import com.bumptech.glide.Glide
import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.transition.Transition
import com.dollearn.student.R
import com.dollearn.student.network.HttpManager
import com.dollearn.student.network.request
import com.dollearn.student.ui.TransparentStatusBarActivity
import com.dollearn.student.utils.extention.loadLongImage
import kotlinx.android.synthetic.main.activity_report.*
import org.jetbrains.anko.startActivity
import java.io.File
import java.io.FileOutputStream
import java.lang.Exception
 
class ReportActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_report
 
    private val id by lazy { intent.getStringExtra("id")?:"" }
    private var urls = arrayListOf<String>()
 
    override fun initClick() {
        iv_report_1.setOnClickListener {
            startActivity<ImagePagerActivity>("url" to urls,"position" to 0)
        }
        iv_report_2.setOnClickListener {
            startActivity<ImagePagerActivity>("url" to urls,"position" to 1)
        }
        iv_report_3.setOnClickListener {
            startActivity<ImagePagerActivity>("url" to urls,"position" to 2)
        }
        iv_report_1.setOnLongClickListener {
            saveImg(iv_report_1)
            return@setOnLongClickListener true
        }
        iv_report_2.setOnLongClickListener {
            saveImg(iv_report_2)
            return@setOnLongClickListener true
        }
        iv_report_3.setOnLongClickListener {
            saveImg(iv_report_3)
            return@setOnLongClickListener true
        }
    }
 
    override fun initView() {
        getData()
    }
 
    private fun saveImg(v: ImageView){
        try {
            val copyPath =
                getExternalFilesDir(Environment.DIRECTORY_DCIM)!!.absolutePath + "/" + System.currentTimeMillis() + ".png"
            val file = File(copyPath)
            if (!file.exists()) {
                file.createNewFile()
            }
            val fors = FileOutputStream(file)
            v.drawToBitmap()?.compress(Bitmap.CompressFormat.PNG, 0, fors)
            fors.flush()
            fors.close()
            MediaStore.Images.Media.insertImage(this.contentResolver, file.absolutePath, copyPath, null);
            myToast("图片已保存")
        } catch (e: Exception) {
        }
    }
 
    private fun getData(){
        HttpManager.queryPhysical(id).request(this){_,data->
            data?.apply {
                try {
                    val heightS = "${height}cm"
                    tv_height.text = SpanBuilder(heightS).size(heightS.length-2,heightS.length,14).build()
                    val weightS = "${weight}kg"
                    tv_wight.text = SpanBuilder(weightS).size(weightS.length-2,weightS.length,14).build()
                    val bmiS = "${bmi}${bodyStatus}"
                    tv_bmi.text = SpanBuilder(bmiS).size(bmiS.indexOf(bodyStatus),bmiS.length,14).build()
                    this@ReportActivity.urls.addAll(urls)
                    if (!urls.isNullOrEmpty()){
                        urls.firstOrNull()?.loadLongImage(this@ReportActivity,iv_report_1)
                        urls[1].loadLongImage(this@ReportActivity,iv_report_2)
                        urls[2].loadLongImage(this@ReportActivity,iv_report_3)
                    }else{
                        tv_empty.visible()
                    }
                }catch (e:Exception){
                }
            }
        }
    }
}