Basic search implementation.

This commit is contained in:
Andres Gomez, Thomas (ITDV CC) - AF (ext) 2023-07-18 21:21:52 +02:00
parent dfc6c4e673
commit af5fb8f33c
21 changed files with 806 additions and 298 deletions

View file

@ -4,6 +4,7 @@ import android.app.Activity
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.MaterialTheme
@ -15,13 +16,19 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.Modifier
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.WindowCompat
import com.pixelized.rplexicon.ui.navigation.ScreenNavHost
import com.pixelized.rplexicon.ui.theme.LexiconTheme
import dagger.hilt.android.AndroidEntryPoint
val LocalActivity = staticCompositionLocalOf<Activity> { error("Activity not available") }
val LocalSnack =
staticCompositionLocalOf<SnackbarHostState> { error("SnackbarHostState not available") }
val LocalActivity = staticCompositionLocalOf<Activity> {
error("Activity not available")
}
val LocalSnack = staticCompositionLocalOf<SnackbarHostState> {
error("SnackbarHostState not available")
}
val NO_WINDOW_INSETS = WindowInsets(0, 0, 0, 0)
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
@ -29,6 +36,14 @@ class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Disable system inset consuming.
WindowCompat.setDecorFitsSystemWindows(window, false)
// splashscreen management
installSplashScreen().apply {
setKeepOnScreenCondition { false }
}
setContent {
LexiconTheme {
CompositionLocalProvider(
@ -36,6 +51,7 @@ class MainActivity : ComponentActivity() {
LocalSnack provides remember { SnackbarHostState() }
) {
Scaffold(
contentWindowInsets = NO_WINDOW_INSETS,
content = { padding ->
Surface(
modifier = Modifier