From d1a9e3312387b6c47e6186af506787a8a66369d1 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期六, 09 十一月 2024 18:40:36 +0800
Subject: [PATCH] fix

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/UserInfoActivity.kt |   42 ++++++++++++++++++++++--------------------
 1 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/UserInfoActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/UserInfoActivity.kt
index 41efe41..963d2c8 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/UserInfoActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/UserInfoActivity.kt
@@ -6,6 +6,9 @@
 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
@@ -24,11 +27,11 @@
 import org.greenrobot.eventbus.EventBus
 import org.jetbrains.anko.startActivityForResult
 
-class UserInfoActivity:TransparentStatusBarActivity() {
+class UserInfoActivity:TransparentStatusBarActivity(){
     override fun setContentView() = R.layout.activity_user_info
 
     private var userInfo:UserInfo? = null
-    private var changed = true
+    private var changed = false
 
     override fun initClick() {
         iv_avatar.setOnClickListener {
@@ -39,16 +42,23 @@
             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
                 }
             })
@@ -56,7 +66,7 @@
         }
 
         iv_back.setOnClickListener {
-            onBackPressed()
+            finish()
         }
     }
 
@@ -71,7 +81,7 @@
             data?.apply {
                 iv_avatar.setImageURI(avatar)
                 et_nick.setText(nickname)
-                et_name.setText("") //todo
+                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
@@ -86,28 +96,19 @@
         }
     }
 
-    override fun onBackPressed() {
-        if (changed)
-            TipDialog.show(supportFragmentManager,"是否保存修改?",object :TipDialog.OnClickCallback{
-                override fun onOk() {
-                    updateInfo()
-                }
-
-                override fun onCancel() {
-                    finish()
-                }
-            },"保存","不保存")
-        else
-            super.onBackPressed()
-    }
-
 
     private fun updateInfo(){
-        HttpManager.updateInfo(userInfo?.avatar,userInfo?.birthday,et_company.text.toString(),et_edu.text.toString(),et_mail.text.toString(),userInfo?.gender,et_homeland.text.toString(),
+        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)
         }
     }
 
@@ -117,6 +118,7 @@
             data.getStringExtra("path")!!.uploadWithCompress(this, object : StringCallback {
                 override fun onResult(rst: String) {
                     userInfo?.avatar = rst
+                    updateAvatar()
                     iv_avatar.setImageURI(rst)
                 }
             })

--
Gitblit v1.7.1