package Ġde . char lex . compose . settings . datastore . example Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . material . Checkbox Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . material . Switch Ċ import Ġandroidx . compose . material . TextField Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Composition Local Provider Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġde . char lex . compose . settings . datastore . Local Settings DataStore Ċ import Ġde . char lex . compose . settings . datastore . Setting Ċ import Ġde . char lex . compose . settings . datastore . example . theme . Settings Theme Ċ import Ġde . char lex . settings . datastore . Settings DataStore Ċ import Ġde . char lex . settings . datastore . boolean Preference Ċ import Ġde . char lex . settings . datastore . string Preference Ċ Ċ class ĠMainActivity Ġ: ĠComponent Activity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġsettings DataStore Ġ= ĠSettings DataStore . create ( this ) ĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBody ( settings DataStore Ġ= Ġsettings DataStore ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠBody ( settings DataStore : ĠSettings DataStore ) Ġ{ ĊĠĠĠ ĠSettings Theme Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠA Ġsurface Ġcontainer Ġusing Ġthe Ġ' background ' Ġcolor Ġfrom Ġthe Ġtheme ĊĠĠĠĠĠĠĠ ĠSurface ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . background ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( Local Settings DataStore Ġprovides Ġsettings DataStore ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetting ( key Ġ= Ġstring Preference (" email ", Ġ" max . m uster mann @ google mail . com ")) Ġ{ Ġvalue , Ġon ValueChanged Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTextField ( value Ġ= Ġvalue , Ġon Value Change Ġ= Ġon ValueChanged ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetting ( key Ġ= Ġboolean Preference (" key 1 ", Ġfalse )) Ġ{ Ġvalue , Ġon ValueChanged Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSwitch ( checked Ġ= Ġvalue , Ġon Checked Change Ġ= Ġon ValueChanged ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetting ( key Ġ= Ġboolean Preference (" key 2 ", Ġfalse )) Ġ{ Ġvalue , Ġon ValueChanged Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCheckbox ( checked Ġ= Ġvalue , Ġon Checked Change Ġ= Ġon ValueChanged ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetting ( key Ġ= Ġstring Preference (" email _ two ", Ġ" mar ia . m uster mann @ google mail . com "), Ġsave De bounce Millis Ġ= Ġ 5 0 0 0 ) Ġ{ Ġvalue , Ġon ValueChanged Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTextField ( value Ġ= Ġvalue , Ġon Value Change Ġ= Ġon ValueChanged ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠDefault Preview () Ġ{ ĊĠĠĠ ĠSettings Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠBody ( settings DataStore Ġ= ĠSettings DataStore . create InMemory ()) ĊĠĠĠ Ġ} Ċ } Ċ