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

@ -162,6 +162,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<AbstractFlexibleItem<*>> = ArrayList()
if (filterState[FilterConversationFragment.UNREAD] == false &&

View File

@ -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"
}
}

View File

@ -345,20 +345,6 @@ public interface AppPreferences {
@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
void registerSortingChangeListener(OnPreferenceValueChangedListener<String> listener);

View File

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