package com.igo.user.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.text.TextUtils
|
import android.util.Log
|
import android.widget.TextView
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.activity.SelectPhotoDialog
|
import cn.sinata.xldutils.utils.SPUtils
|
import com.facebook.drawee.view.SimpleDraweeView
|
import com.google.android.datatransport.cct.internal.LogEvent
|
import com.igo.user.R
|
import com.igo.user.dialog.ChooseBirthDialog
|
import com.igo.user.dialog.ChooseBirthEnglishDialog
|
import com.igo.user.dialog.SingleWheelDialog
|
import com.igo.user.interfaces.StringCallback
|
import com.igo.user.network.HttpManager
|
import com.igo.user.network.request
|
import com.igo.user.ui.TransparentStatusBarActivity
|
import org.jetbrains.anko.find
|
import org.jetbrains.anko.startActivityForResult
|
import org.jetbrains.anko.toast
|
import top.zibin.luban.Luban
|
import top.zibin.luban.OnCompressListener
|
import java.io.File
|
|
|
class UserInfoActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_user_info
|
|
private var url = ""
|
private var name = ""
|
private var birthday = ""
|
private var sex = ""
|
private var mail = ""
|
private var firstName = ""
|
private var lastName = ""
|
|
private val tv_name by lazy { find<TextView>(R.id.tv_name) }
|
private val iv_head by lazy { find<SimpleDraweeView>(R.id.iv_head) }
|
private val tv_sex by lazy { find<TextView>(R.id.tv_sex) }
|
private val tv_birth by lazy { find<TextView>(R.id.tv_birth) }
|
private val tv_mail by lazy { find<TextView>(R.id.tv_mail) }
|
private val tv_first_name by lazy { find<TextView>(R.id.tv_first_name) }
|
private val tv_last_name by lazy { find<TextView>(R.id.tv_last_name) }
|
|
companion object {
|
var mysex = ""
|
var mybirth = ""
|
}
|
|
override fun initClick() {
|
tv_name.setOnClickListener {
|
startActivityForResult<NickNameActivity>(1, "name" to name)
|
}
|
iv_head.setOnClickListener {
|
// startActivityForResult<SelectPhotoDialog>(5)
|
}
|
tv_sex.setOnClickListener {
|
val singleWheelDialog = SingleWheelDialog()
|
singleWheelDialog.arguments =
|
bundleOf("data" to arrayListOf(getString(R.string.女), getString(R.string.男)))
|
singleWheelDialog.setCallback(object : StringCallback {
|
override fun onRlt(rlt: String) {
|
tv_sex.text = rlt
|
sex = if (rlt == getString(R.string.男)) "1" else "2"
|
showDialog()
|
HttpManager.updateInfo(null, null, null, sex)
|
.request(this@UserInfoActivity) { _, _ ->
|
mysex = rlt
|
dismissDialog()
|
}
|
}
|
})
|
singleWheelDialog.show(supportFragmentManager, "sex")
|
}
|
tv_birth.setOnClickListener {
|
val language = SPUtils.instance().getString("language", "en")
|
if (language == "en" || language == "fr") {
|
val chooseBirthDialog = ChooseBirthEnglishDialog()
|
chooseBirthDialog.setCallback(object : ChooseBirthEnglishDialog.Callback {
|
override fun onOk(s: String, formatS: String) {
|
tv_birth.text = formatS
|
showDialog()
|
HttpManager.updateInfo(null, s, null, null)
|
.request(this@UserInfoActivity) { _, _ ->
|
mybirth = formatS
|
dismissDialog()
|
}
|
}
|
})
|
chooseBirthDialog.show(supportFragmentManager, "birth")
|
} else {
|
val chooseBirthDialog = ChooseBirthDialog()
|
chooseBirthDialog.setCallback(object : ChooseBirthDialog.Callback {
|
override fun onOk(s: String) {
|
tv_birth.text = s
|
showDialog()
|
HttpManager.updateInfo(null, s, null, null)
|
.request(this@UserInfoActivity) { _, _ ->
|
mybirth = s
|
dismissDialog()
|
}
|
}
|
})
|
chooseBirthDialog.show(supportFragmentManager, "birth")
|
}
|
}
|
tv_mail.setOnClickListener {
|
if (mail.isNullOrEmpty())
|
startActivityForResult<SetMailActivity>(2, "mail" to mail, "isRegister" to false)
|
else
|
startActivityForResult<MailActivity>(2, "mail" to mail)
|
|
}
|
tv_first_name.setOnClickListener {
|
// if (firstName.isNullOrEmpty())
|
startActivityForResult<NickNameActivity>(3, "name" to firstName, "type" to 1)
|
}
|
tv_last_name.setOnClickListener {
|
// if (lastName.isNullOrEmpty())
|
startActivityForResult<NickNameActivity>(4, "name" to lastName, "type" to 2)
|
}
|
}
|
|
override fun initView() {
|
title = getString(R.string.个人信息)
|
url = intent.getStringExtra("avatar") ?: ""
|
name = intent.getStringExtra("nickName") ?: ""
|
sex = intent.getStringExtra("sex") ?: ""
|
birthday = intent.getStringExtra("birthday") ?: ""
|
mail = intent.getStringExtra("mail") ?: ""
|
firstName = intent.getStringExtra("firstName") ?: ""
|
lastName = intent.getStringExtra("lastName") ?: ""
|
iv_head.setImageURI(url)
|
tv_name.text = name
|
tv_sex.text =
|
mysex.ifEmpty {
|
if (sex == "1") getString(R.string.男) else getString(R.string.女)
|
}.apply {
|
Log.e( "测试1: ", this)
|
}
|
|
|
tv_birth.text = mybirth.ifEmpty { birthday }.apply {
|
Log.e( "测试2: ", this)
|
}
|
tv_mail.text = mail
|
tv_first_name.text = firstName
|
tv_last_name.text = lastName
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK && data != null) {
|
if (requestCode == 1) {
|
name = data.getStringExtra("name") ?: ""
|
tv_name.text = name
|
} else if (requestCode == 2) {
|
mail = data.getStringExtra("mail") ?: ""
|
tv_mail.text = mail
|
} else if (requestCode == 3) {
|
firstName = data.getStringExtra("name") ?: ""
|
tv_first_name.text = firstName
|
} else if (requestCode == 4) {
|
lastName = data.getStringExtra("name") ?: ""
|
tv_last_name.text = lastName
|
} else {
|
Luban.with(this)
|
.load(File(data.getStringExtra("path")))
|
.ignoreBy(100)
|
.setTargetDir(getPath())
|
.filter { path ->
|
!(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif"))
|
}
|
.setCompressListener(object : OnCompressListener {
|
override fun onStart() {
|
showDialog(canCancel = false)
|
}
|
|
override fun onSuccess(file: File) {
|
Log.e("mmp", "压缩完成" + file.name)
|
HttpManager.uploadFile(file).request(this@UserInfoActivity) { _, data ->
|
data?.let {
|
this@UserInfoActivity.url = it
|
HttpManager.updateInfo(url, null, null, null)
|
.request(this@UserInfoActivity) { _, _ ->
|
dismissDialog()
|
toast(getString(R.string.上传成功))
|
iv_head.setImageURI(url)
|
}
|
dismissDialog()
|
}
|
}
|
}
|
|
override fun onError(e: Throwable) {
|
e.printStackTrace()
|
}
|
}).launch()
|
}
|
setResult(Activity.RESULT_OK)
|
}
|
}
|
}
|