Inference time should be displayed only on camera screen
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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(
|
||||
@@ -249,3 +252,14 @@ class CameraCaptureController {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun MessageBox(inferenceTime: Long) {
|
||||
Text(
|
||||
text = if(inferenceTime == 0L) "" else "Segmentation time: $inferenceTime ms",
|
||||
modifier = Modifier
|
||||
.padding(16.dp)
|
||||
.fillMaxWidth(),
|
||||
color = Color.Gray,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user