Skip to content

Commit 5449ae7

Browse files
authored
Simplify service filter creation in common code (#235)
1 parent 04d29c1 commit 5449ae7

7 files changed

Lines changed: 18 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Scan results can be filtered by manufacturer data using the same ID, data, and d
6262
```kotlin
6363
val scanner = Scanner {
6464
filters = listOf(
65-
Filter.ManufacturerData(manufacturerID = 1, data = byteArrayOf(), dataMask = byteArrayOf())
65+
Filter.ManufacturerData(id = 1, data = byteArrayOf(), dataMask = byteArrayOf())
6666
)
6767
}
6868
```

core/api/core.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ public final class com/juul/kable/ScannerKt {
258258
public static final fun Scanner (Ljava/util/List;)Lcom/juul/kable/Scanner;
259259
public static final fun Scanner (Lkotlin/jvm/functions/Function1;)Lcom/juul/kable/Scanner;
260260
public static synthetic fun Scanner$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/juul/kable/Scanner;
261+
public static final fun scannerWithFilters (Ljava/util/List;)Lcom/juul/kable/Scanner;
261262
}
262263

263264
public abstract interface class com/juul/kable/Service {

core/src/androidMain/kotlin/Filter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public actual sealed class Filter {
2020
public val dataMask: ByteArray?
2121
) : Filter()
2222

23-
public actual class Service(
23+
public actual class Service actual constructor(
2424
public actual val uuid: Uuid
2525
) : Filter()
2626
}

core/src/appleMain/kotlin/Filter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import com.benasher44.uuid.Uuid
44

55
public actual sealed class Filter {
66

7-
public actual class Service(
7+
public actual class Service actual constructor(
88
public actual val uuid: Uuid
99
) : Filter()
1010
}

core/src/commonMain/kotlin/Filter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import com.benasher44.uuid.Uuid
44

55
public expect sealed class Filter {
66

7-
public class Service : Filter {
7+
public class Service constructor(uuid: Uuid) : Filter {
88
public val uuid: Uuid
99
}
1010
}

core/src/commonMain/kotlin/Scanner.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,27 @@
11
package com.juul.kable
22

3+
import com.benasher44.uuid.Uuid
34
import kotlinx.coroutines.flow.Flow
5+
import kotlin.jvm.JvmName
46

57
public interface Scanner {
68
public val advertisements: Flow<Advertisement>
79
}
810

911
@Deprecated(
1012
message = "Replaced with ScannerBuilder DSL",
11-
replaceWith = ReplaceWith("Scanner { this.services = services }"),
13+
replaceWith = ReplaceWith("Scanner { filters = services?.map { Filter.Service(it) } }"),
1214
)
15+
public fun Scanner(services: List<Uuid>?): Scanner =
16+
Scanner { filters = services?.map { Filter.Service(it) } }
17+
18+
@Deprecated(
19+
message = "Replaced with ScannerBuilder DSL",
20+
replaceWith = ReplaceWith("Scanner { this.filters = filters }"),
21+
)
22+
@JvmName("scannerWithFilters")
1323
public fun Scanner(filters: List<Filter>?): Scanner =
14-
ScannerBuilder().apply { this.filters = filters }.build()
24+
Scanner { this.filters = filters }
1525

1626
public fun Scanner(
1727
builderAction: ScannerBuilder.() -> Unit = {},

core/src/jsMain/kotlin/Filter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import com.benasher44.uuid.Uuid
44

55
public actual sealed class Filter {
66

7-
public actual class Service(
7+
public actual class Service actual constructor(
88
public actual val uuid: Uuid
99
) : Filter()
1010
}

0 commit comments

Comments
 (0)