diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index edc0ebe..3a75d5e 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -265,7 +265,7 @@ } binding.updateVersionLayout.setOnClickListener { - userViewModel.updateVersion() + userViewModel.updateVersion(requireContext()) } binding.noticeSwitch.setOnCheckedChangeListener { _, isChecked -> diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index edc0ebe..3a75d5e 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -265,7 +265,7 @@ } binding.updateVersionLayout.setOnClickListener { - userViewModel.updateVersion() + userViewModel.updateVersion(requireContext()) } binding.noticeSwitch.setOnCheckedChangeListener { _, isChecked -> diff --git a/app/src/main/java/com/casic/app/smartwell/vm/UserViewModel.kt b/app/src/main/java/com/casic/app/smartwell/vm/UserViewModel.kt index 070c35a..1db4a13 100644 --- a/app/src/main/java/com/casic/app/smartwell/vm/UserViewModel.kt +++ b/app/src/main/java/com/casic/app/smartwell/vm/UserViewModel.kt @@ -1,5 +1,6 @@ package com.casic.app.smartwell.vm +import android.content.Context import androidx.lifecycle.MutableLiveData import com.casic.app.smartwell.base.BaseApplication import com.casic.app.smartwell.extensions.getResponseCode @@ -9,6 +10,7 @@ import com.casic.app.smartwell.utils.LocaleConstant import com.casic.app.smartwell.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson +import com.google.gson.JsonParser import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch @@ -73,17 +75,27 @@ it.printStackTrace() }) - fun updateVersion() = launch({ + fun updateVersion(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.updateVersion() - val responseCode = response.getResponseCode() - if (responseCode == 200) { - loadState.value = LoadState.Success - versionResultModel.value = gson.fromJson( - response, object : TypeToken() {}.type - ).data - } else { - loadState.value = LoadState.Fail + when (response.getResponseCode()) { + 200 -> { + loadState.value = LoadState.Success + versionResultModel.value = gson.fromJson( + response, object : TypeToken() {}.type + ).data + } + + 500 -> { + loadState.value = LoadState.Fail + val element = JsonParser.parseString(response) + val jsonObject = element.asJsonObject + jsonObject.get("message").asString.show(context) + } + + else -> { + loadState.value = LoadState.Fail + } } }, { loadState.value = LoadState.Fail