NRF Guide

Créer un mod

Réglages et migration

Déclarer les cases du panneau du signal et conserver les réglages des parties existantes.

Une case avec un défaut explicite

Extrait simplifié : ajoutez les contrôles d’observation de votre mod
val active = checkbox(
    name = "active",
    label = "Activer",
    description = "Utiliser les règles de ce modèle.",
    defaultValue = true
)
rules {
    if (enabled(active)) Indication(Aspect.Open, Reason.Clear)
    else Indication(Aspect.Closed, Reason.Disabled)
}
StatutSens
PresentLe profil a été lu.
AbsentAucun profil enregistré pour ce signal.
UnavailableLe SDK ne peut pas fournir le profil.

enabled utilise le défaut déclaré si la clé est absente. Il ne transforme pas Unavailable en profil valide. Votre règle conserve l’accès à settingsStatus et aux valeurs brutes via signal.settings.

Changer les réglages sans perdre les parties

kotlin
migrateSettings { saved ->
    if ("active" in saved) saved
    else saved + ("active" to (saved["ancienActive"] ?: false))
}

La migration reçoit les valeurs réellement sauvegardées et doit être idempotente : la relancer ne doit plus changer le résultat. Les valeurs par défaut sont complétées par le SDK. Conservez les identifiants de type et de catalogue pour retrouver les profils.