removes derived states and some remember functions for performance.

pull/927/head
Vitor Pamplona 2024-06-18 09:11:32 -04:00
rodzic 5d5c3ae3e3
commit 08869ac350
4 zmienionych plików z 14 dodań i 16 usunięć

Wyświetl plik

@ -31,7 +31,7 @@ import com.vitorpamplona.quartz.events.ReportEvent
import com.vitorpamplona.quartz.events.StatusEvent
object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
var usersToWatch = setOf<User>()
private var usersToWatch = setOf<User>()
fun createUserMetadataFilter(): List<TypedFilter>? {
if (usersToWatch.isEmpty()) return null
@ -83,8 +83,7 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
),
),
)
}
.flatten()
}.flatten()
}
val userChannel =
@ -110,8 +109,7 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
listOfNotNull(
createUserMetadataFilter(),
createUserMetadataStatusReportFilter(),
)
.flatten()
).flatten()
.ifEmpty { null }
}

Wyświetl plik

@ -35,7 +35,6 @@ import androidx.compose.material3.NavigationBarItem
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
@ -146,12 +145,16 @@ private fun RowScope.HasNewItemsIcon(
navEntryState: State<NavBackStackEntry?>,
nav: (Route, Boolean) -> Unit,
) {
val selected by
remember(navEntryState.value) {
derivedStateOf { navEntryState.value?.destination?.route?.substringBefore("?") == route.base }
}
val selected =
(
navEntryState.value
?.destination
?.route
?.indexOf(route.base) ?: -1
) > -1
NavigationBarItem(
alwaysShowLabel = false,
icon = {
NotifiableIcon(
selected,

Wyświetl plik

@ -47,7 +47,6 @@ import androidx.compose.material3.TextFieldDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
@ -405,11 +404,9 @@ private fun FullBleedNoteCompose(
Row(verticalAlignment = Alignment.CenterVertically) {
NoteUsernameDisplay(baseNote, Modifier.weight(1f))
val isCommunityPost by
val isCommunityPost =
remember(baseNote) {
derivedStateOf {
baseNote.event?.isTaggedAddressableKind(CommunityDefinitionEvent.KIND) == true
}
baseNote.event?.isTaggedAddressableKind(CommunityDefinitionEvent.KIND) == true
}
if (isCommunityPost) {

Wyświetl plik

@ -143,7 +143,7 @@ open class Event(
override fun isSensitive() =
tags.any {
(it.size > 0 && it[0].equals("content-warning")) ||
(it.size > 0 && it[0] == "content-warning") ||
(it.size > 1 && it[0] == "t" && (it[1].equals("nsfw", true) || it[1].equals("nude", true)))
}