package Ġcom . cr az yle g end . kotlin extensions . rx . bindings Ċ Ċ import Ġandroid . widget . TextView Ċ import Ġcom . cr az yle g end . kotlin extensions . rx . main Thread Scheduler Ċ import Ġcom . jak ew h art on . r xb ind ing 3 . widget . text Changes Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . rx kotlin . addTo Ċ import Ġjava . util . concurrent . TimeUnit ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġcr azy Ġon Ġ 3 / 1 8 / 2 0 Ġto Ġlong Ġlive Ġand Ġpro sper Ġ! Ċ Ġ*/ ĊĊ Ċ fun ĠTextView . text Changes ( de bounce : ĠLong Ġ= Ġ 3 0 0 L , Ġdebounce Time : ĠTimeUnit Ġ= ĠTimeUnit . MILLISECONDS , Ġskip Initial Value : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposite Disposable : ĠComposite Disposable , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : Ġ( text : ĠString ) Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠ Ġval Ġchanges Ġ= Ġtext Changes () ĊĠĠĠ Ġif Ġ( skip Initial Value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġchanges . skip Initial Value () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġchanges . de bounce ( de bounce , Ġdebounce Time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . toString () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( main Thread Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( it . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). addTo ( composite Disposable ) Ċ } ĊĊĊ