summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-01-20 11:02:49 +0100
committerDavid Göransson <david.goransson@mullvad.net>2025-01-21 09:07:51 +0100
commitef8bf2e254fc527641517127b205396f03c3a99b (patch)
treed45d24a7a3d298db144f1c7ff9b66148c3095017 /android
parentd7bd716d0d3c501d48467b449e81a4a392a24bea (diff)
downloadmullvadvpn-ef8bf2e254fc527641517127b205396f03c3a99b.tar.xz
mullvadvpn-ef8bf2e254fc527641517127b205396f03c3a99b.zip
Fix warnings
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/MullvadButton.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt31
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt14
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/AccountUiStatePreviewParameterProvider.kt36
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt54
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/EditApiAccessMethodScreen.kt8
-rw-r--r--android/config/lint-baseline.xml240
9 files changed, 118 insertions, 275 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/MullvadButton.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/MullvadButton.kt
index 510f15827d..3a7df2b841 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/MullvadButton.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/MullvadButton.kt
@@ -76,7 +76,7 @@ fun NegativeButton(
),
isEnabled: Boolean = true,
isLoading: Boolean = false,
- icon: @Composable (() -> Unit)? = null,
+ content: @Composable (() -> Unit)? = null,
) {
BaseButton(
onClick = onClick,
@@ -85,7 +85,7 @@ fun NegativeButton(
modifier = modifier,
isEnabled = isEnabled,
isLoading = isLoading,
- trailingIcon = icon,
+ trailingIcon = content,
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt
index 14d9c20ebe..4f6d4b75c9 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt
@@ -68,7 +68,6 @@ private fun PreviewCheckableRelayLocationCell(
}
}
-@OptIn(ExperimentalFoundationApi::class)
@Composable
fun StatusRelayItemCell(
item: RelayItem,
@@ -89,7 +88,12 @@ fun StatusRelayItemCell(
item = item,
isSelected = isSelected,
state = state,
- leadingContent = {
+ onClick = onClick,
+ onLongClick = onLongClick,
+ onToggleExpand = onToggleExpand,
+ isExpanded = isExpanded,
+ depth = depth,
+ content = {
if (isSelected) {
Icon(imageVector = Icons.Default.Check, contentDescription = null)
} else {
@@ -111,11 +115,6 @@ fun StatusRelayItemCell(
)
}
},
- onClick = onClick,
- onLongClick = onLongClick,
- onToggleExpand = onToggleExpand,
- isExpanded = isExpanded,
- depth = depth,
)
}
@@ -126,12 +125,12 @@ fun RelayItemCell(
item: RelayItem,
isSelected: Boolean,
state: RelayListItemState?,
- leadingContent: (@Composable RowScope.() -> Unit)? = null,
onClick: () -> Unit,
onLongClick: (() -> Unit)? = null,
- onToggleExpand: ((Boolean) -> Unit),
+ onToggleExpand: (Boolean) -> Unit,
isExpanded: Boolean,
depth: Int,
+ content: @Composable (RowScope.() -> Unit)? = null,
) {
val leadingContentStartPadding = Dimens.cellStartPadding
@@ -162,8 +161,8 @@ fun RelayItemCell(
.weight(1f),
verticalAlignment = Alignment.CenterVertically,
) {
- if (leadingContent != null) {
- leadingContent()
+ if (content != null) {
+ content()
}
Name(name = item.name, state = state)
}
@@ -194,16 +193,16 @@ fun CheckableRelayLocationCell(
item = item,
isSelected = false,
state = null,
- leadingContent = {
+ onClick = { onRelayCheckedChange(!checked) },
+ onToggleExpand = onExpand,
+ isExpanded = expanded,
+ depth = depth,
+ content = {
MullvadCheckbox(
checked = checked,
onCheckedChange = { isChecked -> onRelayCheckedChange(isChecked) },
)
},
- onClick = { onRelayCheckedChange(!checked) },
- onToggleExpand = onExpand,
- isExpanded = expanded,
- depth = depth,
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt
index 61b9a828a5..d935ca5950 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt
@@ -177,7 +177,7 @@ fun SwitchCellView(
}
}
- MullvadSwitch(checked = isToggled, enabled = isEnabled, onCheckedChange = onSwitchClicked)
+ MullvadSwitch(checked = isToggled, onCheckedChange = onSwitchClicked, enabled = isEnabled)
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt
index 82f9e49220..789a5b5f2d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt
@@ -57,12 +57,12 @@ fun MullvadExposedDropdownMenuBox(
@Composable
fun MullvadDropdownMenuItem(
- leadingIcon: @Composable (() -> Unit)? = null,
text: String,
onClick: () -> Unit,
+ content: @Composable (() -> Unit)? = null,
) {
DropdownMenuItem(
- leadingIcon = leadingIcon,
+ leadingIcon = content,
colors = menuItemColors,
text = { Text(text = text) },
onClick = onClick,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt
index 650c882f79..7dc0da8738 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt
@@ -34,8 +34,8 @@ private fun PreviewMullvadSwitch() {
) {
MullvadSwitch(checked = true, onCheckedChange = null)
MullvadSwitch(checked = false, onCheckedChange = null)
- MullvadSwitch(checked = true, enabled = false, onCheckedChange = null)
- MullvadSwitch(checked = false, enabled = false, onCheckedChange = null)
+ MullvadSwitch(checked = true, onCheckedChange = null, enabled = false)
+ MullvadSwitch(checked = false, onCheckedChange = null, enabled = false)
}
}
}
@@ -46,19 +46,19 @@ fun MullvadSwitch(
checked: Boolean,
onCheckedChange: ((Boolean) -> Unit)?,
modifier: Modifier = Modifier,
- thumbContent: (@Composable () -> Unit)? = {
- // This is needed to ensure the thumb always is big in off mode
- Spacer(modifier = Modifier.size(Dimens.switchIconSize))
- },
enabled: Boolean = true,
colors: SwitchColors = mullvadSwitchColors(),
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
+ content: @Composable (() -> Unit)? = {
+ // This is needed to ensure the thumb always is big in off mode
+ Spacer(modifier = Modifier.size(Dimens.switchIconSize))
+ },
) {
Switch(
checked = checked,
onCheckedChange = onCheckedChange,
modifier = modifier.testTag(SWITCH_TEST_TAG),
- thumbContent = thumbContent,
+ thumbContent = content,
enabled = enabled,
colors = colors,
interactionSource = interactionSource,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/AccountUiStatePreviewParameterProvider.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/AccountUiStatePreviewParameterProvider.kt
index a3b0845f31..c15e8b2a53 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/AccountUiStatePreviewParameterProvider.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/AccountUiStatePreviewParameterProvider.kt
@@ -37,23 +37,23 @@ class AccountUiStatePreviewParameterProvider : PreviewParameterProvider<AccountU
showManageAccountLoading = false,
)
) + generateOtherStates()
-}
-private fun generateOtherStates(): Sequence<AccountUiState> =
- sequenceOf(
- PaymentState.Loading,
- PaymentState.NoPayment,
- PaymentState.NoProductsFounds,
- PaymentState.Error.Billing,
- )
- .map { state ->
- AccountUiState(
- deviceName = "Test Name",
- accountNumber = AccountNumber("1234123412341234"),
- accountExpiry = null,
- showSitePayment = false,
- billingPaymentState = state,
- showLogoutLoading = false,
- showManageAccountLoading = false,
+ private fun generateOtherStates(): Sequence<AccountUiState> =
+ sequenceOf(
+ PaymentState.Loading,
+ PaymentState.NoPayment,
+ PaymentState.NoProductsFounds,
+ PaymentState.Error.Billing,
)
- }
+ .map { state ->
+ AccountUiState(
+ deviceName = "Test Name",
+ accountNumber = AccountNumber("1234123412341234"),
+ accountExpiry = null,
+ showSitePayment = false,
+ billingPaymentState = state,
+ showLogoutLoading = false,
+ showManageAccountLoading = false,
+ )
+ }
+}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt
index ffb9117049..bfb9ed40f8 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt
@@ -37,36 +37,36 @@ object TunnelStatePreviewData {
TunnelState.Error(
errorState = ErrorState(cause = ErrorStateCause.DnsError, isBlocking = isBlocking)
)
-}
-private fun generateTunnelEndpoint(quantumResistant: Boolean, daita: Boolean): TunnelEndpoint =
- TunnelEndpoint(
- endpoint = generateEndpoint(TransportProtocol.Udp),
- quantumResistant = quantumResistant,
- obfuscation =
- ObfuscationEndpoint(
- endpoint = generateEndpoint(TransportProtocol.Tcp),
- ObfuscationType.Udp2Tcp,
- ),
- daita = daita,
- )
+ private fun generateTunnelEndpoint(quantumResistant: Boolean, daita: Boolean): TunnelEndpoint =
+ TunnelEndpoint(
+ endpoint = generateEndpoint(TransportProtocol.Udp),
+ quantumResistant = quantumResistant,
+ obfuscation =
+ ObfuscationEndpoint(
+ endpoint = generateEndpoint(TransportProtocol.Tcp),
+ ObfuscationType.Udp2Tcp,
+ ),
+ daita = daita,
+ )
-private fun generateEndpoint(transportProtocol: TransportProtocol) =
- Endpoint(address = InetSocketAddress(DEFAULT_ENDPOINT_PORT), protocol = transportProtocol)
+ private fun generateEndpoint(transportProtocol: TransportProtocol) =
+ Endpoint(address = InetSocketAddress(DEFAULT_ENDPOINT_PORT), protocol = transportProtocol)
-private fun generateLocation(): GeoIpLocation =
- GeoIpLocation(
- ipv4 = null,
- ipv6 = null,
- country = "",
- city = "",
- hostname = "",
- entryHostname = "",
- latitude = 0.0,
- longitude = 0.0,
- )
+ private fun generateLocation(): GeoIpLocation =
+ GeoIpLocation(
+ ipv4 = null,
+ ipv6 = null,
+ country = "",
+ city = "",
+ hostname = "",
+ entryHostname = "",
+ latitude = 0.0,
+ longitude = 0.0,
+ )
-private fun generateFeatureIndicators(size: Int): List<FeatureIndicator> =
- FeatureIndicator.entries.subList(0, size)
+ private fun generateFeatureIndicators(size: Int): List<FeatureIndicator> =
+ FeatureIndicator.entries.subList(0, size)
+}
private const val DEFAULT_ENDPOINT_PORT = 100
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/EditApiAccessMethodScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/EditApiAccessMethodScreen.kt
index 768c43d588..b9f2fb6dd3 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/EditApiAccessMethodScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/EditApiAccessMethodScreen.kt
@@ -333,7 +333,7 @@ private fun ApiAccessMethodTypeSelection(
close()
onTypeSelected(it)
},
- leadingIcon = {
+ content = {
Icon(
imageVector = Icons.Default.Check,
contentDescription = null,
@@ -510,7 +510,7 @@ private fun CipherSelection(cipher: Cipher, onCipherChange: (Cipher) -> Unit) {
close()
onCipherChange(it)
},
- leadingIcon = {
+ content = {
Icon(
imageVector = Icons.Default.Check,
contentDescription = null,
@@ -549,7 +549,7 @@ private fun EnableAuthentication(
close()
onToggleAuthenticationEnabled(true)
},
- leadingIcon = {
+ content = {
Icon(
imageVector = Icons.Default.Check,
contentDescription = null,
@@ -565,7 +565,7 @@ private fun EnableAuthentication(
close()
onToggleAuthenticationEnabled(false)
},
- leadingIcon = {
+ content = {
Icon(
imageVector = Icons.Default.Check,
contentDescription = null,
diff --git a/android/config/lint-baseline.xml b/android/config/lint-baseline.xml
index 92267c4124..aef6521327 100644
--- a/android/config/lint-baseline.xml
+++ b/android/config/lint-baseline.xml
@@ -1,69 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 8.7.3" type="baseline" client="gradle" dependencies="true" name="AGP (8.7.3)" variant="all" version="8.7.3">
+<issues format="6" by="lint 8.8.0" type="baseline" client="gradle" dependencies="true" name="AGP (8.8.0)" variant="all" version="8.8.0">
+
+ <issue
+ id="InvalidPackage"
+ message="Invalid package reference in library; not included in Android: `javax.naming.directory`. Referenced from `io.grpc.internal.JndiResourceResolverFactory.JndiRecordFetcher`.">
+ <location
+ file="../../../../.gradle/caches/modules-2/files-2.1/io.grpc/grpc-core/1.69.1/d9f6383e1903af6e9502e7c1c8e4fbe28a236321/grpc-core-1.69.1.jar"/>
+ </issue>
+
+ <issue
+ id="InvalidPackage"
+ message="Invalid package reference in library; not included in Android: `javax.naming`. Referenced from `io.grpc.internal.JndiResourceResolverFactory.JndiRecordFetcher`.">
+ <location
+ file="../../../../.gradle/caches/modules-2/files-2.1/io.grpc/grpc-core/1.69.1/d9f6383e1903af6e9502e7c1c8e4fbe28a236321/grpc-core-1.69.1.jar"/>
+ </issue>
<issue
id="SimilarGradleDependency"
message="There are multiple dependencies com.google.protobuf but with different version"
- errorLine1="protobuf-core = { id = &quot;com.google.protobuf&quot;, version.ref = &quot;protobuf&quot; }"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1="protobuf-core = { id = &quot;com.google.protobuf&quot;, version.ref = &quot;protobuf-gradle-plugin&quot; }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="180"
+ line="185"
column="18"/>
</issue>
<issue
id="SimilarGradleDependency"
message="There are multiple dependencies com.google.protobuf but with different version"
- errorLine1="protobuf-core = { id = &quot;com.google.protobuf&quot;, version.ref = &quot;protobuf&quot; }"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1="protobuf-core = { id = &quot;com.google.protobuf&quot;, version.ref = &quot;protobuf-gradle-plugin&quot; }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="180"
+ line="185"
column="18"/>
</issue>
<issue
id="SimilarGradleDependency"
message="There are multiple dependencies com.google.protobuf but with different version"
- errorLine1="protobuf-core = { id = &quot;com.google.protobuf&quot;, version.ref = &quot;protobuf&quot; }"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1="protobuf-core = { id = &quot;com.google.protobuf&quot;, version.ref = &quot;protobuf-gradle-plugin&quot; }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="180"
+ line="185"
column="18"/>
</issue>
<issue
id="SimilarGradleDependency"
message="There are multiple dependencies com.google.protobuf but with different version"
- errorLine1="protobuf-protoc = { id = &quot;com.google.protobuf:protoc&quot;, version.ref = &quot;grpc-protobuf&quot; }"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1="protobuf-protoc = { id = &quot;com.google.protobuf:protoc&quot;, version.ref = &quot;protobuf&quot; }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="181"
+ line="186"
column="20"/>
</issue>
<issue
id="SimilarGradleDependency"
message="There are multiple dependencies com.google.protobuf but with different version"
- errorLine1="protobuf-protoc = { id = &quot;com.google.protobuf:protoc&quot;, version.ref = &quot;grpc-protobuf&quot; }"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1="protobuf-protoc = { id = &quot;com.google.protobuf:protoc&quot;, version.ref = &quot;protobuf&quot; }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="181"
+ line="186"
column="20"/>
</issue>
<issue
id="SimilarGradleDependency"
message="There are multiple dependencies com.google.protobuf but with different version"
- errorLine1="protobuf-protoc = { id = &quot;com.google.protobuf:protoc&quot;, version.ref = &quot;grpc-protobuf&quot; }"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1="protobuf-protoc = { id = &quot;com.google.protobuf:protoc&quot;, version.ref = &quot;protobuf&quot; }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="181"
+ line="186"
column="20"/>
</issue>
@@ -74,7 +88,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="184"
+ line="189"
column="30"/>
</issue>
@@ -85,7 +99,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="184"
+ line="189"
column="30"/>
</issue>
@@ -96,7 +110,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="184"
+ line="189"
column="30"/>
</issue>
@@ -107,7 +121,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="185"
+ line="190"
column="32"/>
</issue>
@@ -118,7 +132,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="185"
+ line="190"
column="32"/>
</issue>
@@ -129,115 +143,11 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="../gradle/libs.versions.toml"
- line="185"
+ line="190"
column="32"/>
</issue>
<issue
- id="ComposableLambdaParameterNaming"
- message="Composable lambda parameter should be named `content`"
- errorLine1=" icon: @Composable (() -> Unit)? = null,"
- errorLine2=" ~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/button/MullvadButton.kt"
- line="79"
- column="5"/>
- </issue>
-
- <issue
- id="ComposableLambdaParameterNaming"
- message="Composable lambda parameter should be named `content`"
- errorLine1=" leadingIcon: @Composable (() -> Unit)? = null,"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt"
- line="60"
- column="5"/>
- </issue>
-
- <issue
- id="ComposableLambdaParameterNaming"
- message="Composable lambda parameter should be named `content`"
- errorLine1=" leadingContent: (@Composable RowScope.() -> Unit)? = null,"
- errorLine2=" ~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt"
- line="129"
- column="5"/>
- </issue>
-
- <issue
- id="ComposableLambdaParameterNaming"
- message="Composable lambda parameter should be named `content`"
- errorLine1=" thumbContent: (@Composable () -> Unit)? = {"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt"
- line="49"
- column="5"/>
- </issue>
-
- <issue
- id="ComposableLambdaParameterPosition"
- message="Composable lambda parameter should be the last parameter so it can be used as a trailing lambda"
- errorLine1=" leadingIcon: @Composable (() -> Unit)? = null,"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/component/MullvadExposedDropdownMenuBox.kt"
- line="60"
- column="5"/>
- </issue>
-
- <issue
- id="ComposableLambdaParameterPosition"
- message="Composable lambda parameter should be the last parameter so it can be used as a trailing lambda"
- errorLine1=" leadingContent: (@Composable RowScope.() -> Unit)? = null,"
- errorLine2=" ~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt"
- line="129"
- column="5"/>
- </issue>
-
- <issue
- id="ComposableLambdaParameterPosition"
- message="Composable lambda parameter should be the last parameter so it can be used as a trailing lambda"
- errorLine1=" thumbContent: (@Composable () -> Unit)? = {"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Switch.kt"
- line="49"
- column="5"/>
- </issue>
-
- <issue
- id="StringFormatCount"
- message="Inconsistent number of arguments in formatting string `daita_description_slide_2_second_paragraph`; found both 1 here and 2 in values/strings.xml"
- errorLine1=" &lt;string name=&quot;daita_description_slide_2_second_paragraph&quot;>Daher verwenden wir automatisch Multihop, um %1$s mit jedem Server zu aktivieren.&lt;/string>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/values-de/strings.xml"
- line="100"
- column="5"/>
- <location
- file="src/main/res/values/strings.xml"
- line="416"
- column="5"
- message="Conflicting number of arguments (2) here"/>
- </issue>
-
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateOtherStates` of class `AccountUiStatePreviewParameterProviderKt` requires synthetic accessor"
- errorLine1=" ) + generateOtherStates()"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/AccountUiStatePreviewParameterProvider.kt"
- line="39"
- column="13"/>
- </issue>
-
- <issue
id="SyntheticAccessor"
message="Access to `private` method `buildTopText` of class `AutoConnectAndLockdownModeScreenKt` requires synthetic accessor"
errorLine1=" @Composable { buildTopText(id = R.string.auto_connect_carousel_first_slide_top_text) },"
@@ -288,7 +198,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/RelayItemPreviewData.kt"
- line="18"
+ line="17"
column="18"/>
</issue>
@@ -299,7 +209,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/RelayItemPreviewData.kt"
- line="21"
+ line="20"
column="21"/>
</issue>
@@ -310,7 +220,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/RelayItemPreviewData.kt"
- line="23"
+ line="22"
column="25"/>
</issue>
@@ -336,70 +246,4 @@
column="25"/>
</issue>
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateTunnelEndpoint` of class `TunnelStatePreviewDataKt` requires synthetic accessor"
- errorLine1=" endpoint = generateTunnelEndpoint(quantumResistant = quantumResistant, daita = false),"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt"
- line="21"
- column="24"/>
- </issue>
-
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateLocation` of class `TunnelStatePreviewDataKt` requires synthetic accessor"
- errorLine1=" location = generateLocation(),"
- errorLine2=" ~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt"
- line="22"
- column="24"/>
- </issue>
-
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateFeatureIndicators` of class `TunnelStatePreviewDataKt` requires synthetic accessor"
- errorLine1=" featureIndicators = generateFeatureIndicators(featureIndicators),"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt"
- line="23"
- column="33"/>
- </issue>
-
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateTunnelEndpoint` of class `TunnelStatePreviewDataKt` requires synthetic accessor"
- errorLine1=" endpoint = generateTunnelEndpoint(quantumResistant = quantumResistant, daita = true),"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt"
- line="28"
- column="24"/>
- </issue>
-
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateLocation` of class `TunnelStatePreviewDataKt` requires synthetic accessor"
- errorLine1=" location = generateLocation(),"
- errorLine2=" ~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt"
- line="29"
- column="24"/>
- </issue>
-
- <issue
- id="SyntheticAccessor"
- message="Access to `private` method `generateFeatureIndicators` of class `TunnelStatePreviewDataKt` requires synthetic accessor"
- errorLine1=" featureIndicators = generateFeatureIndicators(featureIndicators),"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/compose/preview/TunnelStatePreviewData.kt"
- line="30"
- column="33"/>
- </issue>
-
</issues>