package com.fuban.user.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.text.TextUtils
|
import android.util.Log
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.activity.SelectPhotoDialog
|
import com.fuban.user.R
|
import com.fuban.user.network.HttpManager
|
import com.fuban.user.network.request
|
import java.io.File
|
import com.fuban.user.ui.TransparentStatusBarActivity
|
import com.fuban.user.dialog.ChooseBirthDialog
|
import com.fuban.user.dialog.SingleWheelDialog
|
import com.fuban.user.interfaces.StringCallback
|
import com.fuban.user.utils.OSSUtil
|
import kotlinx.android.synthetic.main.activity_user_info.*
|
import org.jetbrains.anko.startActivityForResult
|
import org.jetbrains.anko.toast
|
import top.zibin.luban.Luban
|
import top.zibin.luban.OnCompressListener
|
|
|
class UserInfoActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_user_info
|
|
override fun initClick() {
|
tv_name.setOnClickListener {
|
startActivityForResult<NickNameActivity>(1, "name" to name)
|
}
|
iv_head.setOnClickListener {
|
startActivityForResult<SelectPhotoDialog>(2)
|
}
|
tv_sex.setOnClickListener {
|
val singleWheelDialog = SingleWheelDialog()
|
singleWheelDialog.arguments = bundleOf("data" to arrayListOf("女","男"))
|
singleWheelDialog.setCallback(object :StringCallback{
|
override fun onRlt(rlt: String) {
|
tv_sex.text = rlt
|
sex = if (rlt == "男") "1" else "2"
|
showDialog()
|
HttpManager.updateInfo(null,null,null,sex).request(this@UserInfoActivity) { _, _ ->
|
dismissDialog()
|
}
|
}
|
})
|
singleWheelDialog.show(supportFragmentManager,"sex")
|
}
|
tv_birth.setOnClickListener {
|
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) { _, _ ->
|
dismissDialog()
|
}
|
}
|
})
|
chooseBirthDialog.show(supportFragmentManager,"birth")
|
}
|
|
}
|
|
private var url = ""
|
private var name = ""
|
private var birthday = ""
|
private var sex = ""
|
|
override fun initView() {
|
title = "个人信息"
|
url = intent.getStringExtra("avatar")
|
name = intent.getStringExtra("nickName")
|
sex = intent.getStringExtra("sex")
|
birthday = intent.getStringExtra("birthday")
|
iv_head.setImageURI(url)
|
tv_name.text = name
|
tv_sex.text = if (sex == "1")"男" else "女"
|
tv_birth.text = birthday
|
}
|
|
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 {
|
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)
|
OSSUtil(this@UserInfoActivity).uploadSingle(file.path,object :OSSUtil.OSSUploadCallBack(){
|
override fun onFial(message: String?) {
|
super.onFial(message)
|
dismissDialog()
|
toast(message ?: "上传失败")
|
}
|
|
override fun onFinish(url: String) {
|
super.onFinish(url)
|
this@UserInfoActivity.url = url
|
HttpManager.updateInfo(url,null,null,null).request(this@UserInfoActivity) { _, _ ->
|
dismissDialog()
|
toast("上传成功")
|
iv_head.setImageURI(url)
|
}
|
}
|
})
|
}
|
|
override fun onError(e: Throwable) {
|
e.printStackTrace()
|
}
|
}).launch()
|
}
|
setResult(Activity.RESULT_OK)
|
}
|
}
|
}
|