Browse Source

fix 登录中不可进入设置+使用lifecycleScope

RobinTan1024 4 years ago
parent
commit
2b59d126e8

+ 2 - 3
app/src/main/java/com/doverfuelingsolutions/issp/view/LoginActivity.kt

@@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity
 import androidx.databinding.DataBindingUtil
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
+import androidx.lifecycle.lifecycleScope
 import com.doverfuelingsolutions.issp.R
 import com.doverfuelingsolutions.issp.api.CloudApi
 import com.doverfuelingsolutions.issp.data.DataStore
@@ -28,8 +29,6 @@ class LoginActivity : AppCompatActivity(), View.OnClickListener {
             .apply { anchorView = activityLoginBinding.loginForm }
     }
 
-    private val coroutineMain = CoroutineScope(Dispatchers.Main)
-
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         activityLoginBinding = DataBindingUtil.setContentView(this, R.layout.activity_login)
@@ -71,7 +70,7 @@ class LoginActivity : AppCompatActivity(), View.OnClickListener {
             return
         }
 
-        coroutineMain.launch {
+        lifecycleScope.launch {
             mainViewModel.submitting.value = true
             val accountName = mainViewModel.accountName.value?.trim()
             val password = mainViewModel.password.value?.trim()

+ 3 - 0
app/src/main/res/layout/activity_login.xml

@@ -13,6 +13,8 @@
     <androidx.constraintlayout.widget.ConstraintLayout
         style="@style/match"
         android:background="@mipmap/activity_background"
+        android:focusableInTouchMode="true"
+        android:focusable="true"
         tools:context=".view.LoginActivity">
 
         <LinearLayout
@@ -78,6 +80,7 @@
             android:layout_height="wrap_content"
             android:layout_marginTop="40dp"
             android:layout_marginEnd="40dp"
+            android:enabled="@{!mainViewModel.submitting}"
             android:text="@string/preference"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />