lmw
2025-04-14 0361f47762f9958f2ec91fdb62bfc98de4e162a6
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
package com.xianning.driver.ui.mine
 
import android.Manifest
import android.graphics.Bitmap
import android.os.Environment
import android.provider.MediaStore
import androidx.core.view.drawToBitmap
import cn.sinata.xldutils.utils.SpanBuilder
import com.tbruyelle.rxpermissions2.RxPermissions
import com.xianning.driver.R
import com.xianning.driver.base.MyApplication
import com.xianning.driver.base.MyBaseActivity
import com.xianning.driver.bean.InviteInfo
import com.xianning.driver.netUtls.Api
import com.xianning.driver.netUtls.callNet
import com.xianning.driver.netUtls.getMapByAny
import com.xianning.driver.utils.Cache.CacheKey
import com.xianning.driver.utils.glide.GlideUtil
import kotlinx.android.synthetic.main.activity_invite.*
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
import java.io.File
import java.io.FileOutputStream
 
class InviteActivity : MyBaseActivity() {
    override fun setContentView() {
        setContentView(R.layout.activity_invite)
    }
 
    override fun initView() {
        setTitleText("邀请好友")
        val userInfo = CacheKey.getUserInfo()
        GlideUtil.loady(MyApplication.getInstance(),userInfo.avatar,iv_head)
        tv_name.text = userInfo.name
        callNet(Api.getCode, getMapByAny()){
            val fromJson = gson.fromJson(it, InviteInfo::class.java)
            tv_count.text = SpanBuilder.content("您已成功邀请 ${fromJson.data.inviteNumber} 位乘客")
                .sizeSpan(7,7+fromJson.data.inviteNumber.length,18)
                .colorSpan(this,7,7+fromJson.data.inviteNumber.length,R.color.end_red).build()
            GlideUtil.load(MyApplication.getInstance(),fromJson.data.code,iv_code,0)
        }
    }
 
    override fun setOnclick() {
        tv_download.setOnClickListener {
            RxPermissions(this).request(Manifest.permission.WRITE_EXTERNAL_STORAGE).subscribe {
                if (it)
                    try {
                        val copyPath =
                            getExternalFilesDir(Environment.DIRECTORY_DCIM)!!.absolutePath + "/" + System.currentTimeMillis() + ".png"
                        val file = File(copyPath)
                        if (!file.exists()) {
                            file.createNewFile()
                        }
                        val fors = FileOutputStream(file)
                        iv_code.drawToBitmap()?.compress(Bitmap.CompressFormat.PNG, 0, fors)
                        fors.flush()
                        fors.close()
                        MediaStore.Images.Media.insertImage(this.contentResolver, file.absolutePath, copyPath, null);
                        toast("保存成功")
                    } catch (e: Exception) {
                        toast("保存失败")
                    }
                else
                    toast("缺少文件存储权限")
            }
        }
 
        tv_action.setOnClickListener {
            startActivity<InviteRecordActivity>()
        }
    }
 
}