DFU screen

This commit is contained in:
hiar
2025-10-01 08:59:16 +02:00
committed by Himali Aryal
parent 713a246635
commit d0910718ce
2 changed files with 76 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
package no.nordicsemi.android.toolbox.profile.view
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.widthIn
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedCard
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.toolbox.profile.R
@Composable
internal fun DFUScreen(
modifier: Modifier = Modifier
) {
Column(
modifier = Modifier
.fillMaxSize()
.then(modifier),
horizontalAlignment = Alignment.CenterHorizontally
) {
OutlinedCard(
modifier = Modifier
.widthIn(max = 460.dp),
) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
Icon(
painter = painterResource(R.drawable.ic_dfu),
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.size(48.dp)
)
Text(
text = "DFU is not supported",
style = MaterialTheme.typography.titleMedium
)
Text(
text = "DFU service is not not available in the current version of the app." +
"Please use the DFU app from Nordic Semiconductor to update your devices firmware.",
textAlign = TextAlign.Center,
style = MaterialTheme.typography.bodyMedium
)
}
}
}
}
@Preview(showBackground = true)
@Composable
private fun DeviceDisconnectedViewPreview() {
NordicTheme {
DFUScreen(
modifier = Modifier.padding(16.dp)
)
}
}