feat(connector): change badge to an icon in sim status

This commit is contained in:
Anthony Berg 2024-04-20 10:47:33 +01:00
parent e781c12d22
commit 2411413d0c
3 changed files with 36 additions and 4 deletions

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="#FFFFFF"
android:pathData="M440,680L280,680Q197,680 138.5,621.5Q80,563 80,480Q80,397 138.5,338.5Q197,280 280,280L440,280L440,360L280,360Q230,360 195,395Q160,430 160,480Q160,530 195,565Q230,600 280,600L440,600L440,680ZM320,520L320,440L640,440L640,520L320,520ZM520,680L520,600L680,600Q730,600 765,565Q800,530 800,480Q800,430 765,395Q730,360 680,360L520,360L520,280L680,280Q763,280 821.5,338.5Q880,397 880,480Q880,563 821.5,621.5Q763,680 680,680L520,680Z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="#FFFFFF"
android:pathData="M770,658L710,596Q750,585 775,553.5Q800,522 800,480Q800,430 765,395Q730,360 680,360L520,360L520,280L680,280Q763,280 821.5,338.5Q880,397 880,480Q880,537 850.5,585Q821,633 770,658ZM634,520L554,440L640,440L640,520L634,520ZM792,904L56,168L112,112L848,848L792,904ZM440,680L280,680Q197,680 138.5,621.5Q80,563 80,480Q80,411 122,357Q164,303 230,286L230,286L304,360L280,360Q230,360 195,395Q160,430 160,480Q160,530 195,565Q230,600 280,600L440,600L440,680ZM320,520L320,440L385,440L464,520L320,520Z"/>
</vector>

View File

@ -10,15 +10,20 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import kotlinx.coroutines.delay import connector.composeapp.generated.resources.Res
import connector.composeapp.generated.resources.link_24px
import connector.composeapp.generated.resources.link_off_24px
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.painterResource
import org.koin.compose.koinInject import org.koin.compose.koinInject
class SimulatorStatus { class SimulatorStatus {
@OptIn(ExperimentalResourceApi::class)
@Composable @Composable
fun StatusCard() { fun StatusCard() {
val padding = 0.dp val padding = 0.dp
val spacer = 16.dp val spacer = 8.dp
val viewModel = koinInject<InterfaceState>() val viewModel = koinInject<InterfaceState>()
var refresh by remember { mutableStateOf(false) } var refresh by remember { mutableStateOf(false) }
@ -37,9 +42,16 @@ class SimulatorStatus {
Spacer(Modifier.size(spacer - padding)) Spacer(Modifier.size(spacer - padding))
if (refresh) { if (refresh) {
refreshIndicator() refreshIndicator()
} else if (viewModel.simConnection) {
Icon(
painter = painterResource(Res.drawable.link_24px),
contentDescription = "Simulator connected"
)
} else { } else {
Badge( Icon(
containerColor = if (viewModel.simConnection) MaterialTheme.colorScheme.onSecondaryContainer else MaterialTheme.colorScheme.error painter = painterResource(Res.drawable.link_off_24px),
contentDescription = "Simulator not connected",
tint = MaterialTheme.colorScheme.error,
) )
} }