package Ġcom . d are k bx . c ari . sdk . internal . bubble . preferences Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Window Ċ import Ġcom . d are k bx . c ari . R Ċ import Ġcom . d are k bx . c ari . sdk . internal . bubble . preferences . model . Preference Item Ċ import Ġcom . d are k bx . c ari . sdk . internal . wrappers . preferences . Preferences Wrapper Ċ import Ġkotlinx . android . synt hetic . main . dialog _ preference _ item .* Ċ Ċ class ĠPreference Item Dialog ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġval Ġscope : ĠString , ĊĠĠĠ Ġval Ġpreference Item : ĠPreference Item Ċ ) Ġ: ĠDialog ( context ) Ġ{ ĊĊĠĠĠ Ġvar Ġvalue Changed : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġrequest Window Feature ( Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . dialog _ preference _ item ) ĊĊĠĠĠĠĠĠĠ Ġpreferences _ item _ key . setText ( preference Item . key ) ĊĠĠĠĠĠĠĠ Ġpreferences _ item _ value . setText ("${ preference Item . value }") ĊĊĠĠĠĠĠĠĠ Ġbutton _ save . setOnClickListener Ġ{ Ġsave () Ġ} ĊĠĠĠĠĠĠĠ Ġbutton _ cancel . setOnClickListener Ġ{ Ġdismiss () Ġ} ĊĊĠĠĠĠĠĠĠ Ġdisplay Type Notification () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= ĠPreferences Wrapper ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. provide Preferences ( scope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġval ĠnewValue Ġ= Ġpreferences _ item _ value . text . toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠInt Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnewValue . toInt OrNull ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . put Int ( preference Item . key , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠBoolean Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . put Boolean ( preference Item . key , ĠnewValue . to Boolean ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġ= ĠnewValue . to Boolean () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠFloat Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnewValue . toFloat OrNull ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . put Float ( preference Item . key , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠLong Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnewValue . to Long OrNull ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . put Long ( preference Item . key , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠString Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString ( preference Item . key , ĠnewValue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġ= ĠnewValue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠSet < *> Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchunks Ġ= ĠnewValue . remove Prefix (" [" ). remove Suffix (" ]"). split ("," ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString Set ( preference Item . key , Ġchunks ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġ= Ġchunks ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ== Ġtrue Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences _ item _ value . setError ( context . getString ( R . string . nof it ication _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisplay Type Notification () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnotification Res Id Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠInt Ġ-> ĠR . string . nof it ication _ int ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠBoolean Ġ-> ĠR . string . nof it ication _ boolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠFloat Ġ-> ĠR . string . nof it ication _ float ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠLong Ġ-> ĠR . string . nof it ication _ long ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠString Ġ-> ĠR . string . nof it ication _ string ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Item . value Ġis ĠSet < *> Ġ-> ĠR . string . nof it ication _ string _ set ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . string . nof it ication _ empty ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpreferences _ type _ notification . setText ( notification Res Id ) ĊĠĠĠ Ġ} Ċ }