package Ġcom . example . android . code labs . paging Ċ Ċ import Ġandroid . view . View Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 1 6 / 0 4 / 2 0 2 1 Ċ Ġ* Ġ@ author ĠAnd rÃ© ĠS tra ube Ċ Ġ* Ċ Ġ* ĠSecurity Ġto Ġavoid Ġsimultaneous Ġdouble - click ing Ċ Ġ*/ Ċ @ Published Api Ċ internal Ġobject ĠDe bounce Ġ{ ĊĊĠĠĠ Ġ@ Volatile Ġprivate Ġvar Ġenabled : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġval Ġenable Again Ġ= ĠRunnable Ġ{ Ġenabled Ġ= Ġtrue Ġ} ĊĊĠĠĠ Ġfun Ġcan Perform ( view : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . post ( enable Again ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Published Api Ċ internal Ġfun Ġ< T Ġ: ĠView > ĠT . onClick De bounc ed ( click : Ġ( view : ĠT ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( De bounce . can Perform ( it )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick ( it Ġas ĠT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }