android: make custom url check case-insensitive

Fixes tailscale/corp#23210

Signed-off-by: kari-ts <kari@tailscale.com>
pull/513/head
Jonathan Nobels 1 year ago committed by kari-ts
parent 0b2a04b475
commit 7a0d124552

@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.Button import androidx.compose.material3.Button
import androidx.compose.material3.ListItem import androidx.compose.material3.ListItem
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
@ -25,6 +26,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.tailscale.ipn.R import com.tailscale.ipn.R
import com.tailscale.ipn.ui.theme.listItem import com.tailscale.ipn.ui.theme.listItem
@ -137,10 +139,12 @@ fun LoginView(
onValueChange = { textVal = it }, onValueChange = { textVal = it },
placeholder = { placeholder = {
Text(strings.placeholder, style = MaterialTheme.typography.bodySmall) Text(strings.placeholder, style = MaterialTheme.typography.bodySmall)
}) },
keyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.None)
)
}) })
ListItem( ListItem(
colors = MaterialTheme.colorScheme.listItem, colors = MaterialTheme.colorScheme.listItem,
headlineContent = { headlineContent = {
Box(modifier = Modifier.fillMaxWidth()) { Box(modifier = Modifier.fillMaxWidth()) {

@ -36,7 +36,9 @@ class LoginWithCustomControlURLViewModel : CustomLoginViewModel() {
// localAPIClient will use the default server if we give it a broken URL, // localAPIClient will use the default server if we give it a broken URL,
// but we can make sure we can construct a URL from the input string and // but we can make sure we can construct a URL from the input string and
// ensure it has an http/https scheme // ensure it has an http/https scheme
when (urlStr.startsWith("http") && urlStr.contains("://") && urlStr.length > 7) { when (urlStr.startsWith("http", ignoreCase = true) &&
urlStr.contains("://") &&
urlStr.length > 7) {
false -> { false -> {
errorDialog.set(ErrorDialogType.INVALID_CUSTOM_URL) errorDialog.set(ErrorDialogType.INVALID_CUSTOM_URL)
return return

Loading…
Cancel
Save