package Ġde . der typ 7 2 1 4 . r board theme manager . widgets Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app widget . App Widget Manager Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġde . der typ 7 2 1 4 . r board theme manager . adapter . Theme Adapter Ċ import Ġde . der typ 7 2 1 4 . r board theme manager . data . Theme Data Class Ċ import Ġde . der typ 7 2 1 4 . r board theme manager . databinding . Switch Keyboard Widget Configure Binding Ċ import Ġde . der typ 7 2 1 4 . r board theme manager . utils . Theme Utils Ċ import Ġde . der typ 7 2 1 4 . r board theme manager . utils . do Async Ċ Ċ class ĠSwitch Keyboard Widget Configure Activity Ġ: ĠActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġapp Widget Id Ġ= ĠApp Widget Manager . INVALID _ APP WIDGET _ ID ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠSwitch Keyboard Widget Configure Binding ĊĊĠĠĠ Ġpublic Ġoverride Ġfun ĠonCreate ( ic icle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( ic icle ) ĊĊĠĠĠĠĠĠĠ Ġset Result ( RESULT _ C ANCE LED ) ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠSwitch Keyboard Widget Configure Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Theme Data Class >() ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Adapter ( this , Ġlist , ĠTheme Adapter . Selection State . NE VER , Ġ{ Ġ_, Ġ_ Ġ-> Ġ}) Ġ{ Ġtheme Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSwitch Keyboard Widget . save Theme Path ( application Context , Ġapp Widget Id , Ġtheme . path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSwitch Keyboard Widget . update App Widget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Widget Manager . getInstance ( this ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Widget Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRESULT _ OK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent (). apply Ġ{ Ġput Extra ( App Widget Manager . EXTRA _ APP WIDGET _ ID , Ġapp Widget Id ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġbinding . re cyclerView ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠ Ġdo Async ( Theme Utils :: load Themes ) Ġ{ Ġthemes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( themes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . notify Data Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġintent ĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= Ġintent . extras ĊĠĠĠĠĠĠĠ Ġif Ġ( extras Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Widget Id Ġ= Ġextras . getInt ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Widget Manager . EXTRA _ APP WIDGET _ ID , ĠApp Widget Manager . INVALID _ APP WIDGET _ ID ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( app Widget Id Ġ== ĠApp Widget Manager . INVALID _ APP WIDGET _ ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }