/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 Ġpan pf Ġ< pan p fp an pf @ outlook . com > Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . github . pan pf . assembly adapter . list . expand able Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . github . pan pf . assembly adapter . Item Ċ Ċ /** Ċ Ġ* ĠSpec ially Ġused Ġin Ġthe Ġ[ Assembly Expand able ListAdapter . getGroup View ] Ġmethod , Ġthe Ġ[ is Expanded ] Ġparameter Ġis Ġadded Ġon Ġthe Ġbasis Ġof Ġthe Ġnormal Ġ[ Item ] Ċ Ġ* Ċ Ġ* ĠNeed Ġto Ġbe Ġused Ġwith Ġ[ Expand able Group Item Factory ] Ċ Ġ* Ċ Ġ* Ġ@ see ĠExpand able Group Item Factory Ċ Ġ*/ Ċ abstract Ġclass ĠExpand able Group Item < DATA Ġ: ĠExpand able Group > Ġ: ĠItem < DATA > Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ is Expanded Ġ= Ġfalse ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWhether Ġthe Ġgroup Ġis Ġexpanded Ġor Ġcollapsed ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġis Expanded : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ is Expanded ĊĊĠĠĠ Ġconstructor ( item View : ĠView ) Ġ: Ġsuper ( item View ) ĊĊĠĠĠ Ġconstructor ( item Layout Id : ĠInt , Ġparent : ĠViewGroup ) Ġ: Ġsuper ( item Layout Id , Ġparent ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBind Ġdata Ġto Ġitem Ġview . Ġ[ Assembly Expand able ListAdapter ] Ġdedicated ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġis Expanded Ġwhether Ġthe Ġgroup Ġis Ġexpanded Ġor Ġcollapsed ĊĠĠĠĠ Ġ* Ġ@ param Ġbinding Adapter Position ĠThe Ġposition Ġof Ġthe Ġcurrent Ġitem Ġin Ġits Ġdirectly Ġbound Ġadapter . ĊĠĠĠĠ Ġ* ĠFor Ġits Ġspecific Ġmeaning , Ġplease Ġrefer Ġto Ġthe ĠRecyclerView . ViewHolder . get Binding Adapter Position () Ġmethod . ĊĠĠĠĠ Ġ* ĠThis Ġvalue Ġwill Ġbe Ġdifferent Ġwhen Ġusing ĠConcat * Adapter ĊĠĠĠĠ Ġ* Ġ@ param Ġabsolute Adapter Position ĠThe Ġposition Ġof Ġthe Ġcurrent Ġitem Ġin Ġthe ĠRecyclerView . adapter Ġadapter . ĊĠĠĠĠ Ġ* ĠFor Ġthe Ġspecific Ġmeaning , Ġplease Ġrefer Ġto Ġthe ĠRecyclerView . ViewHolder . get Absolute Adapter Position () Ġmethod . ĊĠĠĠĠ Ġ* ĠThis Ġvalue Ġwill Ġbe Ġdifferent Ġwhen Ġusing ĠConcat * Adapter ĊĠĠĠĠ Ġ* Ġ@ param Ġdata ĠData Ġto Ġbe Ġbound ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdispatch Group Bind Data ( ĊĠĠĠĠĠĠĠ Ġis Expanded : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġbinding Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġabsolute Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠDATA , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ._ is Expanded Ġ= Ġis Expanded ĊĠĠĠĠĠĠĠ Ġsuper . dispatch Bind Data ( binding Adapter Position , Ġabsolute Adapter Position , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġbind Data ( ĊĠĠĠĠĠĠĠ Ġbinding Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġabsolute Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠDATA ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbind Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Expanded , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Adapter Position , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġabsolute Adapter Position , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBind Ġdata Ġto Ġitem Ġview ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġis Expanded Ġwhether Ġthe Ġgroup Ġis Ġexpanded Ġor Ġcollapsed ĊĠĠĠĠ Ġ* Ġ@ param Ġbinding Adapter Position ĠThe Ġposition Ġof Ġthe Ġcurrent Ġitem Ġin Ġits Ġdirectly Ġbound Ġadapter . ĊĠĠĠĠ Ġ* ĠFor Ġits Ġspecific Ġmeaning , Ġplease Ġrefer Ġto Ġthe ĠRecyclerView . ViewHolder . get Binding Adapter Position () Ġmethod . ĊĠĠĠĠ Ġ* ĠThis Ġvalue Ġwill Ġbe Ġdifferent Ġwhen Ġusing ĠConcat * Adapter ĊĠĠĠĠ Ġ* Ġ@ param Ġabsolute Adapter Position ĠThe Ġposition Ġof Ġthe Ġcurrent Ġitem Ġin Ġthe ĠRecyclerView . adapter Ġadapter . ĊĠĠĠĠ Ġ* ĠFor Ġthe Ġspecific Ġmeaning , Ġplease Ġrefer Ġto Ġthe ĠRecyclerView . ViewHolder . get Absolute Adapter Position () Ġmethod . ĊĠĠĠĠ Ġ* ĠThis Ġvalue Ġwill Ġbe Ġdifferent Ġwhen Ġusing ĠConcat * Adapter ĊĠĠĠĠ Ġ* Ġ@ param Ġdata ĠData Ġto Ġbe Ġbound ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġbind Data ( ĊĠĠĠĠĠĠĠ Ġis Expanded : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġbinding Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġabsolute Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠDATA , ĊĠĠĠ Ġ) Ċ }