package Ġapp . fa him far han . vocabulary gym . utilities Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġapp . fa him far han . vocabulary gym . mv vm . database . G re Model Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . InputStream Reader Ċ Ċ @ Suppress (" Red undant Sem icolon ") Ċ class ĠG iz mos Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠTAG : ĠString Ġ= ĠG iz mos :: class . java . simple Name ; ĊĊĠĠĠ Ġfun Ġread From Csv ( context : ĠContext , ĠfileName : ĠString , Ġdifficulty Level : ĠInt ): ĠArrayList < G re Model > Ġ{ ĊĠĠĠĠĠ Ġval Ġresult : ĠArrayList < G re Model > Ġ= ĠArrayList (); ĊĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠInputStreamReader ( context . assets . open ( fileName )) Ġ// Ġ" mag o osh _ 1 _ common . csv " ĊĊĠĠĠĠĠ Ġval Ġreader Ġ= ĠBufferedReader ( inputStream ) ĊĠĠĠĠĠ Ġreader . readLine () ĊĠĠĠĠĠ Ġvar Ġline : ĠString ? ĊĠĠĠĠĠ Ġwhile Ġ( reader . readLine (). also Ġ{ Ġline Ġ= Ġit Ġ} Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs : ĠString Ġ= Ġline !! ; ĊĠĠĠĠĠĠĠ Ġval Ġgre Model : ĠG re Model Ġ= Ġget G re Model ( s , Ġdifficulty Level ); ĊĠĠĠĠĠĠĠ Ġresult . add ( gre Model ); ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn Ġresult ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget G re Model ( input : ĠString , Ġdifficulty Level : ĠInt ): ĠG re Model Ġ{ ĊĠĠĠĠĠ Ġval Ġwords : ĠList < String > Ġ= Ġinput . split ("| "); Ġ// Ġinput . split ("\\ | "); Ġthis Ġis Ġfor Ġjava Ġ: / ĊĠĠĠĠĠ Ġvar Ġout Put : ĠG re Model Ġ= ĠG re Model (); ĊĠĠĠĠĠ Ġval Ġinit Char As Int : ĠInt Ġ= Ġwords [ 0 ][ 0 ] Ġ- Ġ' a '; ĊĠĠĠĠĠ Ġout Put . gre Word Ġ= Ġwords [ 0 ]; ĊĠĠĠĠĠ Ġout Put . gre Mean ing Ġ= Ġwords [ 1 ]; ĊĠĠĠĠĠ Ġout Put . gre Part Of Speech Ġ= Ġwords [ 2 ]; ĊĠĠĠĠĠ Ġout Put . example Sentence Ġ= Ġwords [ 3 ]; ĊĠĠĠĠĠ Ġout Put . initial Char Ġ= Ġinit Char As Int ; ĊĠĠĠĠĠ Ġout Put . difficulty Level Ġ= Ġdifficulty Level ; ĊĠĠĠĠĠ Ġreturn Ġout Put ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Fragment ( fragment Manager : ĠFragment Manager , Ġbase Container : ĠInt , Ġfragment : ĠFragment , Ġtag : ĠString Ġ) Ġ{ ĊĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġ. add ( base Container , Ġfragment , Ġtag ) ĊĠĠĠĠĠĠĠ Ġ. addTo Back Stack ( tag ) ĊĠĠĠĠĠĠĠ Ġ. commit (); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Color ( context : ĠContext , Ġcolor Res Id : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠ Ġif Ġ( android . os . Build . VERSION . SDK _ INT Ġ>= Ġandroid . os . Build . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . getColor ( color Res Id , Ġnull ); ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . getColor ( color Res Id ); ĊĠĠĠĠĠ Ġ}; ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }