From 20ca293ef3aa493ffeb792f402b1f8f20a5820f0 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 3 Dec 2024 14:13:24 -0600 Subject: [PATCH] Fix back button --- .../astrid/activity/TaskEditFragment.kt | 50 ++++++++----------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt index 00a51bc2c..3eaaa1f22 100755 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt @@ -177,40 +177,28 @@ class TaskEditFragment : Fragment() { topBar = { TopAppBar( navigationIcon = { - IconButton( - onClick = { - when { - editViewModel.isReadOnly -> activity?.onBackPressed() - backButtonSavesTask -> discardButtonClick() - else -> lifecycleScope.launch { save() } - } + if (editViewModel.isReadOnly) { + IconButton(onClick = { activity?.onBackPressed() }) { + Icon( + imageVector = Icons.AutoMirrored.Outlined.ArrowBack, + contentDescription = stringResource(R.string.back) + ) + } + } else { + IconButton(onClick = { lifecycleScope.launch { save() } }) { + Icon( + imageVector = Icons.Outlined.Save, + contentDescription = stringResource(R.string.save) + ) } - ) { - Icon( - imageVector = when { - editViewModel.isReadOnly -> Icons.AutoMirrored.Outlined.ArrowBack - backButtonSavesTask -> Icons.Outlined.Clear - else -> Icons.Outlined.Save - }, - contentDescription = when { - editViewModel.isReadOnly -> stringResource(R.string.back) - backButtonSavesTask -> stringResource(R.string.discard) - else -> stringResource(R.string.save) - } - ) } }, title = {}, actions = { - if (backButtonSavesTask && editViewModel.isWritable) { - IconButton(onClick = { discardButtonClick() }) { - Icon( - imageVector = Icons.Outlined.Clear, - contentDescription = stringResource(R.string.menu_discard_changes), - ) - } + if (!editViewModel.isWritable) { + return@TopAppBar } - if (!editViewModel.isNew && editViewModel.isWritable) { + if (!editViewModel.isNew) { IconButton(onClick = { deleteButtonClick() }) { Icon( imageVector = Icons.Outlined.Delete, @@ -218,6 +206,12 @@ class TaskEditFragment : Fragment() { ) } } + IconButton(onClick = { discardButtonClick() }) { + Icon( + imageVector = Icons.Outlined.Clear, + contentDescription = stringResource(R.string.menu_discard_changes), + ) + } }, ) },