lmw
2023-06-20 7e4a923b472a1ffb9d6deeb80302551ba4178ca3
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
package com.fanghua.driver.ui.mine
 
import android.content.Intent
import cn.sinata.xldutils.utils.clickDelay
import com.google.gson.Gson
import com.fanghua.driver.R
import com.fanghua.driver.base.BaseEvent
import com.fanghua.driver.base.local.BasePhotoActivity
import com.fanghua.driver.bean.BaseBean
import com.fanghua.driver.bean.DriverData
import com.fanghua.driver.netUtls.Api
import com.fanghua.driver.netUtls.callNet
import com.fanghua.driver.netUtls.getMapByAny
import kotlinx.android.synthetic.main.activity_user_info.*
import org.greenrobot.eventbus.Subscribe
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.startActivityForResult
import org.jetbrains.anko.toast
 
class UserInfoActivity : BasePhotoActivity() {
    override fun setContentView() {
        setContentView(R.layout.activity_user_info)
    }
 
    private val driverData by lazy { intent.getParcelableExtra<DriverData>("data") }
 
    override fun initView() {
        setTitleText("个人信息")
        driverData?.apply {
            iv_head.setImageURI(avatar)
            tv_emergency.text = emergencyContact
            tv_emergency_phone.text = emergencyPhone
            tv_name.text = name
            tv_phone.text = phone
        }
    }
 
    override fun setOnclick() {
        iv_head.clickDelay {
            showSelectPhone()
        }
        tv_emergency.clickDelay {
            startActivityForResult<SetEmergencyNameActivity>(1,"name" to driverData?.emergencyContact)
        }
        tv_emergency_phone.clickDelay {
            startActivityForResult<SetEmergencyPhoneActivity>(2,"phone" to driverData?.emergencyPhone)
        }
        tv_phone.clickDelay {
            startActivity<ChangePhoneOneActivity>("phone" to driverData?.phone)
        }
    }
 
    private fun updateDriverInfo(avatar:String?= null){
        val map = getMapByAny()
        if (!avatar.isNullOrEmpty())
            map["avatar"] = avatar
        callNet(Api.saveDriverInfo,map){
            val bean = Gson().fromJson(it, BaseBean::class.java)
            if (bean.resultUtil.code == 10000){
 
            }else
                toast(bean.resultUtil.msg)
        }
    }
 
    override fun getPhoneUrl(url: String, type: Int, path: String) {
        iv_head.setImageURI(url)
        updateDriverInfo(url)
    }
 
    @Subscribe
    fun onModifyPhone(e:BaseEvent){
        if (e.code == BaseEvent.MODIFY_PHONE){
            driverData?.phone = e.msg
            tv_phone.text = driverData?.phone
        }
    }
 
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == RESULT_OK&&data!=null){
            when(requestCode){
                1->{
                    driverData?.emergencyContact = data.getStringExtra("name")?:""
                    tv_emergency.text = driverData?.emergencyContact
                }
                2->{
                    driverData?.emergencyPhone = data.getStringExtra("phone")?:""
                    tv_emergency_phone.text = driverData?.emergencyPhone
                }
            }
        }
    }
}