package Ġcom . rock spin . uk tsd prep . ui . termin ology Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . rock spin . uk tsd prep . R Ċ import Ġcom . rock spin . uk tsd prep . data . repository . Data Repository Ċ import Ġkotlinx . android . synt hetic . main . fragment _ termin ology .* Ċ Ċ class ĠTermin ology Fragment : ĠFragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠTermin ology Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTermin ology Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Repository : ĠData Repository ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġdata Repository Ġ= ĠData Repository . getInstance ( require Context ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ termin ology , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmanual Entries Ġ= ĠlistOf ( Termin ology Entry ( getString ( R . string . title _ emb lem ))) ĊĠĠĠĠĠĠĠ Ġval Ġterm Entries From Groups Ġ= Ġdata Repository . term Groups . map Ġ{ ĠTermin ology Entry ( it . groupName ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġall Entries Ġ= Ġmanual Entries Ġ+ Ġterm Entries From Groups ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠTermin ology Adapter ( LayoutInflater . from ( context ), Ġall Entries ) Ġ{ Ġpos Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Manual Entry Ġ= Ġpos Ġ< Ġmanual Entries . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Manual Entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( pos ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠstartActivity ( Intent ( context , ĠE mb lem Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Term Pos Ġ= Ġpos Ġ- Ġmanual Entries . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠTerm List Activity . create Intent ( require Context (), Ġdata Repository . term Groups [ group Term Pos ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġterm Group RecyclerView . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġshuffle Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠTerm Pract ise Activity . create Intent ( require Context (), Ġdata Repository . all Terms ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext !!. startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }