浏览代码

wip

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 1 年之前
父节点
当前提交
e926feabc7

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

+ 11 - 9
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"
     }
 }

+ 0 - 14
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

+ 1 - 0
app/src/main/res/values/strings.xml

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