Skip to content

Instantly share code, notes, and snippets.

View dladukedev's full-sized avatar

Donovan LaDuke dladukedev

View GitHub Profile
@dladukedev
dladukedev / exhaustive-when.kt
Created July 31, 2023 14:53
Exhaustive when blocks in Kotlin
import kotlin.random.Random
val myInt = Random.nextInt()
val myBool = Random.nextBoolean()
// Expression - Exhaustive Required
val result = when(myInt) {
1 -> "I'm #1!"
else -> "I'm something else"
}
@dladukedev
dladukedev / Turbine + Combine.kt
Created July 25, 2023 15:15
Mockup showing the issue with combine where Turbine misses elements
@Test
fun `this test fails`() = runTest {
val number = (0..2).asFlow()
val intro = listOf("Hello").asFlow()
val combined = combine(intro, number) { first, second ->
"$first $second"
}
combined.test {
@dladukedev
dladukedev / semantics-demo.kt
Created July 21, 2023 13:17
Overview of how TalkBack interprets Different Semantic Modifiers
// Reads "One" -> "Two" -> "Three"
Row(modifier = Modifier.semantics(mergeDescendants = false) { }) {
Text("One")
Column {
Text("Two")
Text("Three")
}
}
// Reads "One Two Three"