更新功能修改
This commit is contained in:
@@ -4,6 +4,9 @@ import android.app.ProgressDialog
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.view.Window
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import com.btpj.lib_base.data.local.DataStoreManager
|
||||
import com.btpj.lib_base.data.local.IpManager
|
||||
import com.btpj.lib_base.ext.jsonToBean
|
||||
@@ -16,6 +19,8 @@ import com.xjjk.healthexpertclient.databinding.ActivitySettingBinding
|
||||
import com.xjjk.healthexpertclient.ext.startWebActivity
|
||||
import com.xjjk.healthexpertclient.ui.mine.viewmodel.SettingViewModel
|
||||
import com.xjjk.healthexpertclient.view.LoadingProgressDialog
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.launch
|
||||
import org.lzh.framework.updatepluginlib.UpdateBuilder
|
||||
import org.lzh.framework.updatepluginlib.base.UpdateParser
|
||||
import org.lzh.framework.updatepluginlib.model.Update
|
||||
@@ -27,6 +32,8 @@ import org.lzh.framework.updatepluginlib.model.Update
|
||||
*/
|
||||
class SettingActivity: BaseActivity<SettingViewModel, ActivitySettingBinding>(R.layout.activity_setting) {
|
||||
var dialog: LoadingProgressDialog? = null
|
||||
var hasNewVersion=false
|
||||
|
||||
override fun initView(savedInstanceState: Bundle?) {
|
||||
|
||||
}
|
||||
@@ -37,7 +44,8 @@ class SettingActivity: BaseActivity<SettingViewModel, ActivitySettingBinding>(R.
|
||||
var str=AppUtil.getAppVersionName(this)+"(${AppUtil.getAppVersionCode(this)})"
|
||||
mBinding.tvVersion.text = getString(R.string.app_version, str)
|
||||
// mBinding.tvAbout.text = getString(R.string.setting_about, getString(R.string.app_name))
|
||||
initUpdateApp(false)
|
||||
// initUpdateApp(false)
|
||||
mViewModel.getAppUpdateInfo()
|
||||
}
|
||||
|
||||
override fun bindEvent() {
|
||||
@@ -65,11 +73,33 @@ class SettingActivity: BaseActivity<SettingViewModel, ActivitySettingBinding>(R.
|
||||
|
||||
}
|
||||
R.id.rl_version_update -> {
|
||||
initUpdateApp(true)
|
||||
if (hasNewVersion) {
|
||||
UpdateBuilder.create().check()
|
||||
} else {
|
||||
showToast("已是最新版本")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun createObserve() {
|
||||
super.createObserve()
|
||||
lifecycleScope.launch {
|
||||
repeatOnLifecycle(Lifecycle.State.CREATED) {
|
||||
mViewModel.appUpdateInfoData.collectLatest { bean ->
|
||||
bean?:return@collectLatest
|
||||
if (bean.versionNo> BuildConfig.VERSION_CODE){
|
||||
hasNewVersion=true
|
||||
mBinding?.tvVersionUpdate?.text="有新版本待更新"
|
||||
}else{
|
||||
mBinding?.tvVersionUpdate?.text="已是最新版本"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun initUpdateApp(isClick:Boolean){
|
||||
dialog?.show()
|
||||
UpdateBuilder.create().setUpdateParser(object : UpdateParser() {
|
||||
|
||||
+19
-1
@@ -1,14 +1,32 @@
|
||||
package com.xjjk.healthexpertclient.ui.mine.viewmodel
|
||||
|
||||
import com.btpj.lib_base.base.BaseViewModel
|
||||
import com.btpj.lib_base.ext.handleRequest
|
||||
import com.btpj.lib_base.ext.launch
|
||||
import com.xjjk.healthexpertclient.bean.AppUpdateBean
|
||||
import com.xjjk.healthexpertclient.data.repository.WorkbenchRepository
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
|
||||
/**
|
||||
* @author nanfeifei
|
||||
* @time 2023/5/23 16:05
|
||||
* @description
|
||||
*/
|
||||
class SettingViewModel: BaseViewModel() {
|
||||
class SettingViewModel : BaseViewModel() {
|
||||
|
||||
var appUpdateInfoData = MutableSharedFlow<AppUpdateBean?>()
|
||||
|
||||
override fun init() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
fun getAppUpdateInfo() {
|
||||
launch({
|
||||
handleRequest(WorkbenchRepository.getAppUpdateInfo(""), successBlock = {
|
||||
appUpdateInfoData.emit(it.result)
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user