Add keep on screen feature on the Character Sheet page.
This commit is contained in:
parent
dbd282a42a
commit
8c1d83402c
3 changed files with 22 additions and 3 deletions
|
|
@ -27,7 +27,6 @@ import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.compositionLocalOf
|
import androidx.compose.runtime.compositionLocalOf
|
||||||
import androidx.compose.runtime.derivedStateOf
|
import androidx.compose.runtime.derivedStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.staticCompositionLocalOf
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||||
|
|
@ -45,10 +44,10 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
val NO_WINDOW_INSETS = WindowInsets(0, 0, 0, 0)
|
val NO_WINDOW_INSETS = WindowInsets(0, 0, 0, 0)
|
||||||
|
|
||||||
val LocalActivity = staticCompositionLocalOf<Activity> {
|
val LocalActivity = compositionLocalOf<Activity> {
|
||||||
error("Activity not available")
|
error("Activity not available")
|
||||||
}
|
}
|
||||||
val LocalSnack = staticCompositionLocalOf<SnackbarHostState> {
|
val LocalSnack = compositionLocalOf<SnackbarHostState> {
|
||||||
error("SnackbarHostState not available")
|
error("SnackbarHostState not available")
|
||||||
}
|
}
|
||||||
val LocalRollOverlay = compositionLocalOf<BlurredRollOverlayHostState> {
|
val LocalRollOverlay = compositionLocalOf<BlurredRollOverlayHostState> {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.pixelized.rplexicon.ui.composable
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.DisposableEffect
|
||||||
|
import androidx.compose.ui.platform.LocalView
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun KeepOnScreen() {
|
||||||
|
val currentView = LocalView.current
|
||||||
|
|
||||||
|
DisposableEffect(Unit) {
|
||||||
|
currentView.keepScreenOn = true
|
||||||
|
onDispose {
|
||||||
|
currentView.keepScreenOn = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -62,6 +62,7 @@ import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import com.pixelized.rplexicon.LocalRollOverlay
|
import com.pixelized.rplexicon.LocalRollOverlay
|
||||||
import com.pixelized.rplexicon.NO_WINDOW_INSETS
|
import com.pixelized.rplexicon.NO_WINDOW_INSETS
|
||||||
import com.pixelized.rplexicon.R
|
import com.pixelized.rplexicon.R
|
||||||
|
import com.pixelized.rplexicon.ui.composable.KeepOnScreen
|
||||||
import com.pixelized.rplexicon.ui.composable.Loader
|
import com.pixelized.rplexicon.ui.composable.Loader
|
||||||
import com.pixelized.rplexicon.ui.composable.edit.HandleHitPointEditDialog
|
import com.pixelized.rplexicon.ui.composable.edit.HandleHitPointEditDialog
|
||||||
import com.pixelized.rplexicon.ui.composable.error.HandleFetchError
|
import com.pixelized.rplexicon.ui.composable.error.HandleFetchError
|
||||||
|
|
@ -235,6 +236,8 @@ fun CharacterSheetScreen(
|
||||||
BackHandler(enabled = overlay.isOverlayVisible) {
|
BackHandler(enabled = overlay.isOverlayVisible) {
|
||||||
overlay.hideOverlay()
|
overlay.hideOverlay()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KeepOnScreen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue