Filters Message Feed DAL to only take PrivateMessages in the Notification Bubble.
This commit is contained in:
@@ -85,7 +85,7 @@ object ChatroomListKnownFeedFilter : AdditiveFeedFilter<Note>() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
myNewList
|
sort(myNewList.toSet()).take(1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.d("Time", "${this.javaClass.simpleName} Modified Additive Feed in $elapsed with ${feed.size} objects")
|
Log.d("Time", "${this.javaClass.simpleName} Modified Additive Feed in $elapsed with ${feed.size} objects")
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.vitorpamplona.amethyst.NotificationCache
|
|||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
|
import com.vitorpamplona.amethyst.service.model.PrivateDmEvent
|
||||||
import com.vitorpamplona.amethyst.ui.dal.AdditiveFeedFilter
|
import com.vitorpamplona.amethyst.ui.dal.AdditiveFeedFilter
|
||||||
import com.vitorpamplona.amethyst.ui.dal.ChatroomListKnownFeedFilter
|
import com.vitorpamplona.amethyst.ui.dal.ChatroomListKnownFeedFilter
|
||||||
import com.vitorpamplona.amethyst.ui.dal.HomeNewThreadFeedFilter
|
import com.vitorpamplona.amethyst.ui.dal.HomeNewThreadFeedFilter
|
||||||
@@ -127,17 +128,25 @@ open class LatestItem {
|
|||||||
if (newestItem == null) {
|
if (newestItem == null) {
|
||||||
newestItemPerAccount = newestItemPerAccount + Pair(
|
newestItemPerAccount = newestItemPerAccount + Pair(
|
||||||
account.userProfile().pubkeyHex,
|
account.userProfile().pubkeyHex,
|
||||||
filter.feed().firstOrNull { it.createdAt() != null }
|
filterMore(filter.feed()).firstOrNull { it.createdAt() != null }
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
newestItemPerAccount = newestItemPerAccount + Pair(
|
newestItemPerAccount = newestItemPerAccount + Pair(
|
||||||
account.userProfile().pubkeyHex,
|
account.userProfile().pubkeyHex,
|
||||||
filter.sort(filter.applyFilter(newNotes) + newestItem).first()
|
filter.sort(filterMore(filter.applyFilter(newNotes)) + newestItem).first()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return newestItemPerAccount[account.userProfile().pubkeyHex]
|
return newestItemPerAccount[account.userProfile().pubkeyHex]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun filterMore(newItems: Set<Note>): Set<Note> {
|
||||||
|
return newItems
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun filterMore(newItems: List<Note>): List<Note> {
|
||||||
|
return newItems
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object HomeLatestItem : LatestItem() {
|
object HomeLatestItem : LatestItem() {
|
||||||
@@ -184,6 +193,14 @@ object MessagesLatestItem : LatestItem() {
|
|||||||
|
|
||||||
return (newestItem?.createdAt() ?: 0) > lastTime
|
return (newestItem?.createdAt() ?: 0) > lastTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun filterMore(newItems: Set<Note>): Set<Note> {
|
||||||
|
return newItems.filter { it.event is PrivateDmEvent }.toSet()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun filterMore(newItems: List<Note>): List<Note> {
|
||||||
|
return newItems.filter { it.event is PrivateDmEvent }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getRouteWithArguments(navController: NavHostController): String? {
|
fun getRouteWithArguments(navController: NavHostController): String? {
|
||||||
|
|||||||
Reference in New Issue
Block a user