removing some old time measuring code for additional performance.
This commit is contained in:
@@ -7,7 +7,6 @@ import com.vitorpamplona.amethyst.ui.actions.updated
|
|||||||
import com.vitorpamplona.quartz.events.ChannelMessageEvent
|
import com.vitorpamplona.quartz.events.ChannelMessageEvent
|
||||||
import com.vitorpamplona.quartz.events.ChatroomKey
|
import com.vitorpamplona.quartz.events.ChatroomKey
|
||||||
import com.vitorpamplona.quartz.events.ChatroomKeyable
|
import com.vitorpamplona.quartz.events.ChatroomKeyable
|
||||||
import kotlin.time.measureTimedValue
|
|
||||||
|
|
||||||
class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() {
|
class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() {
|
||||||
|
|
||||||
@@ -46,7 +45,6 @@ class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Not
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> {
|
override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> {
|
||||||
val (feed, elapsed) = measureTimedValue {
|
|
||||||
val me = account.userProfile()
|
val me = account.userProfile()
|
||||||
|
|
||||||
// Gets the latest message by channel from the new items.
|
// Gets the latest message by channel from the new items.
|
||||||
@@ -93,11 +91,7 @@ class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Not
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sort(myNewList.toSet()).take(1000)
|
return sort(myNewList.toSet()).take(1000)
|
||||||
}
|
|
||||||
|
|
||||||
// Log.d("Time", "${this.javaClass.simpleName} Modified Additive Feed in $elapsed with ${feed.size} objects")
|
|
||||||
return feed
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun applyFilter(newItems: Set<Note>): Set<Note> {
|
override fun applyFilter(newItems: Set<Note>): Set<Note> {
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.vitorpamplona.amethyst.ui.actions.updated
|
|||||||
import com.vitorpamplona.quartz.events.ChatroomKey
|
import com.vitorpamplona.quartz.events.ChatroomKey
|
||||||
import com.vitorpamplona.quartz.events.ChatroomKeyable
|
import com.vitorpamplona.quartz.events.ChatroomKeyable
|
||||||
import com.vitorpamplona.quartz.events.PrivateDmEvent
|
import com.vitorpamplona.quartz.events.PrivateDmEvent
|
||||||
import kotlin.time.measureTimedValue
|
|
||||||
|
|
||||||
class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() {
|
class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() {
|
||||||
|
|
||||||
@@ -36,7 +35,6 @@ class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> {
|
override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> {
|
||||||
val (feed, elapsed) = measureTimedValue {
|
|
||||||
val me = account.userProfile()
|
val me = account.userProfile()
|
||||||
|
|
||||||
// Gets the latest message by room from the new items.
|
// Gets the latest message by room from the new items.
|
||||||
@@ -65,11 +63,7 @@ class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sort(myNewList.toSet()).take(1000)
|
return sort(myNewList.toSet()).take(1000)
|
||||||
}
|
|
||||||
|
|
||||||
// Log.d("Time", "${this.javaClass.simpleName} Modified Additive Feed in $elapsed with ${feed.size} objects")
|
|
||||||
return feed
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun applyFilter(newItems: Set<Note>): Set<Note> {
|
override fun applyFilter(newItems: Set<Note>): Set<Note> {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.vitorpamplona.amethyst.ui.note
|
package com.vitorpamplona.amethyst.ui.note
|
||||||
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.compose.animation.Crossfade
|
import androidx.compose.animation.Crossfade
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
@@ -76,7 +75,6 @@ import kotlinx.collections.immutable.toImmutableList
|
|||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.time.ExperimentalTime
|
import kotlin.time.ExperimentalTime
|
||||||
import kotlin.time.measureTimedValue
|
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class, ExperimentalTime::class)
|
@OptIn(ExperimentalFoundationApi::class, ExperimentalTime::class)
|
||||||
@Composable
|
@Composable
|
||||||
@@ -130,15 +128,11 @@ fun MultiSetCompose(multiSetCard: MultiSetCard, routeForLastRead: String, showHi
|
|||||||
}
|
}
|
||||||
|
|
||||||
Column(modifier = columnModifier) {
|
Column(modifier = columnModifier) {
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
Galeries(multiSetCard, backgroundColor, accountViewModel, nav)
|
Galeries(multiSetCard, backgroundColor, accountViewModel, nav)
|
||||||
}
|
|
||||||
Log.d("Rendering Metrics", "All Galeries: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed - ")
|
|
||||||
|
|
||||||
Row(Modifier.fillMaxWidth()) {
|
Row(Modifier.fillMaxWidth()) {
|
||||||
Spacer(modifier = WidthAuthorPictureModifierWithPadding)
|
Spacer(modifier = WidthAuthorPictureModifierWithPadding)
|
||||||
|
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
NoteCompose(
|
NoteCompose(
|
||||||
baseNote = baseNote,
|
baseNote = baseNote,
|
||||||
routeForLastRead = null,
|
routeForLastRead = null,
|
||||||
@@ -149,8 +143,6 @@ fun MultiSetCompose(multiSetCard: MultiSetCard, routeForLastRead: String, showHi
|
|||||||
accountViewModel = accountViewModel,
|
accountViewModel = accountViewModel,
|
||||||
nav = nav
|
nav = nav
|
||||||
)
|
)
|
||||||
}
|
|
||||||
Log.d("Rendering Metrics", "Complete: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
|
|
||||||
NoteDropDownMenu(baseNote, popupExpanded, accountViewModel)
|
NoteDropDownMenu(baseNote, popupExpanded, accountViewModel)
|
||||||
}
|
}
|
||||||
@@ -168,9 +160,6 @@ private fun Galeries(
|
|||||||
accountViewModel: AccountViewModel,
|
accountViewModel: AccountViewModel,
|
||||||
nav: (String) -> Unit
|
nav: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
val boostEvents by remember { derivedStateOf { multiSetCard.boostEvents } }
|
|
||||||
val likeEvents by remember { derivedStateOf { multiSetCard.likeEventsByType } }
|
|
||||||
|
|
||||||
val hasZapEvents by remember { derivedStateOf { multiSetCard.zapEvents.isNotEmpty() } }
|
val hasZapEvents by remember { derivedStateOf { multiSetCard.zapEvents.isNotEmpty() } }
|
||||||
val hasBoostEvents by remember { derivedStateOf { multiSetCard.boostEvents.isNotEmpty() } }
|
val hasBoostEvents by remember { derivedStateOf { multiSetCard.boostEvents.isNotEmpty() } }
|
||||||
val hasLikeEvents by remember { derivedStateOf { multiSetCard.likeEvents.isNotEmpty() } }
|
val hasLikeEvents by remember { derivedStateOf { multiSetCard.likeEvents.isNotEmpty() } }
|
||||||
@@ -188,27 +177,18 @@ private fun Galeries(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
RenderZapGallery(zapEvents, backgroundColor, nav, accountViewModel)
|
RenderZapGallery(zapEvents, backgroundColor, nav, accountViewModel)
|
||||||
}
|
}
|
||||||
Log.d("Rendering Metrics", "Galeries Zaps: ${multiSetCard.note.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasBoostEvents) {
|
if (hasBoostEvents) {
|
||||||
val (value, elapsed) = measureTimedValue {
|
RenderBoostGallery(multiSetCard.boostEvents, nav, accountViewModel)
|
||||||
RenderBoostGallery(boostEvents, nav, accountViewModel)
|
|
||||||
}
|
|
||||||
Log.d("Rendering Metrics", "Galeries Repost: ${multiSetCard.note.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasLikeEvents) {
|
if (hasLikeEvents) {
|
||||||
val (value, elapsed) = measureTimedValue {
|
multiSetCard.likeEventsByType.forEach {
|
||||||
likeEvents.forEach {
|
|
||||||
RenderLikeGallery(it.key, it.value, nav, accountViewModel)
|
RenderLikeGallery(it.key, it.value, nav, accountViewModel)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Log.d("Rendering Metrics", "Galeries Like: ${multiSetCard.note.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|||||||
@@ -220,7 +220,6 @@ import java.math.BigDecimal
|
|||||||
import java.net.URL
|
import java.net.URL
|
||||||
import java.net.URLEncoder
|
import java.net.URLEncoder
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import kotlin.time.measureTimedValue
|
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class)
|
@OptIn(ExperimentalFoundationApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
@@ -961,17 +960,13 @@ fun InnerNoteWithReactions(
|
|||||||
) {
|
) {
|
||||||
if (notBoostedNorQuote) {
|
if (notBoostedNorQuote) {
|
||||||
Column(WidthAuthorPictureModifier) {
|
Column(WidthAuthorPictureModifier) {
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
AuthorAndRelayInformation(baseNote, accountViewModel, nav)
|
AuthorAndRelayInformation(baseNote, accountViewModel, nav)
|
||||||
}
|
}
|
||||||
Log.d("Rendering Metrics", "Author: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
Spacer(modifier = DoubleHorzSpacer)
|
Spacer(modifier = DoubleHorzSpacer)
|
||||||
}
|
}
|
||||||
|
|
||||||
Column(Modifier.fillMaxWidth()) {
|
Column(Modifier.fillMaxWidth()) {
|
||||||
val showSecondRow = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent && !isBoostedNote && !isQuotedNote
|
val showSecondRow = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent && !isBoostedNote && !isQuotedNote
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
NoteBody(
|
NoteBody(
|
||||||
baseNote = baseNote,
|
baseNote = baseNote,
|
||||||
showAuthorPicture = isQuotedNote,
|
showAuthorPicture = isQuotedNote,
|
||||||
@@ -984,8 +979,6 @@ fun InnerNoteWithReactions(
|
|||||||
nav = nav
|
nav = nav
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Log.d("Rendering Metrics", "TextBody: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val isNotRepost = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent
|
val isNotRepost = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent
|
||||||
@@ -997,7 +990,6 @@ fun InnerNoteWithReactions(
|
|||||||
Spacer(modifier = DoubleVertSpacer)
|
Spacer(modifier = DoubleVertSpacer)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
ReactionsRow(
|
ReactionsRow(
|
||||||
baseNote = baseNote,
|
baseNote = baseNote,
|
||||||
showReactionDetail = notBoostedNorQuote,
|
showReactionDetail = notBoostedNorQuote,
|
||||||
@@ -1005,8 +997,6 @@ fun InnerNoteWithReactions(
|
|||||||
nav = nav
|
nav = nav
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Log.d("Rendering Metrics", "Reaction: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notBoostedNorQuote) {
|
if (notBoostedNorQuote) {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.vitorpamplona.amethyst.ui.screen
|
package com.vitorpamplona.amethyst.ui.screen
|
||||||
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.compose.animation.Crossfade
|
import androidx.compose.animation.Crossfade
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
@@ -18,7 +17,6 @@ import com.vitorpamplona.amethyst.ui.note.ChatroomHeaderCompose
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
||||||
import kotlin.time.ExperimentalTime
|
import kotlin.time.ExperimentalTime
|
||||||
import kotlin.time.measureTimedValue
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ChatroomListFeedView(
|
fun ChatroomListFeedView(
|
||||||
@@ -96,15 +94,12 @@ private fun FeedLoaded(
|
|||||||
key = { index, item -> if (index == 0) index else item.idHex }
|
key = { index, item -> if (index == 0) index else item.idHex }
|
||||||
) { _, item ->
|
) { _, item ->
|
||||||
Row(Modifier.fillMaxWidth()) {
|
Row(Modifier.fillMaxWidth()) {
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
ChatroomHeaderCompose(
|
ChatroomHeaderCompose(
|
||||||
item,
|
item,
|
||||||
accountViewModel = accountViewModel,
|
accountViewModel = accountViewModel,
|
||||||
nav = nav
|
nav = nav
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Log.d("Rendering Metrics", "Chat Header Complete: ${item.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.vitorpamplona.amethyst.ui.screen
|
package com.vitorpamplona.amethyst.ui.screen
|
||||||
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.compose.animation.Crossfade
|
import androidx.compose.animation.Crossfade
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
@@ -38,7 +37,6 @@ import com.vitorpamplona.amethyst.ui.note.NoteCompose
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
||||||
import kotlin.time.ExperimentalTime
|
import kotlin.time.ExperimentalTime
|
||||||
import kotlin.time.measureTimedValue
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun RefresheableFeedView(
|
fun RefresheableFeedView(
|
||||||
@@ -224,7 +222,6 @@ private fun FeedLoaded(
|
|||||||
state = listState
|
state = listState
|
||||||
) {
|
) {
|
||||||
itemsIndexed(state.feed.value, key = { _, item -> item.idHex }) { _, item ->
|
itemsIndexed(state.feed.value, key = { _, item -> item.idHex }) { _, item ->
|
||||||
val (value, elapsed) = measureTimedValue {
|
|
||||||
val defaultModifier = remember {
|
val defaultModifier = remember {
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -243,9 +240,6 @@ private fun FeedLoaded(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.d("Rendering Metrics", "Complete: ${item.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user