package Ġcom . min se ok . theme example Ċ Ċ import Ġandroid . app . Picture In Picture Params Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Style Res Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġcom . min se ok . theme example . databinding . Activity Main Binding Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġset Theme ( load Theme (). res Id ) ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . set ContentView ( this , ĠR . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġbinding . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠActivity Main Binding . init () Ġ{ ĊĠĠĠĠĠĠĠ Ġbtn Green . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Item . Green . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Theme ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn Yellow . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Item . Yellow . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Theme ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh Theme ( item : ĠTheme Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Theme ( item ) ĊĠĠĠĠĠĠĠ Ġset Theme ( item . res Id ) ĊĠĠĠĠĠĠĠ Ġrecreate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave Theme ( theme : ĠTheme Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( get Shared Preference Edit ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" theme ", Ġtheme . name ) ĊĠĠĠĠĠĠĠ Ġ}. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Theme (): ĠTheme Item Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith ( get Shared Preference ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString (" theme ", ĠTheme Item . Green . name ) !! ĊĠĠĠĠĠĠĠ Ġ}. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Item . valueOf ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Shared Preference () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġget SharedPreferences (" theme - example ", ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠ Ġprivate Ġfun Ġget Shared Preference Edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġget Shared Preference (). edit () Ċ } ĊĊ