diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt index 0927e193ad..e3f90943c1 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt @@ -27,20 +27,18 @@ import io.element.android.libraries.usersearch.api.UserRepository import javax.inject.Inject class AddPeoplePresenter @Inject constructor( - private val userListPresenterFactory: UserListPresenter.Factory, - private val userRepository: UserRepository, - private val dataStore: CreateRoomDataStore, + userListPresenterFactory: UserListPresenter.Factory, + userRepository: UserRepository, + dataStore: CreateRoomDataStore, ) : Presenter { - private val userListPresenter by lazy { - userListPresenterFactory.create( - UserListPresenterArgs( - selectionMode = SelectionMode.Multiple, - ), - userRepository, - dataStore.selectedUserListDataStore, - ) - } + private val userListPresenter = userListPresenterFactory.create( + UserListPresenterArgs( + selectionMode = SelectionMode.Multiple, + ), + userRepository, + dataStore.selectedUserListDataStore, + ) @Composable override fun present(): UserListState { diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt index 20d3309a5f..839e4cd69e 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt @@ -40,23 +40,21 @@ import kotlinx.coroutines.launch import javax.inject.Inject class CreateRoomRootPresenter @Inject constructor( - private val presenterFactory: UserListPresenter.Factory, - private val userRepository: UserRepository, - private val userListDataStore: UserListDataStore, + presenterFactory: UserListPresenter.Factory, + userRepository: UserRepository, + userListDataStore: UserListDataStore, private val matrixClient: MatrixClient, private val analyticsService: AnalyticsService, private val buildMeta: BuildMeta, ) : Presenter { - private val presenter by lazy { - presenterFactory.create( - UserListPresenterArgs( - selectionMode = SelectionMode.Single, - ), - userRepository, - userListDataStore, - ) - } + private val presenter = presenterFactory.create( + UserListPresenterArgs( + selectionMode = SelectionMode.Single, + ), + userRepository, + userListDataStore, + ) @Composable override fun present(): CreateRoomRootState { diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInNode.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInNode.kt index 00fbb10b1f..5d514af8a9 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInNode.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInNode.kt @@ -32,18 +32,16 @@ import io.element.android.libraries.di.AppScope class NotificationsOptInNode @AssistedInject constructor( @Assisted buildContext: BuildContext, @Assisted plugins: List, - private val presenterFactory: NotificationsOptInPresenter.Factory, + presenterFactory: NotificationsOptInPresenter.Factory, ) : Node(buildContext, plugins = plugins) { - interface Callback: NodeInputs { + interface Callback : NodeInputs { fun onNotificationsOptInFinished() } private val callback = inputs() - private val presenter: NotificationsOptInPresenter by lazy { - presenterFactory.create(callback) - } + private val presenter: NotificationsOptInPresenter = presenterFactory.create(callback) @Composable override fun View(modifier: Modifier) { diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInPresenter.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInPresenter.kt index 43bdaa3732..5d3ac6c88f 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInPresenter.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInPresenter.kt @@ -34,7 +34,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch class NotificationsOptInPresenter @AssistedInject constructor( - private val permissionsPresenterFactory: PermissionsPresenter.Factory, + permissionsPresenterFactory: PermissionsPresenter.Factory, @Assisted private val callback: NotificationsOptInNode.Callback, private val appCoroutineScope: CoroutineScope, private val permissionStateProvider: PermissionStateProvider, @@ -46,14 +46,13 @@ class NotificationsOptInPresenter @AssistedInject constructor( fun create(callback: NotificationsOptInNode.Callback): NotificationsOptInPresenter } - private val postNotificationPermissionsPresenter by lazy { + private val postNotificationPermissionsPresenter: PermissionsPresenter = // Ask for POST_NOTIFICATION PERMISSION on Android 13+ if (buildVersionSdkIntProvider.isAtLeast(Build.VERSION_CODES.TIRAMISU)) { permissionsPresenterFactory.create(Manifest.permission.POST_NOTIFICATIONS) } else { NoopPermissionsPresenter() } - } @Composable override fun present(): NotificationsOptInState { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 4af729ccaf..6e47e90dcd 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -40,7 +40,6 @@ import io.element.android.libraries.matrix.api.room.StateEventType import io.element.android.libraries.matrix.api.room.location.AssetType import io.element.android.libraries.matrix.api.room.roomMembers import io.element.android.libraries.matrix.api.room.roomNotificationSettings -import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import io.element.android.libraries.matrix.api.widget.MatrixWidgetDriver import io.element.android.libraries.matrix.api.widget.MatrixWidgetSettings import io.element.android.libraries.matrix.impl.core.toProgressWatcher @@ -126,23 +125,19 @@ class RustMatrixRoom( private val _roomNotificationSettingsStateFlow = MutableStateFlow(MatrixRoomNotificationSettingsState.Unknown) override val roomNotificationSettingsStateFlow: StateFlow = _roomNotificationSettingsStateFlow - private val _timeline by lazy { - RustMatrixTimeline( - matrixRoom = this, - innerRoom = innerRoom, - roomCoroutineScope = roomCoroutineScope, - dispatcher = roomDispatcher, - lastLoginTimestamp = sessionData.loginTimestamp, - onNewSyncedEvent = { _syncUpdateFlow.value = systemClock.epochMillis() } - ) - } + override val timeline = RustMatrixTimeline( + matrixRoom = this, + innerRoom = innerRoom, + roomCoroutineScope = roomCoroutineScope, + dispatcher = roomDispatcher, + lastLoginTimestamp = sessionData.loginTimestamp, + onNewSyncedEvent = { _syncUpdateFlow.value = systemClock.epochMillis() } + ) override val membersStateFlow: StateFlow = _membersStateFlow.asStateFlow() override val syncUpdateFlow: StateFlow = _syncUpdateFlow.asStateFlow() - override val timeline: MatrixTimeline = _timeline - override suspend fun subscribeToSync() = roomSyncSubscriber.subscribe(roomId) override suspend fun unsubscribeFromSync() = roomSyncSubscriber.unsubscribe(roomId)