diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt
index 65a262b598..c70541d41b 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt
@@ -62,7 +62,7 @@ class ChatsSettingsFragment : DSLSettingsFragment(R.string.preferences_chats__ch
sectionHeaderPref(R.string.ChatsSettingsFragment__chat_folders)
- if (state.folderCount == 0) {
+ if (state.folderCount == 1) {
clickPref(
title = DSLSettingsText.from(R.string.ChatsSettingsFragment__add_chat_folder),
onClick = {
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt
index 8ffb6c79ae..23936d22bf 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt
@@ -327,8 +327,7 @@ class ChatFoldersViewModel : ViewModel() {
val originalFolder = state.value.originalFolder
return if (currentFolder.id == -1L) {
- currentFolder.name.isNotEmpty() &&
- (currentFolder.includedRecipients.isNotEmpty() || currentFolder.showIndividualChats || currentFolder.showGroupChats)
+ currentFolder.includedRecipients.isNotEmpty() || currentFolder.showIndividualChats || currentFolder.showGroupChats
} else {
originalFolder != currentFolder ||
originalFolder.includedRecipients != currentFolder.includedRecipients ||
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt
index 5ede362e10..2a2422010d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt
@@ -364,42 +364,35 @@ fun CreateFolderScreen(
}
}
- if (hasChanges && isNewFolder) {
- Buttons.MediumTonal(
- onClick = { onCreateConfirmed() },
- modifier = modifier
- .align(Alignment.BottomEnd)
- .padding(end = 16.dp, bottom = 16.dp)
- ) {
- Text(text = stringResource(R.string.CreateFoldersFragment__create))
- }
- } else if (!isNewFolder) {
- Buttons.MediumTonal(
- colors = ButtonDefaults.filledTonalButtonColors(
- contentColor = if (state.currentFolder.name.isEmpty()) {
- MaterialTheme.colorScheme.onSurface.copy(alpha = 0.38f)
- } else {
- MaterialTheme.colorScheme.onSurface
- },
- containerColor = if (state.currentFolder.name.isEmpty()) {
- MaterialTheme.colorScheme.surfaceVariant
- } else {
- MaterialTheme.colorScheme.primaryContainer
- },
- disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant
- ),
- enabled = hasChanges,
- onClick = {
- if (state.currentFolder.name.isEmpty()) {
- onShowToast()
- } else {
- onCreateConfirmed()
- }
+ Buttons.MediumTonal(
+ colors = ButtonDefaults.filledTonalButtonColors(
+ contentColor = if (state.currentFolder.name.isEmpty()) {
+ MaterialTheme.colorScheme.onSurface.copy(alpha = 0.38f)
+ } else {
+ MaterialTheme.colorScheme.onSurface
},
- modifier = modifier
- .align(Alignment.BottomEnd)
- .padding(end = 16.dp, bottom = 16.dp)
- ) {
+ containerColor = if (state.currentFolder.name.isEmpty()) {
+ MaterialTheme.colorScheme.surfaceVariant
+ } else {
+ MaterialTheme.colorScheme.primaryContainer
+ },
+ disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant
+ ),
+ enabled = hasChanges,
+ onClick = {
+ if (state.currentFolder.name.isEmpty()) {
+ onShowToast()
+ } else {
+ onCreateConfirmed()
+ }
+ },
+ modifier = modifier
+ .align(Alignment.BottomEnd)
+ .padding(end = 16.dp, bottom = 16.dp)
+ ) {
+ if (isNewFolder) {
+ Text(text = stringResource(R.string.CreateFoldersFragment__create))
+ } else {
Text(text = stringResource(R.string.CreateFoldersFragment__save))
}
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt b/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt
index aa00d9f844..0f09ef7d68 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt
@@ -234,13 +234,12 @@ class ChatFolderTables(context: Context?, databaseHelper: SignalDatabase?) : Dat
}
/**
- * Returns the number of user-made folders
+ * Returns the number of folders a user has, including the default 'All Chats'
*/
fun getFolderCount(): Int {
return readableDatabase
.count()
.from(ChatFolderTable.TABLE_NAME)
- .where("${ChatFolderTable.FOLDER_TYPE} != ${ChatFolderRecord.FolderType.ALL.value}")
.run()
.readToSingleInt()
}
diff --git a/app/src/main/res/layout/conversation_list_fragment.xml b/app/src/main/res/layout/conversation_list_fragment.xml
index 45ab831aa0..63fd81aebf 100644
--- a/app/src/main/res/layout/conversation_list_fragment.xml
+++ b/app/src/main/res/layout/conversation_list_fragment.xml
@@ -9,29 +9,6 @@
android:background="?android:windowBackground"
tools:viewBindingIgnore="true">
-
-
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/banner_barrier">