package Ġcom . w ur uo ye . know . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . text . method . Scrolling Movement Method Ċ import Ġandroid . util . Array Map Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . Multi Transformation Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Center Crop Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Circle Crop Ċ import Ġcom . bump tech . glide . request . Base RequestOptions Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . google . android . material . text field . TextInput Layout Ċ import Ġcom . w ur uo ye . know . R Ċ import Ġcom . w ur uo ye . know . util . model . beans . Image Path Ċ import Ġcom . w ur uo ye . know . util . model . beans . Real Record Layout View Ċ import Ġcom . w ur uo ye . know . util . model . beans . Record Show Ċ import Ġcom . w ur uo ye . know . util . model . beans . Record Type Select Ċ import Ġcom . w ur uo ye . know . util . orm . table . Record ImageView Ċ import Ġcom . w ur uo ye . know . util . orm . table . Record Item Ċ import Ġcom . w ur uo ye . know . util . orm . table . Record TextView Ċ import Ġcom . w ur uo ye . know . util . orm . table . Record View Ċ import Ġjp . was ab eef . glide . transform ations . Blur Transformation Ċ import Ġjp . was ab eef . glide . transform ations . Color Filter Transformation Ċ import Ġjp . was ab eef . glide . transform ations . Rounded C orners Transformation Ċ Ċ /** Ċ Ġ* ĠCreated Ġat Ġ 2 0 1 9 - 0 4 - 2 5 Ġ 0 8 : 4 7 Ġby Ġwur uo ye Ċ Ġ* ĠDescription : Ċ Ġ*/ Ċ object ĠView Factory Ġ{ ĊĠĠĠ Ġinterface ĠOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( record View : ĠRecord View , Ġview : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent View : ĠArrayList < Record View >, Ġparent : ĠViewGroup ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( record View : ĠRecord View , Ġview : ĠView ) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġfun Ġgenerate View ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecord Show : ĠRecord Show , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattach : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠOn ClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Show : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreal Type Ġ= Ġrecord Show . record Type ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġrecord Show . record Data ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( v Ġin Ġreal Type . items ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate View ( context , Ġv , Ġparent , Ġattach , Ġlistener , Ġmap , Ġis Show ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgenerate View ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecord View : ĠRecord View , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattach : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠOn ClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap : ĠArray Map < String , ĠRecord Item >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Show : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( record View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRecord TextView Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate TextView ( context , Ġrecord View , Ġparent , Ġattach , Ġmap , Ġis Show ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRecord ImageView Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate ImageView ( context , Ġrecord View , Ġparent , Ġattach , Ġlistener , Ġmap , Ġis Show ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠReal Record Layout View Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Layout View ( context , Ġrecord View , Ġparent , Ġattach , Ġlistener , Ġmap , Ġis Show ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate TextView ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ ĠtextView : ĠRecord TextView , ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġattach : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġmap : ĠArray Map < String , ĠRecord Item >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġis Show : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( textView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( editable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Layout Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . view _ edit , Ġparent , Ġfalse ) Ġas ĠText Input Layout ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Layout . hint Ġ= Ġhint ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Hint Color ( view Layout , Ġhint Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Layout . set BackgroundColor ( bgColor ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Layout . set Padding ( Density Util . dp 2 px ( context , Ġpadding Left . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Top . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Right . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Bottom . toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠViewGroup . Margin LayoutParams ( view Layout . layout Params ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . set Margins ( Density Util . dp 2 px ( context , ĠmarginLeft . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginTop . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginRight . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginBottom . toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . width Ġ= Ġlength To Px ( context , Ġwidth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . height Ġ= Ġlength To Px ( context , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Layout . layout Params Ġ= Ġparams ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġview Layout . findViewById < EditText >( R . id . et _ view _ edit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setTextColor ( textColor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . text Size Ġ= Ġtext Size . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . gravity Ġ= Ġgravity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setType face ( view . type face , Ġtext Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . input Type Ġ= Ġinput Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . min Lines Ġ= Ġmin Line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . max Lines Ġ= Ġmax Line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . movement Method Ġ= ĠScroll ing Movement Method . getInstance () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attach ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . addView ( view Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( map Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġmap [ getKey ( textView )] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Layout . setTag ( R . id . tag _ text , Ġitem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setText ( item . content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setSelection ( item . content . length ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview Layout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . view _ text , Ġparent , Ġfalse ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setTextColor ( textColor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . text Size Ġ= Ġtext Size . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( bgColor ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Left . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Top . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Right . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Bottom . toFloat ()). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠViewGroup . Margin LayoutParams ( view . layout Params ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . set Margins ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginLeft . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginTop . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginRight . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginBottom . toFloat ()). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . width Ġ= Ġlength To Px ( context , Ġwidth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . height Ġ= Ġlength To Px ( context , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . gravity Ġ= Ġgravity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setType face ( view . type face , Ġtext Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . min Lines Ġ= Ġmin Line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . max Lines Ġ= Ġmax Line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . movement Method Ġ= ĠScroll ing Movement Method . getInstance () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attach ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate ImageView ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ ĠimageView : ĠRecord ImageView , ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġattach : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġlistener : ĠOn ClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmap : ĠArray Map < String , ĠRecord Item >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġis Show : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( imageView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . view _ img , Ġparent , Ġfalse ) Ġas ĠImageView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Padding ( Density Util . dp 2 px ( context , Ġpadding Left . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Top . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Right . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Bottom . toFloat ()). toInt ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġview . layout Params Ġas ĠViewGroup . Margin LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . width Ġ= Ġlength To Px ( context , Ġwidth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . height Ġ= Ġlength To Px ( context , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . set Margins ( Density Util . dp 2 px ( context , ĠmarginLeft . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginTop . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginRight . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginBottom . toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . layout Params Ġ= Ġlp ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attach ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onClick ( imageView , Ġview ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( map Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġmap [ getKey ( imageView )] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠGson Factory . s Instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fromJson ( item . content , ĠImage Path :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Img ( path , Ġview , Ġgenerate Option ( imageView , Ġview )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setTag ( R . id . tag _ image , Ġitem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Show Ġ&& Ġmap Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( R . drawable . ic _ demo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( generate Option ( imageView , Ġview )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Layout View ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġlayout View : ĠReal Record Layout View , ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġattach : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġlistener : ĠOn ClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmap : ĠArray Map < String , ĠRecord Item >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġis Show : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( layout View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . view _ layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , Ġfalse ) Ġas ĠLinearLayout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . orientation Ġ= Ġorientation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . gravity Ġ= Ġgravity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( bgColor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Padding ( Density Util . dp 2 px ( context , Ġpadding Left . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Top . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Right . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Bottom . toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġview . layout Params Ġas ĠViewGroup . Margin LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . width Ġ= Ġlength To Px ( context , Ġwidth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . height Ġ= Ġlength To Px ( context , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . set Margins ( Density Util . dp 2 px ( context , ĠmarginLeft . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginTop . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginRight . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginBottom . toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . layout Params Ġ= Ġlp ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( v Ġin Ġitems ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate View ( context , Ġv , Ġview , Ġtrue , Ġlistener , Ġmap , Ġis Show ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attach ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊĊĠĠĠ Ġfun Ġload Record View ( views : ĠArrayList < Record View >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ĊĠĠĠ Ġ): ĠArrayList < Record Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArrayList < Record Item >() ĊĠĠĠĠĠĠĠ Ġload Record View Recursive ( result , Ġviews , Ġparent ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Record View Recursive ( item List : ĠArrayList < Record Item >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġviews : ĠArrayList < Record View >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġviews . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġviews [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchild Ġ= Ġparent . getChild At ( i ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( v Ġis ĠReal Record Layout View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Record View Recursive ( item List , Ġv . items , Ġchild Ġas ĠViewGroup ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( v Ġis ĠRecord TextView Ġ&& Ġv . editable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġitem Ġ= Ġchild . getTag ( R . id . tag _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= ĠRecord Item (- 1 , Ġv . id !! , ĠRecord Type Select . TYPE _ TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem Ġas ĠRecord Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . content Ġ= Ġ( child Ġas ĠText Input Layout ). edit Text !!. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem List . add ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( v Ġis ĠRecord ImageView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġchild . getTag ( R . id . tag _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem List . add ( item Ġas ĠRecord Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊ ĊĊĠĠĠ Ġfun Ġgenerate Edit View ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecord View : ĠRecord View , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent View : ĠArrayList < Record View >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattach : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠOn Long ClickListener ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( record View Ġis ĠReal Record Layout View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġgenerate Edit Layout View ( context , Ġrecord View , Ġparent , Ġparent View , Ġattach , Ġlistener ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( record View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . view _ text , Ġparent , Ġfalse ) Ġas ĠTextView ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( Activity Compat . getColor ( context , ĠR . color . transparent _ plat in um )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Padding ( Density Util . dp 2 px ( context , Ġ( padding Left + 5 ). toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġ( padding Top + 5 ). toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġ( padding Right + 5 ). toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġ( padding Bottom + 5 ). toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . text Ġ= Ġget Label ( record View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . gravity Ġ= ĠGr avity . CENTER ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġview . layout Params Ġas ĠViewGroup . Margin LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlp . width Ġ= Ġlength To Px ( context , Ġwidth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlp . height Ġ= Ġlength To Px ( context , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlp . set Margins ( Density Util . dp 2 px ( context , ĠmarginLeft . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginTop . toFloat ()+ 1 0 ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginRight . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginBottom . toFloat ()+ 1 0 ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . layout Params Ġ= Ġlp ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attach ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onClick ( record View , Ġview , Ġparent View , Ġparent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Edit Layout View ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout View : ĠReal Record Layout View , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent View : ĠArrayList < Record View >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattach : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠOn Long ClickListener ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( layout View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . view _ layout , Ġparent , Ġfalse ) Ġas ĠLinearLayout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( Activity Compat . getColor ( context , ĠR . color . transparent _ plat in um )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Padding ( Density Util . dp 2 px ( context , Ġpadding Left . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġ( padding Top + 1 0 ). toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġpadding Right . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , Ġ( padding Bottom + 1 0 ). toFloat ()). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . gravity Ġ= Ġgravity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . orientation Ġ= Ġorientation ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġview . layout Params Ġas ĠViewGroup . Margin LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . width Ġ= Ġlength To Px ( context , Ġwidth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . height Ġ= Ġlength To Px ( context , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlp . set Margins ( Density Util . dp 2 px ( context , ĠmarginLeft . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginTop . toFloat ()+ 1 0 ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginRight . toFloat ()). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ensity Util . dp 2 px ( context , ĠmarginBottom . toFloat ()+ 1 0 ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . layout Params Ġ= Ġlp ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( v Ġin Ġitems ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Edit View ( context , Ġv , Ġview , Ġlayout View . items , Ġtrue , Ġlistener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attach ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onClick ( layout View , Ġview , Ġparent View , Ġparent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġset Hint Color ( layout : ĠText Input Layout , Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlayout . default Hint TextColor Ġ= ĠColor State List . valueOf ( color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetKey ( view : ĠRecord View ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠRecord Type Select . getType ( view ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ type }_${ view . id }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlength To Px ( context : ĠContext , Ġlength : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( length Ġ< Ġ 0 ) Ġlength ĊĠĠĠĠĠĠĠ Ġelse ĠD ensity Util . dp 2 px ( context , Ġlength . toFloat ()). toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Label ( view : ĠRecord View ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRecord ImageView Ġ-> Ġ" åĽ¾çīĩ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRecord TextView Ġ-> Ġif Ġ( view . editable ) Ġ" ç¼ĸè¾ĳ æ¡Ĩ " Ġelse Ġ" æłĩçŃ¾ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" æľª çŁ¥ " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Local Img Path ( filePath : ĠString , Ġview : ĠRecord ImageView , Ġiv : ĠImageView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġitem Ġ= Ġiv . getTag ( R . id . tag _ image ) ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= ĠRecord Item (- 1 L , Ġview . id !! , ĠRecord Type Select . getType ( view )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠGson Factory . s Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fromJson (( item Ġas ĠRecord Item ). content , ĠImage Path :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠImage Path ("", Ġ"") ĊĠĠĠĠĠĠĠ Ġpath . local Path Ġ= ĠfilePath ĊĠĠĠĠĠĠĠ Ġpath . remote Path Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġitem . content Ġ= ĠGson Factory . s Instance . toJson ( path ) ĊĠĠĠĠĠĠĠ Ġiv . setTag ( R . id . tag _ image , Ġitem ) ĊĠĠĠĠĠĠĠ Ġload Img ( path , Ġiv , Ġgenerate Option ( view , Ġiv )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Img ( image Path : ĠImage Path , Ġiv : ĠImageView , Ġoptions : ĠBase RequestOptions <* >) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( iv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( image Path . local Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( G lide . with ( iv ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( image Path . remote Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( options )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( iv ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Option ( view : ĠRecord ImageView , Ġiv : ĠImageView ): ĠBase RequestOptions < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Ġ= ĠRo unded C orners Transformation ( 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠRequest Options . bitmap Transform ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMulti Transformation < Bitmap >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . blur ) ĠBl ur Transformation ( 2 0 ) Ġelse Ġdefault , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . tint Ġ!= Ġ 0 ) ĠColor Filter Transformation ( view . tint ) Ġelse Ġdefault , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Filter Transformation ( view . tint ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( view . shape ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecord ImageView . SHAPE _ RECT ANGLE Ġ-> ĠCenter Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecord ImageView . SHAPE _ ROUND Ġ-> ĠMulti Transformation < Bitmap >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCenter Crop (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRo unded C orners Transformation ( 2 5 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecord ImageView . SHAPE _ CIR CLE Ġ-> ĠCircle Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }