package Ġcom . kw un ai . github . binding Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . databinding . Binding Adapter Ċ import Ġandroid . view . View Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . view . Rx View Ċ import Ġio . reactivex . functions . Consumer Ċ import Ġjava . util . concurrent . TimeUnit ĊĊ Ċ interface ĠView Click Consumer Ġ: ĠConsumer < View > Ċ Ċ const Ġval ĠDEFAULT _ TH RO TT LE _ TIME Ġ= Ġ 5 0 0 L ĊĊ Ċ /** Ċ Ġ* Ġ[ View ] æĺ¯åĲ¦ åı¯ è§ģ Ċ Ġ* Ċ Ġ* Ġ@ param Ġvisible Ġ åĢ¼ä¸º true æĹ¶ åı¯ è§ģ Ċ Ġ*/ Ċ @ Binding Adapter (" bind _ visibility ") Ċ fun Ġset Visible ( view : ĠView , Ġvisible : ĠBoolean ) Ġ{ ĊĠĠĠ Ġview . visibility Ġ= Ġif Ġ( visible ) ĠView . VISIBLE Ġelse ĠView . GONE Ċ } Ċ Ċ /** Ċ Ġ* Ġ[ View ] éĺ² æĬ ĸ åĬ¨ çĤ¹åĩ» äºĭä»¶ Ċ Ġ* Ċ Ġ* Ġ@ param Ġconsumer Ġ çĤ¹åĩ» äºĭä»¶ æ¶Īè´¹ èĢħ Ċ Ġ* Ġ@ param Ġtime Ġ éĺ² æĬ ĸ åĬ¨ æĹ¶éĹ´ éĹ´ éļĶ ï¼Į åįķä½į ms Ċ Ġ*/ Ċ @ Suppress Lint (" Check Result ") Ċ @ Binding Adapter (" bind _ onClick ", Ġ" bind _ throttle First ", Ġrequire All Ġ= Ġfalse ) Ċ fun Ġset OnClick Event ( view : ĠView , Ġconsumer : ĠView Click Consumer , Ġtime : ĠLong ?) Ġ{ ĊĠĠĠ ĠRx View . click s ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. throttle First ( time Ġ?: ĠDEFAULT _ TH RO TT LE _ TIME , ĠTimeUnit . MILLISECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġconsumer . accept ( view ) Ġ} Ċ } Ċ