package Ġcom . blogspot . android ga id am ak . my picture ss lide show . ui . slides Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . arch . lifecycle . Android ViewModel Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Handler Ċ import Ġandroid . support . v 7 . preference . Preference Manager Ċ import Ġcom . blogspot . android ga id am ak . my picture ss lide show . Slide Show Application Ċ import Ġcom . blogspot . android ga id am ak . my picture ss lide show . data . Media Data ĊĊ Ċ class ĠSlide s ViewModel ( context : ĠApplication ) Ġ: ĠAndroid ViewModel ( context ), ĠSharedPreferences . On Shared Preference ChangeListener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= Ġ( context Ġas ĠSlide Show Application ). image Repository ĊĠĠĠ Ġprivate Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠ Ġprivate Ġvar Ġframe Switch Delay : ĠLong ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . next Image () ĊĠĠĠĠĠĠĠ Ġval Ġshared Pref Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠĠĠĠĠ Ġframe Switch Delay Ġ= Ġshared Pref . getString ( KEY _ PRE F _ SL IDE _ SW ITH C _ DELAY , Ġ" 5 "). to Long () Ġ* Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġshared Pref . register On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Media LiveData (): ĠLive Data < Media Data > Ġ= Ġrepository . getImage LiveData () ĊĊĠĠĠ Ġfun Ġstart Updating Image () Ġ{ ĊĠĠĠĠĠĠĠ Ġpost Update Image () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpost Update Image () Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Update Image () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . next Image () ĊĠĠĠĠĠĠĠ Ġ}, Ġframe Switch Delay ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop Updating Image () Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . remove Callbacks And Messages ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Shared Preference Changed ( shared Preferences : ĠSharedPreferences ?, Ġkey : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( key Ġ== ĠKEY _ PRE F _ SL IDE _ SW ITH C _ DELAY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Delay Ġ= Ġshared Preferences ?. getString ( KEY _ PRE F _ SL IDE _ SW ITH C _ DELAY , Ġ" 5 ") ?. to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġframe Switch Delay Ġ= Ġ( string Delay Ġ?: Ġ 5 ) Ġ* Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ