/* Ċ Ġ* ĠLicensed Ġunder ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠDesign ed Ġand Ġdeveloped Ġby ĠA id an ĠFol le st ad Ġ(@ af ol le st ad ) Ċ Ġ*/ Ċ package Ġcom . af ol le st ad . material dialogs . color . utils Ċ Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View . GONE Ċ import Ġandroid . view . View . IN VISIBLE Ċ import Ġandroid . view . View . VISIBLE Ċ import Ġandroid . view . ViewGroup . Margin LayoutParams Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Dim en Res Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . view pager . widget . ViewPager Ċ Ċ internal Ġfun Ġ< T Ġ: ĠView > ĠT . dim en Px (@ Dim en Res Ġres : ĠInt ): ĠInt Ġ{ ĊĠ Ġreturn Ġcontext . resources . get Dimension Pixel Size ( res ) Ċ } Ċ Ċ internal Ġfun Ġ< T Ġ: ĠView > ĠT . setVisible Or G one ( visible : ĠBoolean ) Ġ{ ĊĠ Ġvisibility Ġ= Ġif Ġ( visible ) ĠVIS IBLE Ġelse ĠG ONE Ċ } Ċ Ċ internal Ġfun ĠView Pager . on Page Selected ( selection : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠ Ġadd On Page ChangeListener ( object Ġ: ĠView Pager . On Page ChangeListener Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ= Ġselection ( position ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ= ĠUnit ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( ĊĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠ Ġposition Offset : ĠFloat , ĊĠĠĠĠĠ Ġposition Offset Pixels : ĠInt ĊĠĠĠ Ġ) Ġ= ĠUnit ĊĠ Ġ}) Ċ } Ċ Ċ internal Ġfun ĠArray < Seek Bar >. progress Changed ( selection : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠ Ġval Ġlistener Ġ= Ġobject Ġ: ĠSeek Bar . On Seek Bar ChangeListener Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( ĊĠĠĠĠĠ Ġp 0 : ĠSeek Bar ?, ĊĠĠĠĠĠ Ġp 1 : ĠInt , ĊĠĠĠĠĠ Ġp 2 : ĠBoolean ĊĠĠĠ Ġ) Ġ= Ġselection ( p 1 ) ĊĊĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( p 0 : ĠSeek Bar ?) Ġ= ĠUnit ĊĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( p 0 : ĠSeek Bar ?) Ġ= ĠUnit ĊĠ Ġ} ĊĠ Ġfor Ġ( bar Ġin Ġthis ) Ġ{ ĊĠĠĠ Ġbar . setOn Seek Bar ChangeListener ( listener ) ĊĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠTextView . text Changed ( changed : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠ Ġadd TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ?) Ġ= ĠUnit ĊĊĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( ĊĠĠĠĠĠ Ġs : ĠCharSequence ?, ĊĠĠĠĠĠ Ġstart : ĠInt , ĊĠĠĠĠĠ Ġcount : ĠInt , ĊĠĠĠĠĠ Ġafter : ĠInt ĊĠĠĠ Ġ) Ġ= ĠUnit ĊĊĠĠĠ Ġoverride Ġfun Ġon TextChanged ( ĊĠĠĠĠĠ Ġs : ĠCharSequence ?, ĊĠĠĠĠĠ Ġstart : ĠInt , ĊĠĠĠĠĠ Ġbefore : ĠInt , ĊĠĠĠĠĠ Ġcount : ĠInt ĊĠĠĠ Ġ) Ġ= Ġchanged ( s . toString ()) ĊĠ Ġ}) Ċ } Ċ Ċ internal Ġfun ĠView . change Height ( height : ĠInt ) Ġ{ ĊĠ Ġif Ġ( height Ġ== Ġ 0 ) Ġ{ ĊĠĠĠ Ġvisibility Ġ= ĠIN VISIBLE ĊĠ Ġ} ĊĠ Ġval Ġlp Ġ= Ġlayout Params Ġas ĠMargin LayoutParams ĊĠ Ġlp . height Ġ= Ġheight ĊĠ Ġlayout Params Ġ= Ġlp Ċ } Ċ Ċ internal Ġfun ĠView . below (@ Id Res Ġid : ĠInt ) Ġ{ ĊĠ Ġval Ġlp Ġ= Ġlayout Params Ġas ĠRelative Layout . LayoutParams ĊĠ Ġlp . add Rule ( Relative Layout . BE LOW , Ġid ) ĊĠ Ġlayout Params Ġ= Ġlp Ċ } Ċ