package Ġcom . mar cin mos k ala . kotlin android view bindings Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Fragment Ċ import Ġandroid . os . Build Ċ import Ġandroid . support . annotation . Id Res Ċ import Ġandroid . support . annotation . Requires Api Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Frame Layout Ċ import Ġkotlin . properties . ReadWrite Property Ċ import Ġkotlin . reflect . K Property Ċ Ċ fun ĠActivity . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġprogress View Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġrest ViewHolder Id : ĠInt Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ ĠfindViewById ( progress View Id ) Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ ĠfindViewById ( rest ViewHolder Id ) Ġ} Ċ ) Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . H ONE Y COMB ) Ċ fun ĠFragment . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġprogress View Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġrest ViewHolder Id : ĠInt Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ Ġview . findViewById ( progress View Id ) Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ Ġview . findViewById ( rest ViewHolder Id ) Ġ} Ċ ) Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . H ONE Y COMB ) Ċ fun Ġandroid . support . v 4 . app . Fragment . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġprogress View Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġrest ViewHolder Id : ĠInt Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ Ġview !!. findViewById ( progress View Id ) Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ Ġview !!. findViewById ( rest ViewHolder Id ) Ġ} Ċ ) Ċ Ċ fun ĠFrame Layout . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġprogress View Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Id Res Ġrest ViewHolder Id : ĠInt Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ ĠfindViewById ( progress View Id ) Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ ĠfindViewById ( rest ViewHolder Id ) Ġ} Ċ ) Ċ Ċ fun ĠActivity . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider : Ġ() Ġ-> ĠView , ĊĠĠĠĠĠĠĠ Ġrest View Provider : Ġ() Ġ-> ĠView Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ Ġprogress View Provider () Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ Ġrest View Provider () Ġ} Ċ ) Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . H ONE Y COMB ) Ċ fun ĠFragment . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider : Ġ() Ġ-> ĠView , ĊĠĠĠĠĠĠĠ Ġrest View Provider : Ġ() Ġ-> ĠView Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ Ġprogress View Provider () Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ Ġrest View Provider () Ġ} Ċ ) Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . H ONE Y COMB ) Ċ fun Ġandroid . support . v 4 . app . Fragment . bind To Loading ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider : Ġ() Ġ-> ĠView , ĊĠĠĠĠĠĠĠ Ġrest View Provider : Ġ() Ġ-> ĠView Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ Ġprogress View Provider () Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ Ġrest View Provider () Ġ} Ċ ) Ċ Ċ fun ĠPair < View , ĠView >. bind To Loading (): ĠRead Write Property < Any ?, ĠBoolean > Ġ= Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider Ġ= Ġ{ Ġfirst Ġ}, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider Ġ= Ġ{ Ġsecond Ġ} Ċ ) Ċ Ċ private Ġfun Ġbind To Loading P ( ĊĠĠĠĠĠĠĠ Ġprogress View Provider : Ġ() Ġ-> ĠView , ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Provider : Ġ() Ġ-> ĠView Ċ ): ĠRead Write Property < Any ?, ĠBoolean > Ġ= ĠLoading Binding ( ĊĠĠĠĠĠĠĠ Ġlazy ( progress View Provider ), ĊĠĠĠĠĠĠĠ Ġlazy ( rest ViewHolder Provider ) Ċ ) Ċ Ċ private Ġclass ĠLoading Binding ( ĊĠĠĠĠĠĠĠ Ġprogress Lazy View Provider : ĠLazy < View >, ĊĠĠĠĠĠĠĠ Ġrest ViewHolder Lazy Provider : ĠLazy < View > Ċ ) Ġ: ĠRead Write Property < Any ?, ĠBoolean > Ġ{ ĊĊĠĠĠ Ġval Ġprogress View Ġby Ġprogress Lazy View Provider ĊĠĠĠ Ġval Ġrest Of View Ġby Ġrest ViewHolder Lazy Provider ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġprogress View . visibility Ġ== ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property <* >, Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress View . visibility Ġ= Ġif Ġ( value ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġrest Of View ?. visibility Ġ= Ġif Ġ( value ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠ Ġ} Ċ }