From e926feabc78c282df0d074a1d6dbe5c387a7566e Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 21 Sep 2023 19:49:44 +0200 Subject: [PATCH] wip Signed-off-by: tobiasKaminsky --- .../ConversationsListActivity.kt | 17 ++++++++++++++-- .../ui/dialog/FilterConversationFragment.kt | 20 ++++++++++--------- .../utils/preferences/AppPreferences.java | 14 ------------- app/src/main/res/values/strings.xml | 1 + 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index e12076c42..090466e40 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -161,6 +161,9 @@ class ConversationsListActivity : @Inject lateinit var platformPermissionUtil: PlatformPermissionUtil + + @Inject + lateinit var arbitraryStorageManager: ArbitraryStorageManager override val appBarLayoutType: AppBarLayoutType get() = AppBarLayoutType.SEARCH_BAR @@ -277,8 +280,18 @@ class ConversationsListActivity : showSearchOrToolbar() } fun filterConversation() { - filterState[FilterConversationFragment.UNREAD] = appPreferences.isUnreadFilterEnabled - filterState[FilterConversationFragment.MENTION] = appPreferences.isMentionFilterEnabled + val accountId = UserIdUtils.getIdForUser(userManager.currentUser.blockingGet()) + 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> = ArrayList() if (filterState[FilterConversationFragment.UNREAD] == false && diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt index f8a2cef69..5906a1c28 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt @@ -28,19 +28,14 @@ import androidx.fragment.app.DialogFragment import autodagger.AutoInjector import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.nextcloud.talk.R -import com.nextcloud.talk.adapters.items.ConversationItem import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.arbitrarystorage.ArbitraryStorageManager import com.nextcloud.talk.conversationlist.ConversationsListActivity 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.users.UserManager import com.nextcloud.talk.utils.UserIdUtils -import com.nextcloud.talk.utils.UserIdUtils.getIdForUser import com.nextcloud.talk.utils.preferences.AppPreferences -import eu.davidea.flexibleadapter.FlexibleAdapter -import eu.davidea.flexibleadapter.items.AbstractFlexibleItem import javax.inject.Inject @AutoInjector(NextcloudTalkApplication::class) @@ -60,7 +55,7 @@ class FilterConversationFragment( lateinit var viewThemeUtils: ViewThemeUtils @Inject - lateinit var appPreferences: AppPreferences + lateinit var arbitraryStorageManager: ArbitraryStorageManager override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { binding = DialogFilterConversationBinding.inflate(LayoutInflater.from(context)) dialogView = binding.root @@ -123,8 +118,15 @@ class FilterConversationFragment( private fun processSubmit() { // store - appPreferences.setMentionFilter(filterState[MENTION] == true) - appPreferences.setUnreadFilter(filterState[UNREAD] == true) + val accountId = UserIdUtils.getIdForUser(userManager.currentUser.blockingGet()) + 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() } @@ -136,7 +138,7 @@ class FilterConversationFragment( conversationsListActivity: ConversationsListActivity ) = FilterConversationFragment(savedFilterState, conversationsListActivity) val TAG: String = FilterConversationFragment::class.java.simpleName - const val MENTION: String = "mention" + const val MENTION: String = "TestmentionTest" const val UNREAD: String = "unread" } } diff --git a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java index 9f136830e..62cdd084d 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java +++ b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferences.java @@ -344,20 +344,6 @@ public interface AppPreferences { @KeyByResource(R.string.nc_file_browser_sort_by_key) @DefaultValue(R.string.nc_file_browser_sort_by_default) 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) @RegisterChangeListenerMethod diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b142c5cd..50162e077 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -709,5 +709,6 @@ How to translate with transifex: Custom Set Calendar +