package Ġit . se phi ro th . android . library . number picker Ċ Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . databinding . Inverse Binding Method Ċ import Ġandroidx . databinding . Inverse Binding Methods Ċ Ċ @ Suppress (" unused ") Ċ @ Inverse Binding Methods ( Inverse Binding Method ( type Ġ= ĠNumber Picker :: class , Ġattribute Ġ= Ġ" android : progress ")) Ċ class ĠNumber Picker Binding Adapter Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Binding Adapter (" progress ") ĊĠĠĠĠĠĠĠ Ġfun Ġbind Progress ( view : ĠNumber Picker , Ġvalue : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . progress Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Binding Adapter ( value Ġ= Ġ[" picker _ min ", Ġ" picker _ max "], Ġrequire All Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġbind Min And Max ( view : ĠNumber Picker , Ġmin Value : ĠFloat ?, ĠmaxValue : ĠFloat ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġmin Value Ġ&& Ġnull Ġ== ĠmaxValue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġjava . lang . IllegalArgumentException (" At Ġleast Ġone Ġvalue Ġmust Ġbe Ġpassed Ġto Ġpicker _ min Ġor Ġpicker _ max ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( min Value Ġ!= Ġnull Ġ&& ĠmaxValue Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( min Value Ġ>= ĠmaxValue ) Ġthrow Ġjava . lang . IllegalArgumentException (" picker _ min Ġcannot Ġbe Ġbigger Ġthan Ġpicker _ max ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Value ?. let Ġ{ Ġview . min Value Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxValue ?. let Ġ{ Ġview . max Value Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ@ Binding Adapter ( value Ġ= Ġ[" android : onStart Tracking Touch ", Ġ" android : on Stop Tracking Touch ", Ġ" android : on Progress Changed ", Ġ" android : progress Attr Changed "], Ġrequire All Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġbind Listener ( view : ĠNumber Picker , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Listener : ĠOn Start Tracking Touch ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Listener : ĠOn Stop Tracking Touch ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Listener : ĠOn Progress Changed ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattr Changed : ĠBoolean ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( start Listener Ġ== Ġnull Ġ&& Ġstop Listener Ġ== Ġnull Ġ&& Ġprogress Listener Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . number Picker ChangeListener Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . number Picker ChangeListener Ġ= Ġobject Ġ: ĠNumber Picker . On Number Picker ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( number Picker : ĠNumber Picker , Ġprogress : ĠFloat , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Listener ?. on Progress Changed ( number Picker , Ġprogress , Ġfrom User ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( number Picker : ĠNumber Picker ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Listener ?. onStart Tracking Touch ( number Picker ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( number Picker : ĠNumber Picker ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Listener ?. on Stop Tracking Touch ( number Picker ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Start Tracking Touch Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonStart Tracking Touch ( seek Bar : ĠNumber Picker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Stop Tracking Touch Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠNumber Picker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Progress Changed Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Progress Changed ( seek Bar : ĠNumber Picker , Ġprogress : ĠFloat , Ġfrom User : ĠBoolean ) ĊĊĠĠĠ Ġ} Ċ } Ċ