From 02b754aa4214436f8d2f0c61957de044d0538895 Mon Sep 17 00:00:00 2001 From: doten Date: Sat, 28 Mar 2026 09:03:27 -0500 Subject: [PATCH 1/2] users should not be able to exit teleop when they still have cachedtime --- .../scoutifyapp/ui/screens/data/DataScreen.kt | 7 +- .../ui/screens/data/TeleopLockScreen.kt | 69 +++++++++---------- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt index 2169282..8a3e3bd 100644 --- a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt +++ b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt @@ -228,7 +228,12 @@ fun DataScreen( } ) } - TeleopLockScreen(isOverlayActive = formState.teleopRunning) + if(formState.teleopRunning) { + TeleopLockScreen(message = "Teleop is running") + } + else if(formState.teleopCachedMilliseconds > 0) { + TeleopLockScreen(message = "Assign your cached time") + } } } diff --git a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt index d78cb43..ba70352 100644 --- a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt +++ b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt @@ -24,10 +24,10 @@ import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.LayoutDirection @Composable -fun TeleopLockScreen(isOverlayActive: Boolean) { +fun TeleopLockScreen(message: String) { //disables back press - BackHandler(enabled = isOverlayActive) { + BackHandler(enabled = true) { } @@ -50,44 +50,43 @@ fun TeleopLockScreen(isOverlayActive: Boolean) { } } - if (isOverlayActive) { - Popup ( - popupPositionProvider = screenEdgePositionProvider, - properties = PopupProperties( - focusable = false, - dismissOnBackPress = false, - dismissOnClickOutside = false - ) + Popup ( + popupPositionProvider = screenEdgePositionProvider, + properties = PopupProperties( + focusable = false, + dismissOnBackPress = false, + dismissOnClickOutside = false + ) + ) { + Box( + modifier = Modifier + .fillMaxHeight() + .width(320.dp) + .background(Color.DarkGray.copy(alpha = 0.8f)) + .pointerInput(Unit) { + detectTapGestures { } + }, + contentAlignment = Alignment.Center ) { - Box( - modifier = Modifier - .fillMaxHeight() - .width(320.dp) - .background(Color.DarkGray.copy(alpha = 0.8f)) - .pointerInput(Unit) { - detectTapGestures { } - }, - contentAlignment = Alignment.Center + Column( + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally ) { - Column( - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally - ) { - Icon( - imageVector = Icons.Default.Lock, - contentDescription = "Navigation Locked", - tint = Color.White - ) + Icon( + imageVector = Icons.Default.Lock, + contentDescription = "Navigation Locked", + tint = Color.White + ) - Spacer(modifier = Modifier.width(8.dp)) + Spacer(modifier = Modifier.width(8.dp)) - Text( - text = "Teleop is running", - color = Color.White, - style = MaterialTheme.typography.titleLarge - ) - } + Text( + text = message, + color = Color.White, + style = MaterialTheme.typography.titleLarge + ) } } } + } \ No newline at end of file From ddf8782ffb3b3c75d174b171e278f2f84173caa7 Mon Sep 17 00:00:00 2001 From: igor024 Date: Sat, 28 Mar 2026 10:05:37 -0400 Subject: [PATCH 2/2] Fix teleop lock screen glitching --- .../scoutifyapp/ui/screens/data/DataScreen.kt | 10 ++- .../ui/screens/data/TeleopLockScreen.kt | 69 ++++++++++--------- .../ui/screens/home/MatchSchedule.kt | 2 +- 3 files changed, 40 insertions(+), 41 deletions(-) diff --git a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt index 8a3e3bd..2769bce 100644 --- a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt +++ b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/DataScreen.kt @@ -228,12 +228,10 @@ fun DataScreen( } ) } - if(formState.teleopRunning) { - TeleopLockScreen(message = "Teleop is running") - } - else if(formState.teleopCachedMilliseconds > 0) { - TeleopLockScreen(message = "Assign your cached time") - } + TeleopLockScreen( + visible = formState.teleopRunning || formState.teleopCachedMilliseconds > 0, + message = if(formState.teleopRunning) "Teleop is running" else "Assign your cached time" + ) } } diff --git a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt index ba70352..57e482b 100644 --- a/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt +++ b/app/src/main/java/com/team695/scoutifyapp/ui/screens/data/TeleopLockScreen.kt @@ -24,10 +24,10 @@ import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.LayoutDirection @Composable -fun TeleopLockScreen(message: String) { +fun TeleopLockScreen(visible: Boolean, message: String) { //disables back press - BackHandler(enabled = true) { + BackHandler(enabled = visible) { } @@ -50,43 +50,44 @@ fun TeleopLockScreen(message: String) { } } - Popup ( - popupPositionProvider = screenEdgePositionProvider, - properties = PopupProperties( - focusable = false, - dismissOnBackPress = false, - dismissOnClickOutside = false - ) - ) { - Box( - modifier = Modifier - .fillMaxHeight() - .width(320.dp) - .background(Color.DarkGray.copy(alpha = 0.8f)) - .pointerInput(Unit) { - detectTapGestures { } - }, - contentAlignment = Alignment.Center + if(visible) { + Popup( + popupPositionProvider = screenEdgePositionProvider, + properties = PopupProperties( + focusable = false, + dismissOnBackPress = false, + dismissOnClickOutside = false + ) ) { - Column( - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally + Box( + modifier = Modifier + .fillMaxHeight() + .width(320.dp) + .background(Color.DarkGray.copy(alpha = 0.8f)) + .pointerInput(Unit) { + detectTapGestures { } + }, + contentAlignment = Alignment.Center ) { - Icon( - imageVector = Icons.Default.Lock, - contentDescription = "Navigation Locked", - tint = Color.White - ) + Column( + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally + ) { + Icon( + imageVector = Icons.Default.Lock, + contentDescription = "Navigation Locked", + tint = Color.White + ) - Spacer(modifier = Modifier.width(8.dp)) + Spacer(modifier = Modifier.width(8.dp)) - Text( - text = message, - color = Color.White, - style = MaterialTheme.typography.titleLarge - ) + Text( + text = message, + color = Color.White, + style = MaterialTheme.typography.titleLarge + ) + } } } } - } \ No newline at end of file diff --git a/app/src/main/java/com/team695/scoutifyapp/ui/screens/home/MatchSchedule.kt b/app/src/main/java/com/team695/scoutifyapp/ui/screens/home/MatchSchedule.kt index bf2eccd..1fda04b 100644 --- a/app/src/main/java/com/team695/scoutifyapp/ui/screens/home/MatchSchedule.kt +++ b/app/src/main/java/com/team695/scoutifyapp/ui/screens/home/MatchSchedule.kt @@ -160,7 +160,7 @@ fun MatchSchedule( // 1. Header Title Text( - text = "Buckeye Regional", + text = "Miami Valley Regional", color = TextPrimary, fontSize = 22.sp, fontWeight = FontWeight.Bold,