package Ġcom . vac uum . ava z . util Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġcom . vac uum . ava z . R Ċ import Ġandroid . content . Context . MODE _ PRIVATE Ċ import Ġcom . vac uum . ava z . main . MainActivity Ċ import Ġjava . util .* Ċ Ċ class ĠUtility Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġs Theme : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġ Ġs lang age : String Ġ= Ġ" en " ĊĠĠĠ Ġval ĠMY _ PRE FS _ NAME Ġ= Ġ" ava z " ĊĠĠĠ Ġval ĠLight _ Theme Ġ= Ġ 0 ĊĠĠĠ Ġval ĠDark _ Theme Ġ= Ġ 1 ĊĠĠĠ Ġval ĠB BC _ Theme Ġ= Ġ 2 ĊĊĠĠĠ Ġfun Ġchange To Theme ( activity : ĠActivity , Ġtheme : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġs Theme Ġ= Ġtheme ĊĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠ Ġactivity . startActivity ( Intent ( activity , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠ Ġactivity . override Pending Transition ( android . R . anim . fade _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . anim . fade _ out ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġon Activity Create Set Theme ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= Ġactivity . get SharedPreferences ( MY _ PRE FS _ NAME , ĠMODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġs Theme Ġ= Ġprefs . getInt (" theme ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs lang age Ġ= Ġprefs . getString (" language ", Ġ" en ") ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( s Theme ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLight _ Theme Ġ-> Ġactivity . set Theme ( R . style . Light _ Theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDark _ Theme Ġ-> Ġactivity . set Theme ( R . style . Dark _ Theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB BC _ Theme Ġ-> Ġactivity . set Theme ( R . style . BB C _ Theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġactivity . set Theme ( R . style . Light _ Theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// language ĊĠĠĠĠĠĠĠ Ġ// ================================ ============== ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġactivity . getResources () ĊĠĠĠĠĠĠĠ Ġval Ġdm Ġ= Ġres . getDisplay Metrics () ĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= Ġres . getConfiguration () ĊĠĠĠĠĠĠĠ Ġconf . set Locale ( Locale ( s lang age )) ĊĠĠĠĠĠĠĠ Ġ// ĠAPI Ġ 1 7 + Ġonly . ĊĠĠĠĠĠĠĠ Ġres . update Configuration ( conf , Ġdm ) ĊĊĠĠĠ Ġ} Ċ }