Minor Wear OS fixes

* Add padding to top of menu to address Play Store rejection
* Exit new task screen if no title is entered
* Keep menu items in memory
pull/3097/head
Alex Baker 1 year ago
parent 48304b59ba
commit 916175a5e1

@ -69,6 +69,8 @@ class MainActivity : ComponentActivity() {
val taskListItems = taskListViewModel.uiItems.collectAsLazyPagingItems()
val settingsViewModel: SettingsViewModel = viewModel()
val connected = viewModel.uiState.collectAsStateWithLifecycle().value
val menuViewModel: MenuViewModel = viewModel()
val menuItems = menuViewModel.uiItems.collectAsLazyPagingItems()
LaunchedEffect(connected) {
when (connected) {
NodesActionScreenState.ApiNotAvailable -> {
@ -193,14 +195,14 @@ class MainActivity : ComponentActivity() {
setTitle = { viewModel.setTitle(it) },
toggleCompleted = { viewModel.setCompleted(!uiState.completed) },
save = { viewModel.save { navController.popBackStack() } },
back = { navController.popBackStack() },
)
}
composable(
route = "menu",
) { navBackStackEntry ->
val menuViewModel: MenuViewModel = viewModel(navBackStackEntry)
MenuScreen(
items = menuViewModel.uiItems.collectAsLazyPagingItems(),
items = menuItems,
selectFilter = {
settingsViewModel.setFilter(it.id)
navController.popBackStack()

@ -1,7 +1,9 @@
package org.tasks.presentation.screens
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
@ -40,6 +42,9 @@ fun MenuScreen(
modifier = Modifier.fillMaxSize(),
columnState = columnState,
) {
item {
Spacer(modifier = Modifier.height(16.dp))
}
items(
items = items,
key = { item -> "${item.type}_${item.id}" },

@ -39,6 +39,7 @@ fun TaskEditScreen(
setTitle: (String) -> Unit,
toggleCompleted: () -> Unit,
save: () -> Unit,
back: () -> Unit,
) {
val keyboardInputRequest: ManagedActivityResultLauncher<Intent, ActivityResult> = rememberLauncherForActivityResult(
contract = ActivityResultContracts.StartActivityForResult()
@ -51,6 +52,8 @@ fun TaskEditScreen(
?.getCharSequence("input")
?: return@rememberLauncherForActivityResult
setTitle(text.toString())
} else if (uiState.taskId == 0L) {
back()
}
}
LaunchedEffect(uiState.taskId) {

Loading…
Cancel
Save