Skip to content

Commit 413ba13

Browse files
committed
Fix crash if provider is removed
1 parent 04d9fb7 commit 413ba13

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

android/app/src/main/kotlin/net/mullvad/mullvadvpn/usecase/FilterChipUseCase.kt

+12-5
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class FilterChipUseCase(
3737
filterChips(
3838
selectedOwnership = selectedOwnership,
3939
selectedConstraintProviders = selectedConstraintProviders,
40-
providerOwnershipRelationship = providerOwnership,
40+
providerToOwnerships = providerOwnership,
4141
daitaDirectOnly = settings?.daitaAndDirectOnly() == true,
4242
isMultihopEnabled = wireguardConstraints?.isMultihopEnabled == true,
4343
relayListType = relayListType,
@@ -47,7 +47,7 @@ class FilterChipUseCase(
4747
private fun filterChips(
4848
selectedOwnership: Constraint<Ownership>,
4949
selectedConstraintProviders: Constraint<Providers>,
50-
providerOwnershipRelationship: Map<ProviderId, Set<Ownership>>,
50+
providerToOwnerships: Map<ProviderId, Set<Ownership>>,
5151
daitaDirectOnly: Boolean,
5252
isMultihopEnabled: Boolean,
5353
relayListType: RelayListType,
@@ -62,9 +62,16 @@ class FilterChipUseCase(
6262
if (ownershipFilter == null) {
6363
true
6464
} else {
65-
providerOwnershipRelationship[providerId]!!.contains(
66-
ownershipFilter
67-
)
65+
val providerOwnerships = providerToOwnerships[providerId]
66+
// If the provider has been removed from the relay list we add it
67+
// so it is visible for the user. Because we won't know what
68+
// ownerships it
69+
// had
70+
if (providerOwnerships == null) {
71+
true
72+
} else {
73+
providerOwnerships.contains(ownershipFilter)
74+
}
6875
}
6976
}
7077
.size

0 commit comments

Comments
 (0)