Skip to content

Commit 1b1533f

Browse files
committed
fix: handle UnsatisfiedLinkError and update E2EI state management
1 parent 9c84e2c commit 1b1533f

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

app/src/main/kotlin/com/wire/android/media/audiomessage/AudioWavesMaskHelper.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ class AudioWavesMaskHelper @Inject constructor(
4141
@Suppress("TooGenericExceptionCaught")
4242
private fun getAmplituda(): Amplituda? = try {
4343
amplituda.get()
44+
} catch (e: UnsatisfiedLinkError) {
45+
null
4446
} catch (e: NullPointerException) {
4547
null
4648
}

app/src/main/kotlin/com/wire/android/ui/settings/devices/DeviceDetailsViewModel.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class DeviceDetailsViewModel @Inject constructor(
7575
private val observeUserInfo: ObserveUserInfoUseCase,
7676
private val mlsClientIdentity: GetMLSClientIdentityUseCase,
7777
private val breakSession: BreakSessionUseCase,
78-
isE2EIEnabledUseCase: IsE2EIEnabledUseCase
78+
private val isE2EIEnabledUseCase: IsE2EIEnabledUseCase
7979
) : SavedStateViewModel(savedStateHandle) {
8080

8181
private val deviceDetailsNavArgs: DeviceDetailsNavArgs = savedStateHandle.navArgs()
@@ -86,7 +86,6 @@ class DeviceDetailsViewModel @Inject constructor(
8686
var state: DeviceDetailsState by mutableStateOf(
8787
DeviceDetailsState(
8888
isSelfClient = isSelfClient,
89-
isE2EIEnabled = isE2EIEnabledUseCase()
9089
)
9190
)
9291
private set
@@ -97,6 +96,15 @@ class DeviceDetailsViewModel @Inject constructor(
9796
observeUserName()
9897
getE2eiCertificate()
9998
observePasswordTextChanges()
99+
getIsE2EIEnabled()
100+
}
101+
102+
private fun getIsE2EIEnabled() {
103+
viewModelScope.launch {
104+
isE2EIEnabledUseCase().let {
105+
state = state.copy(isE2EIEnabled = it)
106+
}
107+
}
100108
}
101109

102110
private val isSelfClient: Boolean

app/src/main/kotlin/com/wire/android/ui/settings/devices/SelfDevicesViewModel.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ class SelfDevicesViewModel @Inject constructor(
4747
private val observeClientList: ObserveClientsByUserIdUseCase,
4848
private val currentClientIdUseCase: ObserveCurrentClientIdUseCase,
4949
private val getUserE2eiCertificates: GetUserE2eiCertificatesUseCase,
50-
isE2EIEnabledUseCase: IsE2EIEnabledUseCase
50+
private val isE2EIEnabledUseCase: IsE2EIEnabledUseCase
5151
) : ViewModel() {
5252

5353
var state: SelfDevicesState by mutableStateOf(
54-
SelfDevicesState(deviceList = listOf(), isLoadingClientsList = true, currentDevice = null, isE2EIEnabled = isE2EIEnabledUseCase())
54+
SelfDevicesState(deviceList = listOf(), isLoadingClientsList = true, currentDevice = null)
5555
)
5656
private set
5757

@@ -61,6 +61,15 @@ class SelfDevicesViewModel @Inject constructor(
6161
init {
6262
observeClientList()
6363
updateSelfClientsListFromRemote()
64+
getIsE2EIEnabled()
65+
}
66+
67+
private fun getIsE2EIEnabled() {
68+
viewModelScope.launch {
69+
isE2EIEnabledUseCase().let {
70+
state = state.copy(isE2EIEnabled = it)
71+
}
72+
}
6473
}
6574

6675
private fun updateSelfClientsListFromRemote() {

kalium

Submodule kalium updated 31 files

0 commit comments

Comments
 (0)