package Ġcom . kp . at ri at heme Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . navigation . ui . AppBar Configuration Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . kp . at ri at heme . databinding . Activity Part 1 Binding Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . InputStream Reader Ċ Ċ class ĠPart 1 Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Part 1 Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Part 1 Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġload Url Image (" https :// home pages . cae . w isc . edu /~ ece 5 3 3 / images / air plane . png ") ĊĊĠĠĠĠĠĠĠ Ġbinding . change Theme . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Theme And Apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// read Theme And Apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Toast ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this @ Part 1 Activity , Ġtext , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġread Theme And Apply () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffered Reader Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBufferedReader ( InputStream Reader ( resources . open Raw Resource ( R . raw . local data ))) ĊĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġbuffered Reader . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . read Text () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshow Toast ( json String ) ĊĠĠĠĠĠĠĠ Ġset Color ( Gson (). fromJson ( json String , ĠConfig :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Color ( config : ĠConfig ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 ) Ġchange Ġtext Ġcolor ĊĠĠĠĠĠĠĠ Ġbinding . content . setTextColor ( Color . parse Color ( config . textColor )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 ) Ġchange Ġtext Ġbackground Ġcolor ĊĠĠĠĠĠĠĠ Ġbinding . content . set BackgroundColor ( Color . parse Color ( config . button TextColor )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 3 ) Ġchange Ġinput Ġtext Ġcolor ĊĠĠĠĠĠĠĠ Ġbinding . input . setTextColor ( Color . parse Color ( config . input TextColor )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 4 ) Ġchange Ġscreen Ġbackground Ġcolor ĊĠĠĠĠĠĠĠ Ġbinding . root . set BackgroundColor ( Color . parse Color ( config . bgColor )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 5 ) Ġchange Ġbutton Ġbackground Ġcolor ĊĠĠĠĠĠĠĠ Ġbinding . change Theme . set BackgroundColor ( Color . parse Color ( config . textColor )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 6 ) Ġchange Ġbutton Ġtext Ġcolor ĊĠĠĠĠĠĠĠ Ġbinding . change Theme . setTextColor ( Color . parse Color ( config . button TextColor )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 7 ) Ġchange Ġimage Ġbased Ġon Ġurl ĊĠĠĠĠĠĠĠ Ġload Url Image ( config . img Url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Url Image ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). load ( url ). into ( binding . img ); ĊĠĠĠ Ġ} Ċ }