Update selected notes when search query is changed

This commit is contained in:
PhilKes 2025-05-05 18:52:03 +02:00
parent 8d20f26eae
commit 06c48ab8d9
2 changed files with 11 additions and 0 deletions

View file

@ -6,6 +6,7 @@ import android.view.View
import androidx.core.os.BundleCompat import androidx.core.os.BundleCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import com.philkes.notallyx.R import com.philkes.notallyx.R
import com.philkes.notallyx.data.model.BaseNote
import com.philkes.notallyx.data.model.Folder import com.philkes.notallyx.data.model.Folder
class SearchFragment : NotallyFragment() { class SearchFragment : NotallyFragment() {
@ -44,6 +45,9 @@ class SearchFragment : NotallyFragment() {
isVisible = true isVisible = true
} }
} else binding?.ChipGroup?.isVisible = false } else binding?.ChipGroup?.isVisible = false
getObservable().observe(viewLifecycleOwner) { items ->
model.actionMode.updateSelected(items?.filterIsInstance<BaseNote>()?.map { it.id })
}
} }
override fun getBackground() = R.drawable.search override fun getBackground() = R.drawable.search

View file

@ -44,6 +44,13 @@ class ActionMode {
} }
} }
fun updateSelected(availableItemIds: List<Long>?) {
selectedNotes.keys
.filter { availableItemIds?.contains(it) == false }
.forEach { selectedNotes.remove(it) }
refresh()
}
fun isEnabled() = enabled.value fun isEnabled() = enabled.value
// We assume selectedNotes.size is 1 // We assume selectedNotes.size is 1