diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 04c6e7a..7238a28 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,8 +18,8 @@ android { applicationId = "com.nativeapptemplate.nativeapptemplatefree" targetSdk = 35 minSdk = 26 - versionCode = 2 - versionName = "2.0.0" + versionCode = 3 + versionName = "2.0.1" vectorDrawables { useSupportLibrary = true diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivity.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivity.kt index 3887629..1b69d9b 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivity.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivity.kt @@ -32,8 +32,6 @@ import com.nativeapptemplate.nativeapptemplatefree.ui.app_root.rememberNatAppSta import com.nativeapptemplate.nativeapptemplatefree.utils.NetworkMonitor import com.nativeapptemplate.nativeapptemplatefree.utils.Utility import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.flow.collect -import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import java.util.Date import javax.inject.Inject @@ -47,13 +45,12 @@ class MainActivity : ComponentActivity() { lateinit var loginRepository: LoginRepository private val viewModel: MainActivityViewModel by viewModels() + var uiState: MainActivityUiState by mutableStateOf(Loading) override fun onCreate(savedInstanceState: Bundle?) { val splashScreen = installSplashScreen() super.onCreate(savedInstanceState) - var uiState: MainActivityUiState by mutableStateOf(Loading) - viewModel.updateShouldNavigateToScanView(false) viewModel.updateShouldFetchItemTagForShowTagInfoScan(false) viewModel.updateShouldCompleteItemTagForCompleteScan(false) @@ -67,9 +64,9 @@ class MainActivity : ComponentActivity() { // Update the uiState lifecycleScope.launch { lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { - viewModel.uiState - .onEach { uiState = it } - .collect() + viewModel.uiState.collect { + uiState = it + } } } @@ -121,6 +118,8 @@ class MainActivity : ComponentActivity() { } } + if (!uiState.isLoggedIn) return + val intent = intent if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { viewModel.updateShouldNavigateToScanView(false) @@ -153,6 +152,9 @@ class MainActivity : ComponentActivity() { override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) + + if (!uiState.isLoggedIn) return + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { viewModel.updateShouldNavigateToScanView(false) diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivityViewModel.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivityViewModel.kt index 3728b5e..fc27d94 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivityViewModel.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/MainActivityViewModel.kt @@ -145,5 +145,9 @@ class MainActivityViewModel @Inject constructor( sealed interface MainActivityUiState { data object Loading : MainActivityUiState - data class Success(val userData: UserData) : MainActivityUiState + data class Success(val userData: UserData) : MainActivityUiState { + override val isLoggedIn = userData.isLoggedIn + } + + val isLoggedIn: Boolean get() = false }