package Ġcom . motion apps . sensor box . fragments . advanced . extr ah and lers Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Image Button Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . motion apps . sensor box . R Ċ import Ġdagger . h ilt . android . scopes . ViewModel Scoped Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . Internal Cor outines Api Ċ import Ġjavax . inject . Inject Ċ Ċ @ Internal Cor outines Api Ċ @ Experimental Cor outines Api Ċ @ ViewModel Scoped Ċ Ċ /** Ċ Ġ* ĠSimple Ġto Ġuse Ġclass Ġfor Ġstorage Ġof Ġcustom ĠStrings Ġ- Ġnotes Ġfor Ġthe Ġmeasurement Ċ Ġ* Ġall Ġthe Ġstrings Ġare Ġstored Ġin Ġall Ġthe ĠJSON Ġfiles Ċ Ġ*/ Ċ class ĠNote Handler Ġ@ Inject Ġconstructor () Ġ{ ĊĊĠĠĠ Ġval Ġnotes : ĠArrayList < String > Ġ= ĠArrayList () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġadding Ġto Ġlinear Layout Ġnotes ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġlinear Layout ĊĠĠĠĠ Ġ* Ġ@ param Ġlayout Inflater ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrefresh Layout ( ĊĠĠĠĠĠĠĠ Ġlinear Layout : ĠLinearLayout , ĊĠĠĠĠĠĠĠ Ġlayout Inflater : ĠLayoutInflater ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( notes . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( s : ĠString Ġin Ġnotes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Note ( s , Ġlinear Layout , Ġlayout Inflater , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdds Ġnote Ġto Ġlinear layout Ġand Ġcan Ġadd Ġit Ġto Ġstorage ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġs Ġ- Ġnote Ġto Ġstore / show ĊĠĠĠĠ Ġ* Ġ@ param Ġlinear Layout Ġ- Ġlinear Layout Ġto Ġadd Ġview ĊĠĠĠĠ Ġ* Ġ@ param Ġlayout Inflater Ġ- Ġinflater Ġto Ġinf late Ġview ĊĠĠĠĠ Ġ* Ġ@ param ĠaddTo Notes Ġ- Ġtrue , Ġnote Ġis Ġadded Ġto Ġstorage Ġand Ġshown , Ġfalse Ġ- Ġit Ġis Ġonly Ġshown ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġfun Ġadd Note ( ĊĠĠĠĠĠĠĠ Ġs : ĠString , ĊĠĠĠĠĠĠĠ Ġlinear Layout : ĠLinearLayout , ĊĠĠĠĠĠĠĠ Ġlayout Inflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ ĠaddTo Notes : ĠBoolean ĊĠĠĠ Ġ){ ĊĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . item _ layout _ annotation , Ġnull ) !! ĊĠĠĠĠĠĠĠ Ġ( view . findViewById < TextView >( R . id . annot _ row _ text )). also { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Ġ= Ġs ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ( view . findViewById < Image Button >( R . id . annot _ row _ button )). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Note ( view , Ġs , Ġlinear Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlinear Layout . addView ( view ) ĊĠĠĠĠĠĠĠ Ġif ( addTo Notes ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotes . add ( s ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġremoves Ġview Ġfrom Ġline al Layout Ġand Ġstorage ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġview Ġ- Ġview Ġto Ġremove Ġfrom Ġlayout ĊĠĠĠĠ Ġ* Ġ@ param Ġs Ġ- Ġstring Ġvalue Ġof Ġnote ĊĠĠĠĠ Ġ* Ġ@ param Ġlinear Layout Ġ- Ġview Ġis Ġremoved Ġfrom Ġthis Ġlayout ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġremove Note ( view : ĠView , Ġs : ĠString , Ġlinear Layout : ĠLinearLayout ){ ĊĠĠĠĠĠĠĠ Ġlinear Layout . remove View ( view ) ĊĠĠĠĠĠĠĠ Ġnotes . remove ( s ) ĊĠĠĠ Ġ} Ċ Ċ }