package Ġcom . battle l ancer . series guide . ui . movies Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompat Dialog Fragment Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . core . view . is G one Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . battle l ancer . series guide . R Ċ import Ġcom . battle l ancer . series guide . databinding . Dialog Localization Binding Ċ import Ġcom . battle l ancer . series guide . databinding . Item Dropdown Binding Ċ import Ġcom . battle l ancer . series guide . settings . Display Settings Ċ import Ġcom . battle l ancer . series guide . ui . movies . Movie Localization Dialog Fragment . Localization Adapter . Localization Item Ċ import Ġcom . battle l ancer . series guide . util . Language Tools K Ċ import Ġcom . battle l ancer . series guide . util . safe Show Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . green robot . event bus . EventBus Ċ import Ġorg . green robot . event bus . Subscribe Ċ import Ġorg . green robot . event bus . Thread Mode Ċ import Ġjava . text . Coll ator Ċ import Ġjava . util . ArrayList Ċ import Ġjava . util . Locale Ċ Ċ /** Ċ Ġ* ĠA Ġdialog Ġdisplaying Ġa Ġlist Ġof Ġlanguages Ġand Ġregions Ġto Ġchoose Ġfrom , Ġposting Ġa Ġ[ Ġ] Ġonce Ġthe Ġdialog Ġis Ġdis missed Ġ( even Ġif Ġlanguage Ġor Ġregion Ċ Ġ* Ġhave Ġnot Ġchanged ). Ċ Ġ*/ Ċ class ĠMovie Localization Dialog Fragment Ġ: ĠAppCompat Dialog Fragment () Ġ{ ĊĊĠĠĠ Ġclass ĠLocalization Changed Event ĊĊĠĠĠ Ġsealed Ġclass ĠCode Type Ġ{ ĊĠĠĠĠĠĠĠ Ġobject ĠLanguage Ġ: ĠCode Type () ĊĠĠĠĠĠĠĠ Ġobject ĠRegion Ġ: ĠCode Type () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠItems Loaded Event ( ĊĠĠĠĠĠĠĠ Ġval Ġitems : ĠList < Localization Item >, ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠCode Type ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠDialog Localization Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠLocalization Adapter ĊĠĠĠ Ġprivate Ġvar Ġcurrent Code Type : ĠCode Type Ġ= ĠCode Type . Language ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠDialog Localization Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġbinding . button Dismiss . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( R . string . dismiss ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġdismiss () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠLocalization Adapter ( on ItemClickListener ) ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView Localization . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView Localization . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĊĠĠĠĠĠĠĠ Ġupdate ButtonText () ĊĊĠĠĠĠĠĠĠ Ġbinding . button Localization Language . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . update Items ( emptyList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset List Visible ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Lifecycle Owner . lifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlanguage Codes Ġ= Ġrequire Context (). resources ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getString Array ( R . array . language Codes Movies ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitems : ĠMutable List < Localization Item > Ġ= ĠArrayList ( language Codes . size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( language Code Ġin Ġlanguage Codes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalization Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLanguage Tools K . build Language DisplayName ( language Code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoll ator Ġ= ĠCol lator . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . sort With ( Comparator Ġ{ Ġleft : ĠLocalization Item , Ġright : ĠLocalization Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoll ator . compare ( left . display Text , Ġright . display Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post Sticky ( Items Loaded Event ( items , ĠCode Type . Language )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . button Localization Region . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . update Items ( emptyList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset List Visible ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Lifecycle Owner . lifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregion Codes Ġ= ĠLocale . get ISO Countries () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitems : ĠMutable List < Localization Item > Ġ= ĠArrayList ( region Codes . size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( region Code Ġin Ġregion Codes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġexample : Ġ" en - US " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalization Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale ("", Ġregion Code ). display Country ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoll ator Ġ= ĠCol lator . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . sort With ( Comparator Ġ{ Ġleft : ĠLocalization Item , Ġright : ĠLocalization Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoll ator . compare ( left . display Text , Ġright . display Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post Sticky ( Items Loaded Event ( items , ĠCode Type . Region )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon ViewState Restore d ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on ViewState Restore d ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset List Visible ( false ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset List Visible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState . getBoolean ( STATE _ LIST _ VISIBLE , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġloaded Event Ġ= ĠEvent Bus . getDefault (). get Sticky Event ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItems Loaded Event :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( loaded Event Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . update Items ( loaded Event . items ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Code Type Ġ= Ġloaded Event . type ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). register ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). unregister ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State . put Boolean ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTATE _ LIST _ VISIBLE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . re cyclerView Localization . visibility Ġ== ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dismiss ( dialog : ĠDialog Interface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Dismiss ( dialog ) ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Localization Changed Event ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġon Event Items Loaded ( event : ĠItems Loaded Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView Localization . scrollTo Position ( 0 ) ĊĠĠĠĠĠĠĠ Ġcurrent Code Type Ġ= Ġevent . type ĊĠĠĠĠĠĠĠ Ġadapter . update Items ( event . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate ButtonText () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġexample : Ġ" en - US " ĊĠĠĠĠĠĠĠ Ġval Ġlanguage Code Ġ= ĠDisplay Settings . get Movies Language ( context ) ĊĠĠĠĠĠĠĠ Ġbinding . button Localization Language . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLanguage Tools K . build Language DisplayName ( language Code ) ĊĠĠĠĠĠĠĠ Ġval Ġregion Code Ġ= ĠDisplay Settings . get Movies Region ( context ) ĊĠĠĠĠĠĠĠ Ġbinding . button Localization Region . text Ġ= ĠLocale ("", Ġregion Code ). display Country ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset List Visible ( list Is Visible : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView Localization . is G one Ġ= Ġ! list Is Visible ĊĊĠĠĠĠĠĠĠ Ġbinding . button Localization Language . is G one Ġ= Ġlist Is Visible ĊĠĠĠĠĠĠĠ Ġbinding . textView Localization Language . is G one Ġ= Ġlist Is Visible ĊĠĠĠĠĠĠĠ Ġbinding . button Localization Region . is G one Ġ= Ġlist Is Visible ĊĠĠĠĠĠĠĠ Ġbinding . textView Localization Region . is G one Ġ= Ġlist Is Visible ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon ItemClickListener : ĠLocalization Adapter . On ItemClickListener Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠLocalization Adapter . On ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( code : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset List Visible ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( current Code Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode Type . Language Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Manager . getDefault SharedPreferences ( require Context ()). edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Display Settings . KEY _ MO VI ES _ LANGUAGE , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode Type . Region Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Manager . getDefault SharedPreferences ( require Context ()). edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Display Settings . KEY _ MO VI ES _ REGION , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ButtonText () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠLocalization Adapter ( val Ġon ItemClickListener : ĠOn ItemClickListener ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠLocalization Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplay Text : ĠString ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġon Item Click ( code : ĠString ?) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġitems Ġ= ĠArrayList < Localization Item >() ĊĊĠĠĠĠĠĠĠ Ġfun Ġupdate Items ( items : ĠList < Localization Item >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . items . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . items . addAll ( items ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠĠĠĠĠ Ġ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Dropdown Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġon ItemClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitems [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . code Ġ= Ġitem . code ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . text 1 . text Ġ= Ġitem . display Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġitems . size ĊĊĠĠĠĠĠĠĠ Ġclass ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding : ĠItem Dropdown Binding , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon ItemClickListener : ĠOn ItemClickListener ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcode : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon ItemClickListener . on Item Click ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSTATE _ LIST _ VISIBLE Ġ= Ġ" list Visible " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġshow ( fragment Manager : ĠFragment Manager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMovie Localization Dialog Fragment (). safe Show ( fragment Manager , Ġ" movie Language Dialog ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }