/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 Ġ- Ġpresent ĠIn structure , ĠInc . Ċ Ġ* Ċ Ġ* ĠĠĠĠ ĠThis Ġprogram Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ Ġ* ĠĠĠĠ Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ Ġ* ĠĠĠĠ Ġthe ĠFree ĠSoftware ĠFoundation , Ġversion Ġ 3 Ġof Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* ĠĠĠĠ ĠThis Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ Ġ* ĠĠĠĠ Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ Ġ* ĠĠĠĠ ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ Ġ* ĠĠĠĠ ĠGNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* ĠĠĠĠ ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ Ġ* ĠĠĠĠ Ġalong Ġwith Ġthis Ġprogram . Ġ ĠIf Ġnot , Ġsee Ġ< http :// www . gnu . org / licenses />. Ċ Ġ* Ċ Ġ*/ Ċ package Ġcom . in structure . student . holders Ċ Ċ import Ġandroid . animation . Animator Inflater Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . in structure . p anda utils . utils . setVisible Ċ import Ġcom . in structure . student . R Ċ import Ġcom . in structure . student . adapter . Dis cussion List Recycler Adapter Ċ import Ġkotlinx . android . synt hetic . main . view holder _ discussion _ group _ header . view .* Ċ Ċ class ĠDis cussion Expand able ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠ Ġvar Ġis Expanded Ġ= Ġtrue ĊĊĠĠĠ Ġfun Ġbind ( expanded : ĠBoolean , Ġis Dis cussion : ĠBoolean , Ġgroup : ĠString , Ġcallback : Ġ( String ) Ġ-> ĠUnit ) Ġ= Ġwith ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġset Visible ( is Dis cussion ) ĊĊĠĠĠĠĠĠĠ Ġis Expanded Ġ= Ġexpanded ĊĊĠĠĠĠĠĠĠ ĠgroupName . text Ġ= Ġwhen Ġ( group ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDis cussion List Recycler Adapter . PIN N ED Ġ-> Ġcontext . getString ( R . string . utils _ pinned Dis cussion s ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDis cussion List Recycler Adapter . UN PIN N ED Ġ-> Ġcontext . getString ( R . string . utils _ discussion Un pinned ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDis cussion List Recycler Adapter . CLOSED _ FOR _ COMMENTS Ġ-> Ġcontext . getString ( R . string . closed _ discussion ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcollapse Icon . rotation Ġ= Ġif Ġ( expanded ) Ġ 1 8 0 f Ġelse Ġ 0 f ĊĊĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanim Res Ġ= Ġif Ġ( is Expanded ) ĠR . anim ator . rotation _ from _ neg 9 0 _ to _ 0 Ġelse ĠR . anim ator . rotation _ from _ 0 _ to _ neg 9 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Expanded Ġ= Ġ! is Expanded ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġflip Animator Ġ= ĠAn imator Inflater . load Animator ( context , Ġanim Res ) Ġas ĠObject Animator ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflip Animator . target Ġ= Ġcollapse Icon ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflip Animator . duration Ġ= Ġ 2 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflip Animator . start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( group ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHOLDER _ RES _ ID : ĠInt Ġ= ĠR . layout . view holder _ discussion _ group _ header ĊĠĠĠ Ġ} Ċ } Ċ