From 4a143c10537a3c7b1e9b2e8193179371b1b16297 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 18 Jun 2026 20:22:09 +0200 Subject: [PATCH] Format code --- .../impl/root/PreferencesRootStateProvider.kt | 2 -- .../impl/root/PreferencesRootView.kt | 2 +- .../impl/userstatus/UserStatusPresenter.kt | 1 - .../impl/userstatus/UserStatusView.kt | 29 ++++++++++++------- .../userstatus/UserStatusPresenterTest.kt | 1 - .../libraries/matrix/api/MatrixClient.kt | 1 + 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt index 8e931d37be..0abed1f66f 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt @@ -11,14 +11,12 @@ package io.element.android.features.preferences.impl.root import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.logout.api.direct.DirectLogoutState import io.element.android.features.logout.api.direct.aDirectLogoutState -import io.element.android.features.preferences.impl.userstatus.PredefinedUserStatus import io.element.android.features.preferences.impl.userstatus.UserStatusPickerState import io.element.android.features.preferences.impl.userstatus.UserStatusState import io.element.android.features.preferences.impl.userstatus.aUserStatusState import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.user.MatrixUser -import io.element.android.libraries.matrix.api.user.UserStatus import io.element.android.libraries.matrix.ui.components.aMatrixUser import io.element.android.libraries.matrix.ui.components.aMatrixUserList import io.element.android.libraries.ui.strings.CommonStrings diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt index 5baf01d960..324f0a9773 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt @@ -137,7 +137,7 @@ private fun ColumnScope.UserStatusSection( userStatusState: UserStatusState, showTopDivider: Boolean, ) { - if(showTopDivider) { + if (showTopDivider) { HorizontalDivider( thickness = 8.dp, color = ElementTheme.colors.bgSubtleSecondary, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenter.kt index e5c22fd568..fac82d4505 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenter.kt @@ -27,7 +27,6 @@ import kotlinx.coroutines.launch class UserStatusPresenter( private val matrixClient: MatrixClient, ) : Presenter { - @Composable override fun present(): UserStatusState { val userProfile by matrixClient.userProfile.collectAsState() diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt index 7856be468a..f7d37f0adf 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt @@ -23,22 +23,22 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.minimumInteractiveComponentSize import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.remember -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.ui.focus.FocusRequester -import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.layout.Layout import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.Constraints import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.Constraints import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons @@ -51,11 +51,11 @@ import io.element.android.libraries.designsystem.theme.components.IconButton import io.element.android.libraries.designsystem.theme.components.IconSource import io.element.android.libraries.designsystem.theme.components.ListItem import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet -import io.element.android.libraries.designsystem.theme.components.hide import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.designsystem.theme.components.TextField +import io.element.android.libraries.designsystem.theme.components.hide import io.element.android.libraries.matrix.api.user.DisplayedStatus import io.element.android.libraries.matrix.api.user.UserStatus import io.element.android.libraries.ui.strings.CommonStrings @@ -178,13 +178,17 @@ private fun UserStatusPickerBottomSheet( ListItem( headlineContent = { Text(text = label) }, leadingContent = ListItemContent.Text(text = predefined.emoji), - trailingContent = if (isSelected) ListItemContent.Custom({ + trailingContent = if (isSelected) { + ListItemContent.Custom({ Icon( imageVector = CompoundIcons.Check(), contentDescription = null, tint = ElementTheme.colors.iconAccentPrimary, ) - }) else null, + }) + } else { + null + }, onClick = { sheetState.hide(coroutineScope) { onSelectPredefined(predefinedUserStatus) @@ -249,7 +253,9 @@ private fun CustomStatusInputRow( ) } } - } else null + } else { + null + } ) }, trailingContent = ListItemContent.Custom({ @@ -265,8 +271,11 @@ private fun CustomStatusInputRow( val maxWidth = placeables.maxOf { it.width } val maxHeight = placeables.maxOf { it.height } layout(maxWidth, maxHeight) { - if (hasChanges) placeables[0].placeRelative(0, 0) - else placeables[1].placeRelative(0, 0) + if (hasChanges) { + placeables[0].placeRelative(0, 0) + } else { + placeables[1].placeRelative(0, 0) + } } } }), diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenterTest.kt index 455aefe180..4a03a22607 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusPresenterTest.kt @@ -18,7 +18,6 @@ import kotlinx.coroutines.test.runTest import org.junit.Test class UserStatusPresenterTest { - private fun createPresenter(client: FakeMatrixClient = FakeMatrixClient()) = UserStatusPresenter(matrixClient = client) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index 001bac0d30..e7d010d510 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -86,6 +86,7 @@ interface MatrixClient { suspend fun uploadAvatar(mimeType: String, data: ByteArray): Result suspend fun removeAvatar(): Result suspend fun setUserStatus(status: UserStatus): Result + /** Clears both m.status and m.call profile fields (maps to DELETE on the profile endpoint per MSC4426). */ suspend fun clearUserStatus(): Result suspend fun joinRoom(roomId: RoomId): Result