Update various UI for chat folders.
This commit is contained in:
parent
ddcb9564bb
commit
fe40324599
5 changed files with 23 additions and 17 deletions
|
@ -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 ->
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ->
|
||||
|
|
|
@ -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 -->
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue