Skip to content

Commit 8e24d59

Browse files
authored
Merge pull request #1436 from vector-im/feature/bma/mutableIntFloat
Mutable int float
2 parents f607b55 + 702c137 commit 8e24d59

File tree

8 files changed

+31
-26
lines changed

8 files changed

+31
-26
lines changed

features/location/api/src/main/kotlin/io/element/android/features/location/api/StaticMapView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import androidx.compose.foundation.layout.BoxWithConstraints
2121
import androidx.compose.foundation.layout.size
2222
import androidx.compose.runtime.Composable
2323
import androidx.compose.runtime.getValue
24-
import androidx.compose.runtime.mutableStateOf
24+
import androidx.compose.runtime.mutableIntStateOf
2525
import androidx.compose.runtime.remember
2626
import androidx.compose.runtime.setValue
2727
import androidx.compose.ui.Alignment
@@ -64,7 +64,7 @@ fun StaticMapView(
6464
contentAlignment = Alignment.Center
6565
) {
6666
val context = LocalContext.current
67-
var retryHash by remember { mutableStateOf(0) }
67+
var retryHash by remember { mutableIntStateOf(0) }
6868
val builder = remember { StaticMapUrlBuilder(context) }
6969
val painter = rememberAsyncImagePainter(
7070
model = if (constraints.isZero) {

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/waitlistscreen/WaitListPresenter.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package io.element.android.features.login.impl.screens.waitlistscreen
1818

1919
import androidx.compose.runtime.Composable
2020
import androidx.compose.runtime.MutableState
21+
import androidx.compose.runtime.mutableIntStateOf
2122
import androidx.compose.runtime.mutableStateOf
2223
import androidx.compose.runtime.remember
2324
import androidx.compose.runtime.rememberCoroutineScope
@@ -58,14 +59,14 @@ class WaitListPresenter @AssistedInject constructor(
5859
mutableStateOf(Async.Uninitialized)
5960
}
6061

61-
val attemptNumber: MutableState<Int> = remember { mutableStateOf(0) }
62+
val attemptNumber = remember { mutableIntStateOf(0) }
6263

6364
fun handleEvents(event: WaitListEvents) {
6465
when (event) {
6566
WaitListEvents.AttemptLogin -> {
6667
// Do not attempt to login on first resume of the View.
67-
attemptNumber.value++
68-
if (attemptNumber.value > 1) {
68+
attemptNumber.intValue++
69+
if (attemptNumber.intValue > 1) {
6970
coroutineScope.loginAttempt(formState, loginAction)
7071
}
7172
}

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerPresenter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import androidx.compose.runtime.Composable
2121
import androidx.compose.runtime.DisposableEffect
2222
import androidx.compose.runtime.MutableState
2323
import androidx.compose.runtime.getValue
24+
import androidx.compose.runtime.mutableIntStateOf
2425
import androidx.compose.runtime.mutableStateOf
2526
import androidx.compose.runtime.remember
2627
import androidx.compose.runtime.rememberCoroutineScope
@@ -59,7 +60,7 @@ class MediaViewerPresenter @AssistedInject constructor(
5960
@Composable
6061
override fun present(): MediaViewerState {
6162
val coroutineScope = rememberCoroutineScope()
62-
var loadMediaTrigger by remember { mutableStateOf(0) }
63+
var loadMediaTrigger by remember { mutableIntStateOf(0) }
6364
val mediaFile: MutableState<MediaFile?> = remember {
6465
mutableStateOf(null)
6566
}

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ fun TimelineItemEventRow(
147147
}
148148
if (canReply) {
149149
val state: SwipeableActionsState = rememberSwipeableActionsState()
150-
val offset = state.offset.value
150+
val offset = state.offset.floatValue
151151
val swipeThresholdPx = 40.dp.toPx()
152152
val thresholdCrossed = abs(offset) > swipeThresholdPx
153153
SwipeSensitivity(3f) {

features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportPresenter.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
package io.element.android.features.rageshake.impl.bugreport
1818

1919
import androidx.compose.runtime.Composable
20+
import androidx.compose.runtime.MutableFloatState
2021
import androidx.compose.runtime.MutableState
2122
import androidx.compose.runtime.collectAsState
2223
import androidx.compose.runtime.getValue
24+
import androidx.compose.runtime.mutableFloatStateOf
2325
import androidx.compose.runtime.mutableStateOf
2426
import androidx.compose.runtime.remember
2527
import androidx.compose.runtime.saveable.rememberSaveable
@@ -43,27 +45,27 @@ class BugReportPresenter @Inject constructor(
4345
) : Presenter<BugReportState> {
4446

4547
private class BugReporterUploadListener(
46-
private val sendingProgress: MutableState<Float>,
48+
private val sendingProgress: MutableFloatState,
4749
private val sendingAction: MutableState<Async<Unit>>
4850
) : BugReporterListener {
4951

5052
override fun onUploadCancelled() {
51-
sendingProgress.value = 0f
53+
sendingProgress.floatValue = 0f
5254
sendingAction.value = Async.Uninitialized
5355
}
5456

5557
override fun onUploadFailed(reason: String?) {
56-
sendingProgress.value = 0f
58+
sendingProgress.floatValue = 0f
5759
sendingAction.value = Async.Failure(Exception(reason))
5860
}
5961

6062
override fun onProgress(progress: Int) {
61-
sendingProgress.value = progress.toFloat() / 100
63+
sendingProgress.floatValue = progress.toFloat() / 100
6264
sendingAction.value = Async.Loading()
6365
}
6466

6567
override fun onUploadSucceed(reportUrl: String?) {
66-
sendingProgress.value = 0f
68+
sendingProgress.floatValue = 0f
6769
sendingAction.value = Async.Success(Unit)
6870
}
6971
}
@@ -80,7 +82,7 @@ class BugReportPresenter @Inject constructor(
8082
.collectAsState(initial = "")
8183

8284
val sendingProgress = remember {
83-
mutableStateOf(0f)
85+
mutableFloatStateOf(0f)
8486
}
8587
val sendingAction: MutableState<Async<Unit>> = remember {
8688
mutableStateOf(Async.Uninitialized)
@@ -107,15 +109,15 @@ class BugReportPresenter @Inject constructor(
107109
copy(sendScreenshot = event.sendScreenshot)
108110
}
109111
BugReportEvents.ClearError -> {
110-
sendingProgress.value = 0f
112+
sendingProgress.floatValue = 0f
111113
sendingAction.value = Async.Uninitialized
112114
}
113115
}
114116
}
115117

116118
return BugReportState(
117119
hasCrashLogs = crashInfo.isNotEmpty(),
118-
sendingProgress = sendingProgress.value,
120+
sendingProgress = sendingProgress.floatValue,
119121
sending = sendingAction.value,
120122
formState = formState.value,
121123
screenshotUri = screenshotUri.value,

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/swipe/SwipeableActionsState.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ import androidx.compose.animation.core.tween
2121
import androidx.compose.foundation.MutatePriority
2222
import androidx.compose.foundation.gestures.DraggableState
2323
import androidx.compose.runtime.Composable
24+
import androidx.compose.runtime.FloatState
2425
import androidx.compose.runtime.Stable
25-
import androidx.compose.runtime.State
2626
import androidx.compose.runtime.getValue
27+
import androidx.compose.runtime.mutableFloatStateOf
2728
import androidx.compose.runtime.mutableStateOf
2829
import androidx.compose.runtime.remember
2930
import androidx.compose.runtime.setValue
@@ -41,8 +42,8 @@ class SwipeableActionsState {
4142
/**
4243
* The current position (in pixels) of the content.
4344
*/
44-
val offset: State<Float> get() = offsetState
45-
private var offsetState = mutableStateOf(0f)
45+
val offset: FloatState get() = offsetState
46+
private var offsetState = mutableFloatStateOf(0f)
4647

4748
/**
4849
* Whether the content is currently animating to reset its offset after it was swiped.
@@ -51,21 +52,21 @@ class SwipeableActionsState {
5152
private set
5253

5354
val draggableState = DraggableState { delta ->
54-
val targetOffset = offsetState.value + delta
55+
val targetOffset = offsetState.floatValue + delta
5556
val isAllowed = isResettingOnRelease || targetOffset > 0f
5657

57-
offsetState.value += if (isAllowed) delta else 0f
58+
offsetState.floatValue += if (isAllowed) delta else 0f
5859
}
5960

6061
suspend fun resetOffset() {
6162
draggableState.drag(MutatePriority.PreventUserInput) {
6263
isResettingOnRelease = true
6364
try {
64-
Animatable(offsetState.value).animateTo(
65+
Animatable(offsetState.floatValue).animateTo(
6566
targetValue = 0f,
6667
animationSpec = tween(durationMillis = 300),
6768
) {
68-
dragBy(value - offsetState.value)
69+
dragBy(value - offsetState.floatValue)
6970
}
7071
} finally {
7172
isResettingOnRelease = false

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import androidx.compose.material3.SliderColors
2222
import androidx.compose.material3.SliderDefaults
2323
import androidx.compose.runtime.Composable
2424
import androidx.compose.runtime.getValue
25-
import androidx.compose.runtime.mutableStateOf
25+
import androidx.compose.runtime.mutableFloatStateOf
2626
import androidx.compose.runtime.remember
2727
import androidx.compose.runtime.setValue
2828
import androidx.compose.ui.Modifier
@@ -62,7 +62,7 @@ internal fun SlidersPreview() = ElementThemedPreview { ContentToPreview() }
6262

6363
@Composable
6464
private fun ContentToPreview() {
65-
var value by remember { mutableStateOf(0.33f) }
65+
var value by remember { mutableFloatStateOf(0.33f) }
6666
Column {
6767
Slider(onValueChange = { value = it }, value = value, enabled = true)
6868
Slider(steps = 10, onValueChange = { value = it }, value = value, enabled = true)

libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUsersList.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import androidx.compose.runtime.Composable
2929
import androidx.compose.runtime.LaunchedEffect
3030
import androidx.compose.runtime.derivedStateOf
3131
import androidx.compose.runtime.getValue
32-
import androidx.compose.runtime.mutableStateOf
32+
import androidx.compose.runtime.mutableIntStateOf
3333
import androidx.compose.runtime.remember
3434
import androidx.compose.runtime.saveable.rememberSaveable
3535
import androidx.compose.runtime.setValue
@@ -55,7 +55,7 @@ fun SelectedUsersList(
5555
) {
5656
val lazyListState = rememberLazyListState()
5757
if (autoScroll) {
58-
var currentSize by rememberSaveable { mutableStateOf(selectedUsers.size) }
58+
var currentSize by rememberSaveable { mutableIntStateOf(selectedUsers.size) }
5959
LaunchedEffect(selectedUsers.size) {
6060
val isItemAdded = selectedUsers.size > currentSize
6161
if (isItemAdded) {

0 commit comments

Comments
 (0)