refactor(ui): Migrate from Fragments to Jetpack Compose

Replace Fragment-based UI with Jetpack Compose screens, adopting
Navigation3 for type-safe routing and Material3 theming throughout.

- Replace all Fragments/ViewHolders with Compose screens and cards
- Introduce NavigationController with Navigation3 runtime
- Add CapodTheme with Material3 design system
- Migrate PopUpWindow overlay to ComposeView with proper lifecycle
- Rewrite WidgetConfigurationActivity in Compose
- Add reusable settings composables (switch, slider, list preference)
- Update Kotlin to 2.2.10, add Compose BOM 2025.06.01
- Fix reactive state for unmatched devices toggle
- Add safety timeout for BT device enumeration
- Fix profile name validation error message
This commit is contained in:
darken
2026-02-24 15:05:09 +01:00
committed by Matthias Urhahn
parent 576c6db8d0
commit 63692595a8
166 changed files with 6328 additions and 7229 deletions
@@ -6,7 +6,6 @@ import eu.darken.capod.pods.core.apple.airpods.AirPodsPro
import eu.darken.capod.pods.core.apple.misc.UnknownAppleDevice
import io.kotest.matchers.shouldBe
import io.kotest.matchers.types.instanceOf
import kotlinx.coroutines.test.runBlockingTest
import kotlinx.coroutines.test.runTest
import org.junit.jupiter.api.Test
@@ -34,7 +33,7 @@ class AirPodsFactoryTest : BaseAirPodsTest() {
}
@Test
fun `invalid data`() = runBlockingTest {
fun `invalid data`() = runTest {
create<PodDevice?>("abcd") {
this shouldBe null
}