package com.sinata.xqmuse.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.net.Uri
|
import android.os.Build
|
import android.os.Environment
|
import android.provider.Settings
|
import android.text.Editable
|
import android.text.TextWatcher
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.activity.SelectPhotoDialog
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.myToast
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.dialog.*
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.UserInfo
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import com.sinata.xqmuse.utils.extention.clickDelay
|
import com.sinata.xqmuse.utils.extention.uploadWithCompress
|
import com.sinata.xqmuse.utils.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.activity_user_info.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.startActivityForResult
|
|
class UserInfoActivity:TransparentStatusBarActivity(){
|
override fun setContentView() = R.layout.activity_user_info
|
|
private var userInfo:UserInfo? = null
|
private var changed = false
|
|
override fun initClick() {
|
iv_avatar.setOnClickListener {
|
startActivityForResult<SelectPhotoDialog>(1)
|
}
|
|
tv_sex.clickDelay {
|
ChoosSexDialog.show(supportFragmentManager,object :StringCallback{
|
override fun onResult(rst: String) {
|
userInfo?.gender = rst.toInt()
|
changed = true
|
tv_sex.text = if (userInfo?.gender == 1) "男" else if (userInfo?.gender == 2) "女" else if (userInfo?.gender == 3) "保密" else ""
|
}
|
})
|
}
|
|
tv_save.setOnClickListener {
|
updateInfo()
|
}
|
|
tv_birth.clickDelay {
|
val chooseBirthDialog = ChooseBirthDialog()
|
chooseBirthDialog.arguments = bundleOf("data" to userInfo?.birthday)
|
chooseBirthDialog.setCallback(object : ChooseBirthDialog.Callback {
|
override fun onOk(s: String) {
|
userInfo?.birthday = s
|
changed = true
|
tv_birth.text = s
|
}
|
})
|
chooseBirthDialog.show(supportFragmentManager, "birth")
|
}
|
|
iv_back.setOnClickListener {
|
finish()
|
}
|
}
|
|
override fun initView() {
|
titleBar.gone()
|
getInfo()
|
}
|
|
private fun getInfo() {
|
HttpManager.getUserDetail().request(this){_,data->
|
userInfo = data
|
data?.apply {
|
iv_avatar.setImageURI(avatar)
|
et_nick.setText(nickname)
|
et_name.setText(realname)
|
et_sign.setText(signature)
|
tv_sex.text = if (gender == 1) "男" else if (gender == 2) "女" else if (gender == 3) "保密" else ""
|
tv_birth.text = birthday
|
et_edu.setText(education)
|
et_profess.setText(industry)
|
et_company.setText(company)
|
et_job.setText(occupation)
|
et_location.setText(location)
|
et_homeland.setText(hometown)
|
et_mail.setText(email)
|
}
|
}
|
}
|
|
|
private fun updateInfo(){
|
HttpManager.updateInfo(userInfo?.birthday,et_company.text.toString(),et_edu.text.toString(),et_mail.text.toString(),userInfo?.gender,et_homeland.text.toString(),
|
et_profess.text.toString(),et_location.text.toString(),et_nick.text.toString(),et_job.text.toString(),et_sign.text.toString(),et_name.text.toString()).request(this@UserInfoActivity,true){_,_->
|
myToast("保存成功")
|
setResult(RESULT_OK)
|
finish()
|
}
|
}
|
|
private fun updateAvatar(){
|
HttpManager.updateUserAvatar(userInfo?.avatar?:"").request(this@UserInfoActivity,true){_,_->
|
setResult(RESULT_OK)
|
}
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK&&data!=null){
|
data.getStringExtra("path")!!.uploadWithCompress(this, object : StringCallback {
|
override fun onResult(rst: String) {
|
userInfo?.avatar = rst
|
updateAvatar()
|
iv_avatar.setImageURI(rst)
|
}
|
})
|
}
|
}
|
}
|