Skip to content

Commit

Permalink
Make sure DB is initialized before building routes. Fixes #589 (#591)
Browse files Browse the repository at this point in the history
  • Loading branch information
dessalines committed Dec 19, 2023
1 parent 5f20a7c commit 3453821
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 46 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ android {
dependencies {

implementation "com.github.jeziellago:compose-markdown:0.3.5"
implementation "com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11"
implementation "com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.12"

implementation 'androidx.navigation:navigation-compose:2.7.6'
implementation 'com.github.alorma:compose-settings-ui-m3:1.0.2'
implementation 'com.github.alorma:compose-settings-ui-m3:1.0.3'

// To use Kotlin annotation processing tool
ksp 'androidx.room:room-compiler:2.6.1'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.content.Context
import android.widget.Toast
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.ui.platform.AbstractComposeView
import androidx.lifecycle.lifecycleScope
Expand All @@ -24,7 +25,7 @@ class ComposeKeyboardView(
@Composable
override fun Content() {
val settingsState = settingsRepo.appSettings.observeAsState()
val settings = settingsState.value
val settings by settingsState
val ctx = context as IMEService

ThumbkeyTheme(
Expand Down
82 changes: 42 additions & 40 deletions app/src/main/java/com/dessalines/thumbkey/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -68,49 +68,51 @@ class MainActivity : AppCompatActivity() {
ThumbkeyTheme(
settings = settings,
) {
val navController = rememberNavController()
if (appSettingsViewModel.appSettings.isInitialized) {
val navController = rememberNavController()

ShowChangelog(appSettingsViewModel = appSettingsViewModel)
ShowChangelog(appSettingsViewModel = appSettingsViewModel)

NavHost(
navController = navController,
startDestination = startDestination,
) {
composable(
route = "setup",
NavHost(
navController = navController,
startDestination = startDestination,
) {
SetupActivity(
navController = navController,
thumbkeyEnabled = thumbkeyEnabled,
thumbkeySelected = thumbkeySelected,
)
}
composable(route = "settings") {
SettingsActivity(
navController = navController,
appSettingsViewModel = appSettingsViewModel,
thumbkeyEnabled = thumbkeyEnabled,
thumbkeySelected = thumbkeySelected,
)
}
composable(route = "lookAndFeel") {
LookAndFeelActivity(
navController = navController,
appSettingsViewModel = appSettingsViewModel,
)
}
composable(route = "behavior") {
BehaviorActivity(
navController = navController,
appSettingsViewModel = appSettingsViewModel,
)
}
composable(
route = "about",
) {
AboutActivity(
navController = navController,
)
composable(
route = "setup",
) {
SetupActivity(
navController = navController,
thumbkeyEnabled = thumbkeyEnabled,
thumbkeySelected = thumbkeySelected,
)
}
composable(route = "settings") {
SettingsActivity(
navController = navController,
appSettingsViewModel = appSettingsViewModel,
thumbkeyEnabled = thumbkeyEnabled,
thumbkeySelected = thumbkeySelected,
)
}
composable(route = "lookAndFeel") {
LookAndFeelActivity(
navController = navController,
appSettingsViewModel = appSettingsViewModel,
)
}
composable(route = "behavior") {
BehaviorActivity(
navController = navController,
appSettingsViewModel = appSettingsViewModel,
)
}
composable(
route = "about",
) {
AboutActivity(
navController = navController,
)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
Expand Down Expand Up @@ -89,7 +90,7 @@ fun SettingsActivity(
val snackbarHostState = remember { SnackbarHostState() }
val ctx = LocalContext.current

val settings = appSettingsViewModel.appSettings.observeAsState().value
val settings by appSettingsViewModel.appSettings.observeAsState()

val scrollState = rememberScrollState()
val showConfirmResetDialog = remember { mutableStateOf(false) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
Expand Down Expand Up @@ -60,7 +61,7 @@ fun BehaviorActivity(
) {
Log.d(TAG, "Got to behavior activity")

val settings = appSettingsViewModel.appSettings.observeAsState().value
val settings by appSettingsViewModel.appSettings.observeAsState()

val minSwipeLengthState =
rememberFloatSettingState(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
Expand Down Expand Up @@ -79,7 +80,7 @@ fun LookAndFeelActivity(
) {
Log.d(TAG, "Got to lookAndFeel activity")

val settings = appSettingsViewModel.appSettings.observeAsState().value
val settings by appSettingsViewModel.appSettings.observeAsState()

val keySizeState =
rememberFloatSettingState(
Expand Down

0 comments on commit 3453821

Please sign in to comment.