diff --git a/app/src/main/java/org/mydomain/myscan/MainActivity.kt b/app/src/main/java/org/mydomain/myscan/MainActivity.kt index 95fbc07..d46f36f 100644 --- a/app/src/main/java/org/mydomain/myscan/MainActivity.kt +++ b/app/src/main/java/org/mydomain/myscan/MainActivity.kt @@ -10,19 +10,14 @@ import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp import androidx.core.content.FileProvider import androidx.lifecycle.compose.collectAsStateWithLifecycle import org.mydomain.myscan.ui.theme.MyScanTheme @@ -46,7 +41,6 @@ class MainActivity : ComponentActivity() { Scaffold { innerPadding -> Column { Greeting(modifier = Modifier.padding(innerPadding)) - MyMessageBox(cameraScreenState.detectionMessage, cameraScreenState.inferenceTime) when (val screen = currentScreen) { is Screen.Camera -> { CameraScreen(viewModel, cameraScreenState, @@ -97,18 +91,6 @@ class MainActivity : ComponentActivity() { } } -@Composable -fun MyMessageBox(msg: String?, inferenceTime: Long) { - Text( - text = (msg ?: "") + " / inferred in " + inferenceTime + "ms", - modifier = Modifier - .padding(16.dp) - .background(Color.Gray) - .fillMaxWidth(), - color = Color.Black, - ) -} - @Composable fun Greeting(modifier: Modifier = Modifier) { Text( @@ -116,11 +98,3 @@ fun Greeting(modifier: Modifier = Modifier) { modifier = modifier ) } - -@Preview(showBackground = true) -@Composable -fun MyMessageBoxPreview() { - MyScanTheme { - MyMessageBox("Found 2 objects!", 42) - } -} \ No newline at end of file diff --git a/app/src/main/java/org/mydomain/myscan/view/Camera.kt b/app/src/main/java/org/mydomain/myscan/view/Camera.kt index 5e18562..9364d40 100644 --- a/app/src/main/java/org/mydomain/myscan/view/Camera.kt +++ b/app/src/main/java/org/mydomain/myscan/view/Camera.kt @@ -22,7 +22,9 @@ import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.material3.Button import androidx.compose.material3.Text @@ -49,9 +51,9 @@ import androidx.core.graphics.scale import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.compose.LocalLifecycleOwner import com.google.common.util.concurrent.ListenableFuture +import org.mydomain.myscan.CameraScreenState import org.mydomain.myscan.MainViewModel import org.mydomain.myscan.Point -import org.mydomain.myscan.CameraScreenState import org.mydomain.myscan.scaledTo import java.util.concurrent.ExecutorService import java.util.concurrent.Executors @@ -94,6 +96,7 @@ fun CameraScreen( captureController = captureController) AnalysisOverlay(uiState) } + MessageBox(uiState.inferenceTime) Button( onClick = { captureController.takePicture( @@ -248,4 +251,15 @@ class CameraCaptureController { } ) } -} \ No newline at end of file +} + +@Composable +fun MessageBox(inferenceTime: Long) { + Text( + text = if(inferenceTime == 0L) "" else "Segmentation time: $inferenceTime ms", + modifier = Modifier + .padding(16.dp) + .fillMaxWidth(), + color = Color.Gray, + ) +}