Skip to content

Commit f68b411

Browse files
authored
Annotate Composable function with ReadOnlyComposable where it's possible. (#4859)
1 parent 558e7b9 commit f68b411

File tree

8 files changed

+24
-0
lines changed

8 files changed

+24
-0
lines changed

features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import androidx.compose.foundation.verticalScroll
1919
import androidx.compose.material3.ExperimentalMaterial3Api
2020
import androidx.compose.runtime.Composable
2121
import androidx.compose.runtime.LaunchedEffect
22+
import androidx.compose.runtime.ReadOnlyComposable
2223
import androidx.compose.runtime.remember
2324
import androidx.compose.ui.Alignment
2425
import androidx.compose.ui.Modifier
@@ -124,6 +125,7 @@ private fun SetupPinContent(
124125
}
125126

126127
@Composable
128+
@ReadOnlyComposable
127129
private fun SetupPinFailure.content(): String {
128130
return when (this) {
129131
SetupPinFailure.ForbiddenPin -> stringResource(id = R.string.screen_app_lock_setup_pin_forbidden_dialog_content)
@@ -132,6 +134,7 @@ private fun SetupPinFailure.content(): String {
132134
}
133135

134136
@Composable
137+
@ReadOnlyComposable
135138
private fun SetupPinFailure.title(): String {
136139
return when (this) {
137140
SetupPinFailure.ForbiddenPin -> stringResource(id = R.string.screen_app_lock_setup_pin_forbidden_dialog_title)

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerError.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package io.element.android.features.login.impl.error
99

1010
import androidx.annotation.StringRes
1111
import androidx.compose.runtime.Composable
12+
import androidx.compose.runtime.ReadOnlyComposable
1213
import androidx.compose.ui.res.stringResource
1314
import io.element.android.features.login.impl.R
1415
import io.element.android.features.login.impl.changeserver.UnauthorizedAccountProviderException
@@ -21,6 +22,7 @@ sealed class ChangeServerError : Throwable() {
2122
val messageStr: String? = null,
2223
) : ChangeServerError() {
2324
@Composable
25+
@ReadOnlyComposable
2426
fun message(): String = messageStr ?: stringResource(messageId ?: CommonStrings.error_unknown)
2527
}
2628

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import androidx.compose.material3.ListItemDefaults
3030
import androidx.compose.material3.rememberModalBottomSheetState
3131
import androidx.compose.material3.ripple
3232
import androidx.compose.runtime.Composable
33+
import androidx.compose.runtime.ReadOnlyComposable
3334
import androidx.compose.runtime.remember
3435
import androidx.compose.runtime.rememberCoroutineScope
3536
import androidx.compose.ui.Alignment
@@ -394,6 +395,7 @@ private fun VerifiedUserSendFailureView(
394395
modifier: Modifier = Modifier,
395396
) {
396397
@Composable
398+
@ReadOnlyComposable
397399
fun VerifiedUserSendFailure.headline(): String {
398400
return when (this) {
399401
is None -> ""

features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsState.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package io.element.android.features.preferences.impl.advanced
99

1010
import androidx.compose.runtime.Composable
11+
import androidx.compose.runtime.ReadOnlyComposable
1112
import androidx.compose.ui.res.stringResource
1213
import io.element.android.libraries.designsystem.components.preferences.DropdownOption
1314
import io.element.android.libraries.matrix.api.media.MediaPreviewValue
@@ -26,14 +27,17 @@ data class AdvancedSettingsState(
2627
enum class ThemeOption : DropdownOption {
2728
System {
2829
@Composable
30+
@ReadOnlyComposable
2931
override fun getText(): String = stringResource(CommonStrings.common_system)
3032
},
3133
Dark {
3234
@Composable
35+
@ReadOnlyComposable
3336
override fun getText(): String = stringResource(CommonStrings.common_dark)
3437
},
3538
Light {
3639
@Composable
40+
@ReadOnlyComposable
3741
override fun getText(): String = stringResource(CommonStrings.common_light)
3842
}
3943
}

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/text/DpScale.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.Arrangement
1111
import androidx.compose.foundation.layout.Column
1212
import androidx.compose.foundation.layout.padding
1313
import androidx.compose.runtime.Composable
14+
import androidx.compose.runtime.ReadOnlyComposable
1415
import androidx.compose.ui.Modifier
1516
import androidx.compose.ui.platform.LocalDensity
1617
import androidx.compose.ui.tooling.preview.Preview
@@ -27,6 +28,7 @@ import io.element.android.libraries.designsystem.theme.components.Text
2728
* will be smaller.
2829
*/
2930
@Composable
31+
@ReadOnlyComposable
3032
fun Dp.applyScaleDown(): Dp = with(LocalDensity.current) {
3133
return this@applyScaleDown * fontScale.coerceAtMost(1f)
3234
}
@@ -37,6 +39,7 @@ fun Dp.applyScaleDown(): Dp = with(LocalDensity.current) {
3739
* will be bigger.
3840
*/
3941
@Composable
42+
@ReadOnlyComposable
4043
fun Dp.applyScaleUp(): Dp = with(LocalDensity.current) {
4144
return this@applyScaleUp * fontScale.coerceAtLeast(1f)
4245
}

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/text/UnitConverters.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package io.element.android.libraries.designsystem.text
99

1010
import androidx.compose.runtime.Composable
11+
import androidx.compose.runtime.ReadOnlyComposable
1112
import androidx.compose.ui.platform.LocalDensity
1213
import androidx.compose.ui.unit.Dp
1314
import androidx.compose.ui.unit.TextUnit
@@ -17,29 +18,34 @@ import androidx.compose.ui.unit.TextUnit
1718
* Can be used for instance to use Dp unit for text.
1819
*/
1920
@Composable
21+
@ReadOnlyComposable
2022
fun Dp.toSp(): TextUnit = with(LocalDensity.current) { toSp() }
2123

2224
/**
2325
* Convert Sp to Dp, regarding current density.
2426
* Can be used for instance to use Sp unit for size.
2527
*/
2628
@Composable
29+
@ReadOnlyComposable
2730
fun TextUnit.toDp(): Dp = with(LocalDensity.current) { toDp() }
2831

2932
/**
3033
* Convert Px value to Dp, regarding current density.
3134
*/
3235
@Composable
36+
@ReadOnlyComposable
3337
fun Int.toDp(): Dp = with(LocalDensity.current) { toDp() }
3438

3539
/**
3640
* Convert Dp value to pixels, regarding current density.
3741
*/
3842
@Composable
43+
@ReadOnlyComposable
3944
fun Dp.toPx(): Float = with(LocalDensity.current) { toPx() }
4045

4146
/**
4247
* Convert Dp value to pixels, regarding current density.
4348
*/
4449
@Composable
50+
@ReadOnlyComposable
4551
fun Dp.roundToPx(): Int = with(LocalDensity.current) { roundToPx() }

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/WindowInsetsExtension.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ package io.element.android.libraries.designsystem.utils
99

1010
import androidx.compose.foundation.layout.WindowInsets
1111
import androidx.compose.runtime.Composable
12+
import androidx.compose.runtime.ReadOnlyComposable
1213
import androidx.compose.ui.platform.LocalDensity
1314
import androidx.compose.ui.platform.LocalLayoutDirection
1415

1516
@Composable
17+
@ReadOnlyComposable
1618
fun WindowInsets.copy(
1719
top: Int? = null,
1820
right: Int? = null,

libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsView.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package io.element.android.libraries.permissions.api
99

1010
import android.Manifest
1111
import androidx.compose.runtime.Composable
12+
import androidx.compose.runtime.ReadOnlyComposable
1213
import androidx.compose.ui.Modifier
1314
import androidx.compose.ui.res.stringResource
1415
import androidx.compose.ui.tooling.preview.PreviewParameter
@@ -41,6 +42,7 @@ fun PermissionsView(
4142
}
4243

4344
@Composable
45+
@ReadOnlyComposable
4446
private fun String.toDialogContent(): String {
4547
return when (this) {
4648
Manifest.permission.POST_NOTIFICATIONS -> stringResource(id = R.string.dialog_permission_notification)

0 commit comments

Comments
 (0)