diff --git a/app/src/main/java/com/freshkeeper/MainActivity.kt b/app/src/main/java/com/freshkeeper/MainActivity.kt index ca0d70e..43a9955 100644 --- a/app/src/main/java/com/freshkeeper/MainActivity.kt +++ b/app/src/main/java/com/freshkeeper/MainActivity.kt @@ -6,10 +6,12 @@ import android.os.Bundle import android.widget.Toast import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge +import androidx.compose.runtime.LaunchedEffect import androidx.core.view.WindowCompat import androidx.fragment.app.FragmentActivity import androidx.navigation.NavHostController import androidx.navigation.compose.rememberNavController +import com.freshkeeper.model.Screen import com.freshkeeper.service.AssetFileManager import com.freshkeeper.service.DeepLinkHandler import com.freshkeeper.service.NetworkManager @@ -31,7 +33,6 @@ class MainActivity : FragmentActivity() { private lateinit var sharedPreferences: SharedPreferences private var navController: NavHostController? = null private lateinit var updateManager: UpdateManager - private val currentUserId = Firebase.auth.currentUser?.uid override fun onCreate(savedInstanceState: Bundle?) { enableEdgeToEdge() @@ -54,10 +55,14 @@ class MainActivity : FragmentActivity() { val notificationManager = NotificationManager(this) notificationManager.setupNotificationChannel() - notificationManager.scheduleReminderIfEnabled( - currentUserId, - FirebaseFirestore.getInstance(), - ) + + val currentUserId = Firebase.auth.currentUser?.uid + if (currentUserId != null) { + notificationManager.scheduleReminderIfEnabled( + currentUserId, + FirebaseFirestore.getInstance(), + ) + } val networkManager = NetworkManager(this) @@ -80,6 +85,13 @@ class MainActivity : FragmentActivity() { saveLanguageToPreferences(languageCode) updateLocale(languageCode) } + + LaunchedEffect(Unit) { + if (currentUserId == null && navController?.currentDestination?.route != Screen.SignIn.route) { + navController?.navigate(Screen.SignIn.route) + } + } + if (!networkManager.isNetworkAvailable()) { Toast.makeText(this, "Please connect to the internet", Toast.LENGTH_LONG).show() }