|
|
@ -17,11 +17,15 @@ |
|
|
|
package io.element.android.appnav.root |
|
|
|
package io.element.android.appnav.root |
|
|
|
|
|
|
|
|
|
|
|
import androidx.compose.runtime.Composable |
|
|
|
import androidx.compose.runtime.Composable |
|
|
|
|
|
|
|
import androidx.compose.runtime.LaunchedEffect |
|
|
|
import androidx.compose.runtime.collectAsState |
|
|
|
import androidx.compose.runtime.collectAsState |
|
|
|
import androidx.compose.runtime.getValue |
|
|
|
import androidx.compose.runtime.getValue |
|
|
|
|
|
|
|
import im.vector.app.features.analytics.plan.SuperProperties |
|
|
|
import io.element.android.features.rageshake.api.crash.CrashDetectionPresenter |
|
|
|
import io.element.android.features.rageshake.api.crash.CrashDetectionPresenter |
|
|
|
import io.element.android.features.rageshake.api.detection.RageshakeDetectionPresenter |
|
|
|
import io.element.android.features.rageshake.api.detection.RageshakeDetectionPresenter |
|
|
|
import io.element.android.libraries.architecture.Presenter |
|
|
|
import io.element.android.libraries.architecture.Presenter |
|
|
|
|
|
|
|
import io.element.android.libraries.matrix.api.SdkMetadata |
|
|
|
|
|
|
|
import io.element.android.services.analytics.api.AnalyticsService |
|
|
|
import io.element.android.services.apperror.api.AppErrorStateService |
|
|
|
import io.element.android.services.apperror.api.AppErrorStateService |
|
|
|
import javax.inject.Inject |
|
|
|
import javax.inject.Inject |
|
|
|
|
|
|
|
|
|
|
@ -29,6 +33,8 @@ class RootPresenter @Inject constructor( |
|
|
|
private val crashDetectionPresenter: CrashDetectionPresenter, |
|
|
|
private val crashDetectionPresenter: CrashDetectionPresenter, |
|
|
|
private val rageshakeDetectionPresenter: RageshakeDetectionPresenter, |
|
|
|
private val rageshakeDetectionPresenter: RageshakeDetectionPresenter, |
|
|
|
private val appErrorStateService: AppErrorStateService, |
|
|
|
private val appErrorStateService: AppErrorStateService, |
|
|
|
|
|
|
|
private val analyticsService: AnalyticsService, |
|
|
|
|
|
|
|
private val sdkMetadata: SdkMetadata, |
|
|
|
) : Presenter<RootState> { |
|
|
|
) : Presenter<RootState> { |
|
|
|
@Composable |
|
|
|
@Composable |
|
|
|
override fun present(): RootState { |
|
|
|
override fun present(): RootState { |
|
|
@ -36,6 +42,16 @@ class RootPresenter @Inject constructor( |
|
|
|
val crashDetectionState = crashDetectionPresenter.present() |
|
|
|
val crashDetectionState = crashDetectionPresenter.present() |
|
|
|
val appErrorState by appErrorStateService.appErrorStateFlow.collectAsState() |
|
|
|
val appErrorState by appErrorStateService.appErrorStateFlow.collectAsState() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LaunchedEffect(Unit) { |
|
|
|
|
|
|
|
analyticsService.updateSuperProperties( |
|
|
|
|
|
|
|
SuperProperties( |
|
|
|
|
|
|
|
cryptoSDK = SuperProperties.CryptoSDK.Rust, |
|
|
|
|
|
|
|
appPlatform = SuperProperties.AppPlatform.EXA, |
|
|
|
|
|
|
|
cryptoSDKVersion = sdkMetadata.sdkGitSha, |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return RootState( |
|
|
|
return RootState( |
|
|
|
rageshakeDetectionState = rageshakeDetectionState, |
|
|
|
rageshakeDetectionState = rageshakeDetectionState, |
|
|
|
crashDetectionState = crashDetectionState, |
|
|
|
crashDetectionState = crashDetectionState, |
|
|
|