Skip to content

Commit c813da2

Browse files
committed
Refactor usecase
1 parent 68a178c commit c813da2

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
package net.mullvad.mullvadvpn.usecase.customlists
22

33
import kotlinx.coroutines.flow.combine
4-
import net.mullvad.mullvadvpn.lib.model.Constraint
5-
import net.mullvad.mullvadvpn.lib.model.Ownership
6-
import net.mullvad.mullvadvpn.lib.model.Providers
7-
import net.mullvad.mullvadvpn.lib.model.RelayItem
8-
import net.mullvad.mullvadvpn.relaylist.filterOnOwnershipAndProvider
94
import net.mullvad.mullvadvpn.relaylist.toRelayItemCustomList
105
import net.mullvad.mullvadvpn.repository.CustomListsRepository
11-
import net.mullvad.mullvadvpn.repository.RelayListFilterRepository
126
import net.mullvad.mullvadvpn.repository.RelayListRepository
137

148
class CustomListsRelayItemUseCase(
@@ -23,23 +17,3 @@ class CustomListsRelayItemUseCase(
2317
customLists?.map { it.toRelayItemCustomList(relayList) } ?: emptyList()
2418
}
2519
}
26-
27-
class FilterCustomListsRelayItemUseCase(
28-
private val customListsRelayItemUseCase: CustomListsRelayItemUseCase,
29-
private val relayListFilterRepository: RelayListFilterRepository
30-
) {
31-
32-
operator fun invoke() =
33-
combine(
34-
customListsRelayItemUseCase(),
35-
relayListFilterRepository.selectedOwnership,
36-
relayListFilterRepository.selectedProviders,
37-
) { customLists, selectedOwnership, selectedProviders ->
38-
customLists.filterOnOwnershipAndProvider(selectedOwnership, selectedProviders)
39-
}
40-
41-
private fun List<RelayItem.CustomList>.filterOnOwnershipAndProvider(
42-
ownership: Constraint<Ownership>,
43-
providers: Constraint<Providers>
44-
) = mapNotNull { it.filterOnOwnershipAndProvider(ownership, providers) }
45-
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package net.mullvad.mullvadvpn.usecase.customlists
2+
3+
import kotlinx.coroutines.flow.combine
4+
import net.mullvad.mullvadvpn.lib.model.Constraint
5+
import net.mullvad.mullvadvpn.lib.model.Ownership
6+
import net.mullvad.mullvadvpn.lib.model.Providers
7+
import net.mullvad.mullvadvpn.lib.model.RelayItem
8+
import net.mullvad.mullvadvpn.relaylist.filterOnOwnershipAndProvider
9+
import net.mullvad.mullvadvpn.repository.RelayListFilterRepository
10+
import kotlin.collections.mapNotNull
11+
12+
class FilterCustomListsRelayItemUseCase(
13+
private val customListsRelayItemUseCase: CustomListsRelayItemUseCase,
14+
private val relayListFilterRepository: RelayListFilterRepository
15+
) {
16+
17+
operator fun invoke() =
18+
combine(
19+
customListsRelayItemUseCase(),
20+
relayListFilterRepository.selectedOwnership,
21+
relayListFilterRepository.selectedProviders,
22+
) { customLists, selectedOwnership, selectedProviders ->
23+
customLists.filterOnOwnershipAndProvider(selectedOwnership, selectedProviders)
24+
}
25+
26+
private fun List<RelayItem.CustomList>.filterOnOwnershipAndProvider(
27+
ownership: Constraint<Ownership>,
28+
providers: Constraint<Providers>
29+
) = mapNotNull { it.filterOnOwnershipAndProvider(ownership, providers) }
30+
}

0 commit comments

Comments
 (0)