Skip to content

Commit e8146f0

Browse files
committed
fix: peer stats ui bug
closes #1007
1 parent 706513a commit e8146f0

4 files changed

Lines changed: 15 additions & 132 deletions

File tree

app/src/androidTest/java/com/zaneschepke/wireguardautotunnel/MigrationTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import androidx.room.testing.MigrationTestHelper
44
import androidx.test.ext.junit.runners.AndroidJUnit4
55
import androidx.test.platform.app.InstrumentationRegistry
66
import com.zaneschepke.wireguardautotunnel.data.AppDatabase
7+
import java.io.IOException
78
import org.junit.Rule
89
import org.junit.Test
910
import org.junit.runner.RunWith
10-
import java.io.IOException
1111

1212
@RunWith(AndroidJUnit4::class)
1313
class MigrationTest {

app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/tunnels/components/TunnelList.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ fun TunnelList(
103103
if (!tunnelState.status.isDown()) {
104104
{
105105
TunnelStatisticsRow(
106+
tunnel,
106107
tunnelState,
107108
sharedState.isPingEnabled,
108109
sharedState.showPingStats,

app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/tunnels/components/TunnelRowItem.kt

Lines changed: 0 additions & 130 deletions
This file was deleted.

app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/tunnels/components/TunnelStatisticsRow.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import androidx.compose.ui.platform.LocalContext
1616
import androidx.compose.ui.res.stringResource
1717
import androidx.compose.ui.unit.dp
1818
import com.zaneschepke.wireguardautotunnel.R
19+
import com.zaneschepke.wireguardautotunnel.domain.model.TunnelConfig
1920
import com.zaneschepke.wireguardautotunnel.domain.state.TunnelState
2021
import com.zaneschepke.wireguardautotunnel.ui.common.label.lowercaseLabel
2122
import com.zaneschepke.wireguardautotunnel.util.NumberUtils
@@ -24,6 +25,7 @@ import kotlinx.coroutines.delay
2425

2526
@Composable
2627
fun TunnelStatisticsRow(
28+
tunnel: TunnelConfig,
2729
tunnelState: TunnelState,
2830
pingEnabled: Boolean,
2931
showDetailedStats: Boolean,
@@ -32,6 +34,16 @@ fun TunnelStatisticsRow(
3234
val textStyle = MaterialTheme.typography.bodySmall
3335
val textColor = MaterialTheme.colorScheme.outline
3436

37+
// needs to be set as peer stats for duplicates return as a single set of stats
38+
val peers by remember(tunnel) {
39+
derivedStateOf {
40+
TunnelConfig.configFromWgQuick(tunnel.wgQuick)
41+
.peers
42+
.map { it.publicKey.toBase64() }
43+
.toSet()
44+
}
45+
}
46+
3547
var currentTimeMillis by remember { mutableLongStateOf(System.currentTimeMillis()) }
3648
LaunchedEffect(Unit) {
3749
while (true) {
@@ -52,7 +64,7 @@ fun TunnelStatisticsRow(
5264
verticalArrangement = Arrangement.spacedBy(10.dp),
5365
horizontalAlignment = Alignment.Start,
5466
) {
55-
stats.getPeers().forEach { peerBase64 ->
67+
peers.forEach { peerBase64 ->
5668
key(peerBase64) {
5769
val peerStats = remember(stats, peerBase64) { stats.peerStats(peerBase64) }
5870
peerStats?.let { stats ->

0 commit comments

Comments
 (0)