File tree Expand file tree Collapse file tree 1 file changed +16
-16
lines changed
common/src/commonMain/kotlin/com/blockstream/domain/banner Expand file tree Collapse file tree 1 file changed +16
-16
lines changed Original file line number Diff line number Diff line change @@ -12,24 +12,24 @@ class GetBannerUseCase() {
1212 ): Banner ? {
1313
1414 return withContext(context = Dispatchers .Default ) {
15- banners?.filterNot {
16- // Filter closed banners
15+ val afterExcludedFilter = banners?.filterNot {
1716 excludedBanners.contains(it)
18- }?.filterNot {
19- // Filter networks (get networks from all accounts to also match greenlight)
20- (! it.hasNetworks || ((it.networks ? : listOf ()).intersect(
21- sessionOrNull?.allAccounts?.value?.map { it.networkId }?.toSet() ? : emptySet()
22- ).isNotEmpty()))
23- }?.filterNot {
24- // Filter based on screen name
25- (it.screens?.contains(screenName) == true || it.screens?.contains(" *" ) == true )
26- }?.filter {
27- // Filter based on screen name
28- (it.screens?.contains(screenName) == true || it.screens?.contains(" *" ) == true )
29- }?.shuffled()?.let {
30- // Search for the already displayed banner, else give priority to those with screen name, else "*"
17+ }
18+
19+ val activeNetworks = sessionOrNull?.activeSessions?.map { it.network }?.toMutableList() ? : mutableListOf ()
20+ sessionOrNull?.lightning?.network?.also { activeNetworks.add(it) }
21+
22+ val afterNetworkFilter = afterExcludedFilter?.filter { banner ->
23+ ! banner.hasNetworks || ((banner.networks ? : listOf ()).intersect(activeNetworks.toSet()).isNotEmpty())
24+ }
25+
26+ val afterScreenFilter = afterNetworkFilter?.filter { banner ->
27+ (banner.screens?.contains(screenName) == true || banner.screens?.contains(" *" ) == true )
28+ }
29+
30+ afterScreenFilter?.shuffled()?.let {
3131 it.find { it == previousBanner } ? : it.find { it.screens?.contains(screenName) == true } ? : it.firstOrNull()
3232 }
3333 }
3434 }
35- }
35+ }
You can’t perform that action at this time.
0 commit comments