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) {