package Ġjp . co . cyber agent . lo unge Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Call Super Ċ import Ġandroidx . lean back . widget . Row Presenter Ċ Ċ /** Ċ Ġ* ĠA Ġwrapper Ġaround Ġ[ Row Presenter ] Ġwhich Ġprovides Ġgeneric Ġtyped ĠAPIs . Ċ Ġ*/ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" Too Many Functions ") Ċ abstract Ġclass ĠTyped Row Presenter < T , ĠV H Ġ: ĠRow Presenter . ViewHolder > Ġ: ĠRow Presenter () Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCalled Ġto Ġcreate Ġa ĠViewHolder Ġobject Ġfor Ġa ĠRow . ĠSub classes Ġwill Ġoverride ĊĠĠ Ġ* Ġthis Ġmethod Ġto Ġreturn Ġa Ġdifferent Ġconcrete ĠViewHolder Ġobject . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġparent ĠThe Ġparent ĠView Ġfor Ġthe ĠRow 's Ġview Ġholder . ĊĠĠ Ġ* Ġ@ return ĠA ĠViewHolder Ġfor Ġthe ĠRow 's ĠView . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġabstract Ġfun ĠonCreate Row ( parent : ĠViewGroup ): ĠV H ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠBind s Ġthe Ġgiven Ġrow Ġobject Ġto Ġthe Ġgiven ĠViewHolder . ĊĠĠ Ġ* ĠDerived Ġclasses Ġof Ġ[ Typed Row Presenter ] Ġoverriding ĊĠĠ Ġ* Ġ[ Typed Row Presenter . on Bind Row ] Ġmust Ġcall Ġthrough Ġthe Ġsuper Ġclass 's ĊĠĠ Ġ* Ġimplementation Ġof Ġthis Ġmethod . ĊĠĠ Ġ*/ ĊĠ Ġ@ Call Super ĊĠ Ġprotected Ġopen Ġfun Ġon Bind Row ( vh : ĠV H , Ġitem : ĠT ) Ġ{ ĊĠĠĠ Ġsuper . on Bind Row ViewHolder ( vh , Ġitem ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠU nb inds Ġthe Ġgiven ĠViewHolder . ĊĠĠ Ġ* ĠDerived Ġclasses Ġof Ġ[ Typed Row Presenter ] Ġoverriding Ġ[ Typed Row Presenter . on Un bind Row ] ĊĠĠ Ġ* Ġmust Ġcall Ġthrough Ġthe Ġsuper Ġclass 's Ġimplementation Ġof Ġthis Ġmethod . ĊĠĠ Ġ*/ ĊĠ Ġ@ Call Super ĊĠ Ġprotected Ġopen Ġfun Ġon Un bind Row ( vh : ĠV H ) Ġ{ ĊĠĠĠ Ġsuper . on Un bind Row ViewHolder ( vh ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCalled Ġafter Ġa Ġ[ Row Presenter . ViewHolder ] Ġis Ġcreated Ġfor Ġa ĠRow . ĊĠĠ Ġ* ĠSub classes Ġmay Ġoverride Ġthis Ġmethod Ġand Ġstart Ġby Ġcalling ĊĠĠ Ġ* Ġsuper Ġclass 's Ġ[ initialize Row ]. ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġv h ĠThe ĠViewHolder Ġto Ġinitialize Ġfor Ġthe ĠRow . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġinitialize Row ( vh : ĠV H ) Ġ{ ĊĠĠĠ Ġsuper . initialize Row ViewHolder ( vh ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġrow Ġview 's Ġexpanded Ġstate Ġchanges . ĠA Ġsubclass Ġmay Ġoverride Ġthis Ġmethod Ġto ĊĠĠ Ġ* Ġrespond Ġto Ġexpanded Ġstate Ġchanges Ġof Ġa ĠRow . ĊĠĠ Ġ* ĠThe Ġdefault Ġimplementation Ġwill Ġhide / show Ġthe Ġheader Ġview . ĠSub classes Ġmay ĊĠĠ Ġ* Ġmake Ġvisual Ġchanges Ġto Ġthe ĠRow ĠView Ġbut Ġmust Ġnot Ġcreate Ġanimation Ġon Ġthe ĊĠĠ Ġ* ĠRow Ġview . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġon Row Expanded ( vh : ĠV H , Ġexpanded : ĠBoolean ) Ġ{ ĊĠĠĠ Ġsuper . on Row View Expanded ( vh , Ġexpanded ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThis Ġmethod Ġis Ġonly Ġcalled Ġfrom Ġ[ on Row Selected ]. ĊĠĠ Ġ* ĠThe Ġdefault Ġbehavior Ġis Ġto Ġsignal Ġrow Ġselected Ġevents Ġwith Ġa Ġnull Ġitem Ġparameter . ĊĠĠ Ġ* ĠA ĠSub class Ġof Ġ[ Typed Row Presenter ] Ġhaving Ġchild Ġitems Ġshould Ġoverride Ġthis Ġmethod Ġand Ġdispatch ĊĠĠ Ġ* Ġevents Ġwith Ġitem Ġinformation . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġdispatch ItemSelected ( vh : ĠV H , Ġselected : ĠBoolean ) Ġ{ ĊĠĠĠ Ġsuper . dispatch ItemSelected Listener ( vh , Ġselected ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġgiven Ġrow Ġview Ġchanges Ġselection Ġstate . ĠA Ġsubclass Ġmay Ġoverride Ġthis Ġto ĊĠĠ Ġ* Ġrespond Ġto Ġselected Ġstate Ġchanges Ġof Ġa ĠRow . ĠA Ġsubclass Ġmay Ġmake Ġvisual Ġchanges Ġto ĠRow Ġview ĊĠĠ Ġ* Ġbut Ġmust Ġnot Ġcreate Ġanimation Ġon Ġthe ĠRow Ġview . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġon Row Selected ( vh : ĠV H , Ġselected : ĠBoolean ) Ġ{ ĊĠĠĠ Ġsuper . on Row View Selected ( vh , Ġselected ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCallback Ġwhen Ġthe Ġselect Ġlevel Ġchanges . ĠThe Ġdefault Ġimplementation Ġapplies ĊĠĠ Ġ* Ġthe Ġselect Ġlevel Ġto Ġ[ android x . lean back . widget . Row Header Presenter . set Select Level ] ĊĠĠ Ġ* Ġwhen Ġ[ get Select Effect Enabled ] Ġis Ġtrue . ĠSub classes Ġmay Ġoverride ĊĠĠ Ġ* Ġthis Ġfunction Ġand Ġimplement Ġa Ġdifferent Ġselect Ġeffect . ĠIn Ġthis Ġcase , ĊĠĠ Ġ* Ġthe Ġmethod Ġ[ is Using Default Select Effect ] Ġshould Ġalso Ġbe Ġoverridden Ġto Ġdisable ĊĠĠ Ġ* Ġthe Ġdefault Ġdim ming Ġeffect . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġon Row Select Level Changed ( vh : ĠV H ) Ġ{ ĊĠĠĠ Ġsuper . on Select Level Changed ( vh ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠInv oked Ġwhen Ġthe Ġrow Ġview Ġis Ġattached Ġto Ġthe Ġwindow . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġon Row Attached To Window ( vh : ĠV H ) Ġ{ ĊĠĠĠ Ġsuper . on Row View Attached To Window ( vh ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠInv oked Ġwhen Ġthe Ġrow Ġview Ġis Ġdet ached Ġfrom Ġthe Ġwindow . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġopen Ġfun Ġon Row Detached From Window ( vh : ĠV H ) Ġ{ ĊĠĠĠ Ġsuper . on Row View Detached From Window ( vh ) ĊĠ Ġ} ĊĊĠ Ġ// Ġregion Ġ---- Ġoverride Ġparent Ġpresenter Ġ---- ĊĊĠ Ġfinal Ġoverride Ġfun Ġcreate Row ViewHolder ( parent : ĠViewGroup ): ĠViewHolder Ġ{ ĊĠĠĠ Ġreturn ĠonCreate Row ( parent ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġon Bind Row ViewHolder ( vh : ĠViewHolder ?, Ġitem : ĠAny ?) Ġ{ ĊĠĠĠ Ġon Bind Row ( vh Ġas ĠV H , Ġitem Ġas ĠT ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġon Un bind Row ViewHolder ( vh : ĠViewHolder ?) Ġ{ ĊĠĠĠ Ġsuper . on Un bind Row ViewHolder ( vh ) ĊĠĠĠ Ġon Un bind Row ( vh Ġas ĠV H ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġinitialize Row ViewHolder ( vh : ĠViewHolder ?) Ġ{ ĊĠĠĠ Ġinitialize Row ( vh Ġas ĠV H ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġon Row View Expanded ( vh : ĠViewHolder ?, Ġexpanded : ĠBoolean ) Ġ{ ĊĠĠĠ Ġon Row Expanded ( vh Ġas ĠV H , Ġexpanded ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġdispatch ItemSelected Listener ( vh : ĠViewHolder ?, Ġselected : ĠBoolean ) Ġ{ ĊĠĠĠ Ġdispatch ItemSelected ( vh Ġas ĠV H , Ġselected ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġon Row View Selected ( vh : ĠViewHolder ?, Ġselected : ĠBoolean ) Ġ{ ĊĠĠĠ Ġon Row Selected ( vh Ġas ĠV H , Ġselected ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun ĠonSelect Level Changed ( vh : ĠViewHolder ?) Ġ{ ĊĠĠĠ Ġon Row Select Level Changed ( vh Ġas ĠV H ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġon Row View Attached To Window ( vh : ĠViewHolder ?) Ġ{ ĊĠĠĠ Ġon Row Attached To Window ( vh Ġas ĠV H ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġon Row View Detached From Window ( vh : ĠViewHolder ?) Ġ{ ĊĠĠĠ Ġon Row Detached From Window ( vh Ġas ĠV H ) ĊĠ Ġ} ĊĊĠ Ġ// Ġend region Ċ } Ċ