Update various UI for chat folders.

This commit is contained in:
Michelle Tang 2024-10-30 13:56:44 -04:00 committed by GitHub
parent ddcb9564bb
commit fe40324599
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 23 additions and 17 deletions

View file

@ -75,7 +75,7 @@ class ChatFoldersFragment : ComposeFragment() {
Scaffolds.Settings(
title = stringResource(id = R.string.ChatsSettingsFragment__chat_folders),
onNavigationClick = { navController.popBackStack() },
onNavigationClick = { requireActivity().onNavigateUp() },
navigationIconPainter = painterResource(id = R.drawable.ic_arrow_left_24),
navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close)
) { contentPadding: PaddingValues ->

View file

@ -82,7 +82,7 @@ class CreateFoldersFragment : ComposeFragment() {
if (viewModel.hasChanges() && !viewModel.hasEmptyName()) {
viewModel.showConfirmationDialog(true)
} else {
findNavController().popBackStack()
requireActivity().onNavigateUp()
}
}
}
@ -116,7 +116,7 @@ class CreateFoldersFragment : ComposeFragment() {
if (viewModel.hasChanges() && !viewModel.hasEmptyName()) {
viewModel.showConfirmationDialog(true)
} else {
navController.popBackStack()
requireActivity().onNavigateUp()
}
},
navigationIconPainter = painterResource(id = R.drawable.ic_arrow_left_24),
@ -142,25 +142,23 @@ class CreateFoldersFragment : ComposeFragment() {
onDeleteClicked = { viewModel.showDeleteDialog(true) },
onDeleteConfirmed = {
viewModel.deleteFolder(requireContext())
navController.popBackStack()
requireActivity().onNavigateUp()
},
onDeleteDismissed = {
viewModel.showDeleteDialog(false)
},
onCreateConfirmed = { shouldExit ->
onCreateConfirmed = {
if (isNewFolder) {
viewModel.createFolder(requireContext())
} else {
viewModel.updateFolder(requireContext())
}
if (shouldExit) {
navController.popBackStack()
}
requireActivity().onNavigateUp()
},
onCreateDismissed = { shouldExit ->
viewModel.showConfirmationDialog(false)
if (shouldExit) {
navController.popBackStack()
requireActivity().onNavigateUp()
}
},
onShowToast = {
@ -191,7 +189,7 @@ fun CreateFolderScreen(
onDeleteClicked: () -> Unit = {},
onDeleteConfirmed: () -> Unit = {},
onDeleteDismissed: () -> Unit = {},
onCreateConfirmed: (Boolean) -> Unit = {},
onCreateConfirmed: () -> Unit = {},
onCreateDismissed: (Boolean) -> Unit = {},
onShowToast: () -> Unit = {}
) {
@ -368,7 +366,7 @@ fun CreateFolderScreen(
if (hasChanges && isNewFolder) {
Buttons.MediumTonal(
onClick = { onCreateConfirmed(true) },
onClick = { onCreateConfirmed() },
modifier = modifier
.align(Alignment.BottomEnd)
.padding(end = 16.dp, bottom = 16.dp)
@ -395,7 +393,7 @@ fun CreateFolderScreen(
if (state.currentFolder.name.isEmpty()) {
onShowToast()
} else {
onCreateConfirmed(true)
onCreateConfirmed()
}
},
modifier = modifier

View file

@ -58,8 +58,10 @@ class ChatFolderAdapter(val callbacks: Callbacks) : MappingAdapter() {
} else {
ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.signal_colorSurface2))
}
name.setTextColor(ContextCompat.getColor(itemView.context, R.color.signal_colorOnSurface))
} else {
itemView.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.transparent))
name.setTextColor(ContextCompat.getColor(itemView.context, R.color.signal_colorOnSurfaceVariant))
}
}

View file

@ -1070,7 +1070,8 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
FROM $TABLE_NAME
LEFT OUTER JOIN ${RecipientTable.TABLE_NAME} ON $TABLE_NAME.$RECIPIENT_ID = ${RecipientTable.TABLE_NAME}.${RecipientTable.ID}
WHERE
$ACTIVE = 1
$ACTIVE = 1 AND
$ARCHIVED = 0
$folderQuery
"""
return readableDatabase.rawQuery(query, null).readToList { cursor -> cursor.requireLong(ID) }
@ -1081,7 +1082,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
readableDatabase
.select(RECIPIENT_ID)
.from(TABLE_NAME)
.where("$ACTIVE = 1")
.where("$ACTIVE = 1 AND $ARCHIVED = 0")
.run()
.readToList { cursor ->
RecipientId.from(cursor.requireLong(RECIPIENT_ID))
@ -1094,7 +1095,8 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
FROM $TABLE_NAME
LEFT OUTER JOIN ${RecipientTable.TABLE_NAME} ON $TABLE_NAME.$RECIPIENT_ID = ${RecipientTable.TABLE_NAME}.${RecipientTable.ID}
WHERE
$ACTIVE = 1
$ACTIVE = 1 AND
$ARCHIVED = 0
$folderQuery
"""
readableDatabase.rawQuery(query, null).readToList { cursor ->

View file

@ -696,7 +696,9 @@
app:enterAnim="@anim/fragment_open_enter"
app:exitAnim="@anim/fragment_open_exit"
app:popEnterAnim="@anim/fragment_close_enter"
app:popExitAnim="@anim/fragment_close_exit" />
app:popExitAnim="@anim/fragment_close_exit"
app:popUpTo="@id/app_settings"
app:popUpToInclusive="true" />
<action
android:id="@+id/action_direct_to_createFoldersFragment"
@ -704,7 +706,9 @@
app:enterAnim="@anim/fragment_open_enter"
app:exitAnim="@anim/fragment_open_exit"
app:popEnterAnim="@anim/fragment_close_enter"
app:popExitAnim="@anim/fragment_close_exit" />
app:popExitAnim="@anim/fragment_close_exit"
app:popUpTo="@id/app_settings"
app:popUpToInclusive="true" />
<!-- endregion -->