-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcompose-stability.conf
More file actions
30 lines (27 loc) · 1.3 KB
/
Copy pathcompose-stability.conf
File metadata and controls
30 lines (27 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Compose compiler stability configuration.
// https://developer.android.com/jetpack/compose/performance/stability/fix#configuration-file
//
// Lists types the compiler should treat as stable even though it can't prove it
// from the declaration alone. Each entry is a fully-qualified type; the `.` and
// `*` wildcards are supported.
//
// Only add types that are *genuinely immutable value types* — declaring a mutable
// type stable hides recompositions from the compiler and causes stale UI.
// java.time value types — immutable by contract, but the compiler can't see
// across the JDK boundary, so it conservatively marks them unstable.
java.time.Instant
java.time.LocalDate
java.time.LocalDateTime
java.time.LocalTime
java.time.ZonedDateTime
java.time.OffsetDateTime
java.time.Duration
java.time.Period
// androidx.navigation3 NavKey — marker interface (no state). Implemented by
// our @Immutable Route sealed hierarchy; declaring it stable lets composables
// that take a NavKey skip instead of recomposing on every back-stack change.
androidx.navigation3.runtime.NavKey
// aboutlibraries Library — third-party Kotlin data class (27 getters, no
// setters). Passed to license-screen composables; the compiler can't prove
// stability across the library boundary.
com.mikepenz.aboutlibraries.entity.Library