From d75935b35c8a17d37e80e760678e5c70c482fd0e Mon Sep 17 00:00:00 2001 From: Max Schwinghammer Date: Thu, 21 Aug 2025 14:43:13 +0200 Subject: [PATCH 1/2] Handle unauthenticated users by redirecting to login --- .../main/java/com/freshkeeper/MainActivity.kt | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/freshkeeper/MainActivity.kt b/app/src/main/java/com/freshkeeper/MainActivity.kt index ca0d70e..6c5e19a 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?.navigate(Screen.SignIn.route) + } + } + if (!networkManager.isNetworkAvailable()) { Toast.makeText(this, "Please connect to the internet", Toast.LENGTH_LONG).show() } From db0a27694def50e9b05324582bbb6067e6b05147 Mon Sep 17 00:00:00 2001 From: Max Schwinghammer Date: Thu, 21 Aug 2025 15:05:09 +0200 Subject: [PATCH 2/2] Update app/src/main/java/com/freshkeeper/MainActivity.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- app/src/main/java/com/freshkeeper/MainActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/freshkeeper/MainActivity.kt b/app/src/main/java/com/freshkeeper/MainActivity.kt index 6c5e19a..43a9955 100644 --- a/app/src/main/java/com/freshkeeper/MainActivity.kt +++ b/app/src/main/java/com/freshkeeper/MainActivity.kt @@ -87,7 +87,7 @@ class MainActivity : FragmentActivity() { } LaunchedEffect(Unit) { - if (currentUserId == null) { + if (currentUserId == null && navController?.currentDestination?.route != Screen.SignIn.route) { navController?.navigate(Screen.SignIn.route) } }