diff --git a/demo-app/src/main/java/com/gravatar/demoapp/ui/AvatarUpdateTab.kt b/demo-app/src/main/java/com/gravatar/demoapp/ui/AvatarUpdateTab.kt index e43225671..6c631a322 100644 --- a/demo-app/src/main/java/com/gravatar/demoapp/ui/AvatarUpdateTab.kt +++ b/demo-app/src/main/java/com/gravatar/demoapp/ui/AvatarUpdateTab.kt @@ -77,7 +77,7 @@ import kotlinx.coroutines.withContext fun AvatarUpdateTab(modifier: Modifier = Modifier) { var userEmail by remember { mutableStateOf(BuildConfig.DEMO_EMAIL) } var userToken by remember { mutableStateOf(BuildConfig.DEMO_BEARER_TOKEN) } - var useToken by remember { mutableStateOf(false) } + var useToken by rememberSaveable { mutableStateOf(false) } var tokenVisible by remember { mutableStateOf(false) } val context = LocalContext.current var showBottomSheet by rememberSaveable { mutableStateOf(false) } diff --git a/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/GravatarQuickEditorPage.kt b/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/GravatarQuickEditorPage.kt index 18178d526..a1b95fd1b 100644 --- a/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/GravatarQuickEditorPage.kt +++ b/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/GravatarQuickEditorPage.kt @@ -7,7 +7,6 @@ import androidx.compose.animation.expandVertically import androidx.compose.animation.fadeIn import androidx.compose.animation.shrinkVertically import androidx.compose.runtime.Composable -import androidx.compose.runtime.DisposableEffect import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.NavType @@ -16,7 +15,6 @@ import androidx.navigation.compose.composable import androidx.navigation.compose.navigation import androidx.navigation.compose.rememberNavController import androidx.navigation.navArgument -import com.gravatar.quickeditor.QuickEditorContainer import com.gravatar.quickeditor.ui.alttext.AltTextPage import com.gravatar.quickeditor.ui.avatarpicker.AvatarPicker import com.gravatar.quickeditor.ui.navigation.EditorNavDestinations @@ -111,14 +109,6 @@ internal fun GravatarQuickEditorPage( ) { val navController = rememberNavController() - DisposableEffect(authToken) { - QuickEditorContainer.getInstance().useInMemoryTokenStorage() - - onDispose { - QuickEditorContainer.getInstance().resetUseInMemoryTokenStorage() - } - } - NavHost( navController, startDestination = QuickEditorPage.SPLASH.name, diff --git a/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/bottomsheet/GravatarQuickEditorBottomSheet.kt b/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/bottomsheet/GravatarQuickEditorBottomSheet.kt index 44b6b85b2..0a76bf338 100644 --- a/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/bottomsheet/GravatarQuickEditorBottomSheet.kt +++ b/gravatar-quickeditor/src/main/java/com/gravatar/quickeditor/ui/editor/bottomsheet/GravatarQuickEditorBottomSheet.kt @@ -23,6 +23,7 @@ import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo import androidx.compose.material3.surfaceColorAtElevation import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment @@ -42,6 +43,7 @@ import com.composables.core.SheetDetent import com.composables.core.SheetDetent.Companion.FullyExpanded import com.composables.core.SheetDetent.Companion.Hidden import com.composables.core.rememberModalBottomSheetState +import com.gravatar.quickeditor.QuickEditorContainer import com.gravatar.quickeditor.ui.components.QEDragHandle import com.gravatar.quickeditor.ui.editor.AuthenticationMethod import com.gravatar.quickeditor.ui.editor.AvatarPickerContentLayout @@ -100,6 +102,16 @@ internal fun GravatarQuickEditorBottomSheet( } } + DisposableEffect(Unit) { + if (authenticationMethod is AuthenticationMethod.Bearer) { + QuickEditorContainer.getInstance().useInMemoryTokenStorage() + } + + onDispose { + QuickEditorContainer.getInstance().resetUseInMemoryTokenStorage() + } + } + CompositionLocalProvider(LocalGravatarTheme provides mainGravatarTheme) { GravatarModalBottomSheet( onDismiss = onDismiss,