From 6f5962c5609bd77233f280b3907f8a40018388fe Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Wed, 11 Jan 2023 10:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E7=9A=84=E5=BC=82=E6=AD=A5=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../preferences/PreferencesRepository.kt | 1 - .../preferences/PreferencesRepositoryImp.kt | 13 ++----------- .../volvo/ui/fragments/login/LoginFragment.kt | 16 +++++++++------- .../volvo/ui/fragments/login/LoginViewModel.kt | 9 +++------ 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepository.kt b/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepository.kt index 92c4011..44cd63d 100644 --- a/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepository.kt +++ b/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepository.kt @@ -15,5 +15,4 @@ interface PreferencesRepository { suspend fun getString(key: String): Flow suspend fun saveInt(key: String, content: Int) suspend fun getInt(key: String): Flow - fun getUserName(): String } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepositoryImp.kt b/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepositoryImp.kt index 6af43c0..c6bf5c3 100644 --- a/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepositoryImp.kt +++ b/app/src/main/java/com/navinfo/volvo/repository/preferences/PreferencesRepositoryImp.kt @@ -51,16 +51,7 @@ class PreferencesRepositoryImp @Inject constructor( it[intPreferencesKey(key)] } - override fun loginUser(): Flow = loginUser.data - - override fun getUserName(): String { - Log.e("jingo", "获取用户名 开始") - var username = "" - loginUser.data.map { - username = it.username - } - Log.e("jingo", "获取用户名 结束后 $username") - return username + override fun loginUser(): Flow { + return loginUser.data } - } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt index 1f0a893..56db5c9 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt @@ -63,13 +63,15 @@ class LoginFragment : BaseFragment() { Toast.makeText(context, "请输入密码", Toast.LENGTH_SHORT).show() return@setOnClickListener } - viewModel.onClickLogin( - viewBinding.loginUsername.text.toString(), - viewBinding.loginPassword.text.toString() - ) - findNavController().navigate(R.id.action_login_to_home) + lifecycleScope.launch{ + repeatOnLifecycle(Lifecycle.State.STARTED){ + viewModel.onClickLogin( + viewBinding.loginUsername.text.toString(), + viewBinding.loginPassword.text.toString() + ) + findNavController().navigate(R.id.action_login_to_home) + } + } } } - - } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginViewModel.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginViewModel.kt index a4e3e91..1b08bcc 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginViewModel.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginViewModel.kt @@ -7,6 +7,7 @@ import com.navinfo.volvo.repository.preferences.PreferencesRepository import com.navinfo.volvo.util.asLiveData //import com.navinfo.volvo.repository.preferences.PreferencesRepository import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Job import kotlinx.coroutines.cancel import kotlinx.coroutines.launch import javax.inject.Inject @@ -17,12 +18,8 @@ class LoginViewModel @Inject constructor(private val repository: PreferencesRepo val user = repository.loginUser() - fun onClickLogin(name: String, password: String) { - if (name != "") { - viewModelScope.launch { - repository.saveLoginUser(id = "", name = name, password = password) - } - } + suspend fun onClickLogin(name: String, password: String) { + repository.saveLoginUser(id = "", name = name, password = password) } // fun onClickLoginRegister(username: String, password: String) {