Annotate Composable function with ReadOnlyComposable where it's possible. (#4859)
This commit is contained in:
parent
9273542363
commit
cfa48d1df7
8 changed files with 24 additions and 0 deletions
|
|
@ -19,6 +19,7 @@ import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
|
@ -124,6 +125,7 @@ private fun SetupPinContent(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
private fun SetupPinFailure.content(): String {
|
private fun SetupPinFailure.content(): String {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
SetupPinFailure.ForbiddenPin -> stringResource(id = R.string.screen_app_lock_setup_pin_forbidden_dialog_content)
|
SetupPinFailure.ForbiddenPin -> stringResource(id = R.string.screen_app_lock_setup_pin_forbidden_dialog_content)
|
||||||
|
|
@ -132,6 +134,7 @@ private fun SetupPinFailure.content(): String {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
private fun SetupPinFailure.title(): String {
|
private fun SetupPinFailure.title(): String {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
SetupPinFailure.ForbiddenPin -> stringResource(id = R.string.screen_app_lock_setup_pin_forbidden_dialog_title)
|
SetupPinFailure.ForbiddenPin -> stringResource(id = R.string.screen_app_lock_setup_pin_forbidden_dialog_title)
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ package io.element.android.features.login.impl.error
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import io.element.android.features.login.impl.R
|
import io.element.android.features.login.impl.R
|
||||||
import io.element.android.features.login.impl.changeserver.UnauthorizedAccountProviderException
|
import io.element.android.features.login.impl.changeserver.UnauthorizedAccountProviderException
|
||||||
|
|
@ -21,6 +22,7 @@ sealed class ChangeServerError : Throwable() {
|
||||||
val messageStr: String? = null,
|
val messageStr: String? = null,
|
||||||
) : ChangeServerError() {
|
) : ChangeServerError() {
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun message(): String = messageStr ?: stringResource(messageId ?: CommonStrings.error_unknown)
|
fun message(): String = messageStr ?: stringResource(messageId ?: CommonStrings.error_unknown)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import androidx.compose.material3.ListItemDefaults
|
||||||
import androidx.compose.material3.rememberModalBottomSheetState
|
import androidx.compose.material3.rememberModalBottomSheetState
|
||||||
import androidx.compose.material3.ripple
|
import androidx.compose.material3.ripple
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
|
|
@ -394,6 +395,7 @@ private fun VerifiedUserSendFailureView(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun VerifiedUserSendFailure.headline(): String {
|
fun VerifiedUserSendFailure.headline(): String {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
is None -> ""
|
is None -> ""
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
package io.element.android.features.preferences.impl.advanced
|
package io.element.android.features.preferences.impl.advanced
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import io.element.android.libraries.designsystem.components.preferences.DropdownOption
|
import io.element.android.libraries.designsystem.components.preferences.DropdownOption
|
||||||
import io.element.android.libraries.matrix.api.media.MediaPreviewValue
|
import io.element.android.libraries.matrix.api.media.MediaPreviewValue
|
||||||
|
|
@ -26,14 +27,17 @@ data class AdvancedSettingsState(
|
||||||
enum class ThemeOption : DropdownOption {
|
enum class ThemeOption : DropdownOption {
|
||||||
System {
|
System {
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
override fun getText(): String = stringResource(CommonStrings.common_system)
|
override fun getText(): String = stringResource(CommonStrings.common_system)
|
||||||
},
|
},
|
||||||
Dark {
|
Dark {
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
override fun getText(): String = stringResource(CommonStrings.common_dark)
|
override fun getText(): String = stringResource(CommonStrings.common_dark)
|
||||||
},
|
},
|
||||||
Light {
|
Light {
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
override fun getText(): String = stringResource(CommonStrings.common_light)
|
override fun getText(): String = stringResource(CommonStrings.common_light)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalDensity
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
|
@ -27,6 +28,7 @@ import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
* will be smaller.
|
* will be smaller.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun Dp.applyScaleDown(): Dp = with(LocalDensity.current) {
|
fun Dp.applyScaleDown(): Dp = with(LocalDensity.current) {
|
||||||
return this@applyScaleDown * fontScale.coerceAtMost(1f)
|
return this@applyScaleDown * fontScale.coerceAtMost(1f)
|
||||||
}
|
}
|
||||||
|
|
@ -37,6 +39,7 @@ fun Dp.applyScaleDown(): Dp = with(LocalDensity.current) {
|
||||||
* will be bigger.
|
* will be bigger.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun Dp.applyScaleUp(): Dp = with(LocalDensity.current) {
|
fun Dp.applyScaleUp(): Dp = with(LocalDensity.current) {
|
||||||
return this@applyScaleUp * fontScale.coerceAtLeast(1f)
|
return this@applyScaleUp * fontScale.coerceAtLeast(1f)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
package io.element.android.libraries.designsystem.text
|
package io.element.android.libraries.designsystem.text
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.ui.platform.LocalDensity
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.TextUnit
|
import androidx.compose.ui.unit.TextUnit
|
||||||
|
|
@ -17,6 +18,7 @@ import androidx.compose.ui.unit.TextUnit
|
||||||
* Can be used for instance to use Dp unit for text.
|
* Can be used for instance to use Dp unit for text.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun Dp.toSp(): TextUnit = with(LocalDensity.current) { toSp() }
|
fun Dp.toSp(): TextUnit = with(LocalDensity.current) { toSp() }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -24,22 +26,26 @@ fun Dp.toSp(): TextUnit = with(LocalDensity.current) { toSp() }
|
||||||
* Can be used for instance to use Sp unit for size.
|
* Can be used for instance to use Sp unit for size.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun TextUnit.toDp(): Dp = with(LocalDensity.current) { toDp() }
|
fun TextUnit.toDp(): Dp = with(LocalDensity.current) { toDp() }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert Px value to Dp, regarding current density.
|
* Convert Px value to Dp, regarding current density.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun Int.toDp(): Dp = with(LocalDensity.current) { toDp() }
|
fun Int.toDp(): Dp = with(LocalDensity.current) { toDp() }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert Dp value to pixels, regarding current density.
|
* Convert Dp value to pixels, regarding current density.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun Dp.toPx(): Float = with(LocalDensity.current) { toPx() }
|
fun Dp.toPx(): Float = with(LocalDensity.current) { toPx() }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert Dp value to pixels, regarding current density.
|
* Convert Dp value to pixels, regarding current density.
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun Dp.roundToPx(): Int = with(LocalDensity.current) { roundToPx() }
|
fun Dp.roundToPx(): Int = with(LocalDensity.current) { roundToPx() }
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,12 @@ package io.element.android.libraries.designsystem.utils
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.ui.platform.LocalDensity
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
fun WindowInsets.copy(
|
fun WindowInsets.copy(
|
||||||
top: Int? = null,
|
top: Int? = null,
|
||||||
right: Int? = null,
|
right: Int? = null,
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ package io.element.android.libraries.permissions.api
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
|
@ -41,6 +42,7 @@ fun PermissionsView(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
private fun String.toDialogContent(): String {
|
private fun String.toDialogContent(): String {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
Manifest.permission.POST_NOTIFICATIONS -> stringResource(id = R.string.dialog_permission_notification)
|
Manifest.permission.POST_NOTIFICATIONS -> stringResource(id = R.string.dialog_permission_notification)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue