Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
This commit is contained in:
tobiasKaminsky 2023-09-21 19:49:44 +02:00 committed by Andy Scherzinger
parent 91260ac9cb
commit e926feabc7
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
4 changed files with 27 additions and 25 deletions

View File

@ -161,6 +161,9 @@ class ConversationsListActivity :
@Inject @Inject
lateinit var platformPermissionUtil: PlatformPermissionUtil lateinit var platformPermissionUtil: PlatformPermissionUtil
@Inject
lateinit var arbitraryStorageManager: ArbitraryStorageManager
override val appBarLayoutType: AppBarLayoutType override val appBarLayoutType: AppBarLayoutType
get() = AppBarLayoutType.SEARCH_BAR get() = AppBarLayoutType.SEARCH_BAR
@ -277,8 +280,18 @@ class ConversationsListActivity :
showSearchOrToolbar() showSearchOrToolbar()
} }
fun filterConversation() { fun filterConversation() {
filterState[FilterConversationFragment.UNREAD] = appPreferences.isUnreadFilterEnabled val accountId = UserIdUtils.getIdForUser(userManager.currentUser.blockingGet())
filterState[FilterConversationFragment.MENTION] = appPreferences.isMentionFilterEnabled filterState[FilterConversationFragment.UNREAD] = (arbitraryStorageManager.getStorageSetting(
accountId,
FilterConversationFragment.UNREAD,
""
).blockingGet()?.value ?: "") == "true"
filterState[FilterConversationFragment.MENTION] = (arbitraryStorageManager.getStorageSetting(
accountId,
FilterConversationFragment.MENTION,
""
).blockingGet()?.value ?: "") == "true"
val newItems: MutableList<AbstractFlexibleItem<*>> = ArrayList() val newItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
if (filterState[FilterConversationFragment.UNREAD] == false && if (filterState[FilterConversationFragment.UNREAD] == false &&

View File

@ -28,19 +28,14 @@ import androidx.fragment.app.DialogFragment
import autodagger.AutoInjector import autodagger.AutoInjector
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.nextcloud.talk.R import com.nextcloud.talk.R
import com.nextcloud.talk.adapters.items.ConversationItem
import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.application.NextcloudTalkApplication
import com.nextcloud.talk.arbitrarystorage.ArbitraryStorageManager import com.nextcloud.talk.arbitrarystorage.ArbitraryStorageManager
import com.nextcloud.talk.conversationlist.ConversationsListActivity import com.nextcloud.talk.conversationlist.ConversationsListActivity
import com.nextcloud.talk.databinding.DialogFilterConversationBinding import com.nextcloud.talk.databinding.DialogFilterConversationBinding
import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.ui.theme.ViewThemeUtils import com.nextcloud.talk.ui.theme.ViewThemeUtils
import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.users.UserManager
import com.nextcloud.talk.utils.UserIdUtils import com.nextcloud.talk.utils.UserIdUtils
import com.nextcloud.talk.utils.UserIdUtils.getIdForUser
import com.nextcloud.talk.utils.preferences.AppPreferences import com.nextcloud.talk.utils.preferences.AppPreferences
import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
import javax.inject.Inject import javax.inject.Inject
@AutoInjector(NextcloudTalkApplication::class) @AutoInjector(NextcloudTalkApplication::class)
@ -60,7 +55,7 @@ class FilterConversationFragment(
lateinit var viewThemeUtils: ViewThemeUtils lateinit var viewThemeUtils: ViewThemeUtils
@Inject @Inject
lateinit var appPreferences: AppPreferences lateinit var arbitraryStorageManager: ArbitraryStorageManager
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
binding = DialogFilterConversationBinding.inflate(LayoutInflater.from(context)) binding = DialogFilterConversationBinding.inflate(LayoutInflater.from(context))
dialogView = binding.root dialogView = binding.root
@ -123,8 +118,15 @@ class FilterConversationFragment(
private fun processSubmit() { private fun processSubmit() {
// store // store
appPreferences.setMentionFilter(filterState[MENTION] == true) val accountId = UserIdUtils.getIdForUser(userManager.currentUser.blockingGet())
appPreferences.setUnreadFilter(filterState[UNREAD] == true) val mentionValue = filterState[MENTION] == true
val unreadValue = filterState[UNREAD] == true
arbitraryStorageManager.storeStorageSetting(accountId, MENTION, mentionValue.toString(), "")
arbitraryStorageManager.storeStorageSetting(accountId, UNREAD, unreadValue.toString(), "")
val m = arbitraryStorageManager.getStorageSetting(accountId, MENTION, "")
val u = arbitraryStorageManager.getStorageSetting(accountId, UNREAD, "")
conversationsList.filterConversation() conversationsList.filterConversation()
} }
@ -136,7 +138,7 @@ class FilterConversationFragment(
conversationsListActivity: ConversationsListActivity conversationsListActivity: ConversationsListActivity
) = FilterConversationFragment(savedFilterState, conversationsListActivity) ) = FilterConversationFragment(savedFilterState, conversationsListActivity)
val TAG: String = FilterConversationFragment::class.java.simpleName val TAG: String = FilterConversationFragment::class.java.simpleName
const val MENTION: String = "mention" const val MENTION: String = "TestmentionTest"
const val UNREAD: String = "unread" const val UNREAD: String = "unread"
} }
} }

View File

@ -344,20 +344,6 @@ public interface AppPreferences {
@KeyByResource(R.string.nc_file_browser_sort_by_key) @KeyByResource(R.string.nc_file_browser_sort_by_key)
@DefaultValue(R.string.nc_file_browser_sort_by_default) @DefaultValue(R.string.nc_file_browser_sort_by_default)
String getSorting(); String getSorting();
@KeyByResource(R.string.nc_filter_unread)
@DefaultValue(R.bool.value_false)
boolean isUnreadFilterEnabled();
@KeyByResource(R.string.nc_filter_unread)
void setUnreadFilter(boolean value);
@KeyByResource(R.string.nc_filter_mention)
@DefaultValue(R.bool.value_false)
boolean isMentionFilterEnabled();
@KeyByResource(R.string.nc_filter_mention)
void setMentionFilter(boolean value);
@KeyByResource(R.string.nc_file_browser_sort_by_key) @KeyByResource(R.string.nc_file_browser_sort_by_key)
@RegisterChangeListenerMethod @RegisterChangeListenerMethod

View File

@ -709,5 +709,6 @@ How to translate with transifex:
<string name="custom">Custom</string> <string name="custom">Custom</string>
<string name="set">Set</string> <string name="set">Set</string>
<string name="calendar">Calendar</string> <string name="calendar">Calendar</string>
<string name="empty" translatable="false"/>
</resources> </resources>