Skip to content

Commit df90256

Browse files
authored
Re-add "set region" CTA (#3129)
1 parent e7b01da commit df90256

File tree

3 files changed

+28
-26
lines changed

3 files changed

+28
-26
lines changed

app/src/main/java/com/geeksville/mesh/ui/common/components/TitledCard.kt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,15 @@ import androidx.compose.ui.unit.dp
3535
import com.geeksville.mesh.ui.common.theme.AppTheme
3636

3737
@Composable
38-
fun TitledCard(title: String, modifier: Modifier = Modifier, content: @Composable ColumnScope.() -> Unit) {
38+
fun TitledCard(title: String?, modifier: Modifier = Modifier, content: @Composable ColumnScope.() -> Unit) {
3939
Column(modifier = modifier, verticalArrangement = Arrangement.spacedBy(8.dp)) {
40-
Text(
41-
title,
42-
modifier = Modifier.padding(horizontal = 16.dp).fillMaxWidth(),
43-
style = MaterialTheme.typography.titleLarge,
44-
)
40+
title?.let {
41+
Text(
42+
text = it,
43+
modifier = Modifier.padding(horizontal = 16.dp).fillMaxWidth(),
44+
style = MaterialTheme.typography.titleLarge,
45+
)
46+
}
4547

4648
Card(content = content)
4749
}

app/src/main/java/com/geeksville/mesh/ui/connections/ConnectionsScreen.kt

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import android.net.InetAddresses
2121
import android.os.Build
2222
import android.util.Patterns
2323
import androidx.compose.animation.AnimatedVisibility
24+
import androidx.compose.foundation.layout.Arrangement
2425
import androidx.compose.foundation.layout.Box
2526
import androidx.compose.foundation.layout.Column
2627
import androidx.compose.foundation.layout.IntrinsicSize
@@ -34,6 +35,8 @@ import androidx.compose.foundation.rememberScrollState
3435
import androidx.compose.foundation.selection.selectable
3536
import androidx.compose.foundation.selection.selectableGroup
3637
import androidx.compose.foundation.verticalScroll
38+
import androidx.compose.material.icons.Icons
39+
import androidx.compose.material.icons.rounded.Language
3740
import androidx.compose.material3.MaterialTheme
3841
import androidx.compose.material3.Surface
3942
import androidx.compose.material3.Text
@@ -61,15 +64,18 @@ import com.geeksville.mesh.model.BTScanModel
6164
import com.geeksville.mesh.model.BluetoothViewModel
6265
import com.geeksville.mesh.model.DeviceListEntry
6366
import com.geeksville.mesh.model.Node
67+
import com.geeksville.mesh.navigation.ConfigRoute
6468
import com.geeksville.mesh.navigation.Route
6569
import com.geeksville.mesh.navigation.SettingsRoutes
6670
import com.geeksville.mesh.navigation.getNavRouteFrom
6771
import com.geeksville.mesh.service.ConnectionState
72+
import com.geeksville.mesh.ui.common.components.TitledCard
6873
import com.geeksville.mesh.ui.connections.components.BLEDevices
6974
import com.geeksville.mesh.ui.connections.components.ConnectionsSegmentedBar
7075
import com.geeksville.mesh.ui.connections.components.CurrentlyConnectedCard
7176
import com.geeksville.mesh.ui.connections.components.NetworkDevices
7277
import com.geeksville.mesh.ui.connections.components.UsbDevices
78+
import com.geeksville.mesh.ui.settings.components.SettingsItem
7379
import com.geeksville.mesh.ui.settings.radio.RadioConfigViewModel
7480
import com.geeksville.mesh.ui.settings.radio.components.PacketResponseStateDialog
7581
import com.geeksville.mesh.ui.sharing.SharedContactDialog
@@ -101,7 +107,6 @@ fun ConnectionsScreen(
101107
) {
102108
val radioConfigState by radioConfigViewModel.radioConfigState.collectAsStateWithLifecycle()
103109
val config by connectionsViewModel.localConfig.collectAsStateWithLifecycle()
104-
val currentRegion = config.lora.region
105110
val scrollState = rememberScrollState()
106111
val scanStatusText by scanModel.errorText.observeAsState("")
107112
val connectionState by
@@ -111,8 +116,7 @@ fun ConnectionsScreen(
111116
val info by connectionsViewModel.myNodeInfo.collectAsStateWithLifecycle()
112117
val selectedDevice by scanModel.selectedNotNullFlow.collectAsStateWithLifecycle()
113118
val bluetoothEnabled by bluetoothViewModel.enabled.collectAsStateWithLifecycle(false)
114-
val regionUnset =
115-
currentRegion == ConfigProtos.Config.LoRaConfig.RegionCode.UNSET && connectionState == ConnectionState.CONNECTED
119+
val regionUnset = config.lora.region == ConfigProtos.Config.LoRaConfig.RegionCode.UNSET
116120

117121
val bleDevices by scanModel.bleDevicesForUi.collectAsStateWithLifecycle()
118122
val discoveredTcpDevices by scanModel.discoveredTcpDevicesForUi.collectAsStateWithLifecycle()
@@ -186,7 +190,7 @@ fun ConnectionsScreen(
186190
visible = connectionState.isConnected(),
187191
modifier = Modifier.padding(bottom = 16.dp),
188192
) {
189-
Column {
193+
Column(verticalArrangement = Arrangement.spacedBy(16.dp)) {
190194
ourNode?.let { node ->
191195
Text(
192196
stringResource(R.string.connected_device),
@@ -204,23 +208,20 @@ fun ConnectionsScreen(
204208
onClickDisconnect = { scanModel.disconnect() },
205209
)
206210
}
207-
}
208-
}
209211

210-
/*val setRegionText = stringResource(id = R.string.set_your_region)
211-
val actionText = stringResource(id = R.string.action_go)
212-
LaunchedEffect(connectionState.isConnected() && regionUnset && selectedDevice != "m") {
213-
if (connectionState.isConnected() && regionUnset && selectedDevice != "m") {
214-
uiViewModel.showSnackBar(
215-
text = setRegionText,
216-
actionLabel = actionText,
217-
onActionPerformed = {
218-
isWaiting = true
219-
radioConfigViewModel.setResponseStateLoading(ConfigRoute.LORA)
220-
},
221-
)
212+
if (regionUnset && selectedDevice != "m") {
213+
TitledCard(title = null) {
214+
SettingsItem(
215+
leadingIcon = Icons.Rounded.Language,
216+
text = stringResource(id = R.string.set_your_region),
217+
) {
218+
isWaiting = true
219+
radioConfigViewModel.setResponseStateLoading(ConfigRoute.LORA)
220+
}
221+
}
222+
}
222223
}
223-
}*/
224+
}
224225

225226
var selectedDeviceType by remember { mutableStateOf(DeviceType.BLE) }
226227
LaunchedEffect(selectedDevice) {

app/src/main/res/values/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -728,7 +728,6 @@
728728
<string name="ble_devices">BLE Devices</string>
729729
<string name="bluetooth_paired_devices">Paired Devices</string>
730730
<string name="connected_device">Connected Device</string>
731-
<string name="action_go">Go</string>
732731

733732
<string name="routing_error_rate_limit_exceeded">Rate Limit Exceeded. Please try again later.</string>
734733
<string name="view_release">View Release</string>

0 commit comments

Comments
 (0)