package Ġandroidx . recyclerview . widget Ċ Ċ import Ġandroid . view . View Ċ Ċ abstract Ġclass ĠBind Aware ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠ Ġabstract Ġfun Ġon Bind () ĊĊĠĠĠ Ġabstract Ġfun Ġon Un bind () ĊĊĠĠĠ Ġinternal Ġoverride Ġfun Ġset Flags ( flags : ĠInt , Ġmask : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwas Bound Ġ= Ġis Bound ĊĠĠĠĠĠĠĠ Ġsuper . set Flags ( flags , Ġmask ) ĊĠĠĠĠĠĠĠ Ġnotify Binding ( was Bound , Ġis Bound ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġoverride Ġfun Ġadd Flags ( flags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwas Bound Ġ= Ġis Bound ĊĠĠĠĠĠĠĠ Ġsuper . add Flags ( flags ) ĊĠĠĠĠĠĠĠ Ġnotify Binding ( was Bound , Ġis Bound ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġoverride Ġfun Ġclear Payload () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwas Bound Ġ= Ġis Bound ĊĠĠĠĠĠĠĠ Ġsuper . clear Payload () ĊĠĠĠĠĠĠĠ Ġnotify Binding ( was Bound , Ġis Bound ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġoverride Ġfun Ġreset Internal () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwas Bound Ġ= Ġis Bound ĊĠĠĠĠĠĠĠ Ġsuper . reset Internal () ĊĠĠĠĠĠĠĠ Ġnotify Binding ( was Bound , Ġis Bound ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnotify Binding ( previous Bound : ĠBoolean , Ġcurrent Bound : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( previous Bound Ġ&& Ġ! current Bound ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Un bind () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! previous Bound Ġ&& Ġcurrent Bound ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Bind () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }