package Ġawesome . vr und . vp awesome widgets Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . graphics . drawable . Gradient Drawable Ċ import Ġandroid . text . Input Filter Ċ import Ġandroid . text . InputType Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget .* Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . graphics . Color Utils Ċ import Ġandroidx . core . widget . ImageView Compat Ċ import Ġkotlinx . android . synt hetic . main . vp _ awesome _ widget . view .* Ċ Ċ class ĠV P Auto Complete TextView Ġ@ Jvm Over loads Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 ) Ġ: ĠRelative Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠmContext Ġ= Ġcontext ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIN Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTOP Ġ= Ġ 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġback Color Ġ= Ġ 0 xFF F 1 F 1 F 1 . toInt () ĊĠĠĠ Ġprivate Ġvar Ġhas Border Ġ= Ġtrue ĊĊĠĠĠ Ġprivate Ġvar Ġhas Label Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġhas Drop Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġlabel Text Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġlabel Text Size Ġ= Ġsp To Px ( 1 4 F ) ĊĠĠĠ Ġprivate Ġvar Ġlabel TextColor Ġ= Ġ 0 xFF 6 6 6 6 6 6 . toInt () ĊĊĠĠĠ Ġprivate Ġvar Ġdrop Size Ġ= Ġdp To Px ( 3 6 F ) ĊĠĠĠ Ġprivate Ġvar Ġdrop Icon Ġ= ĠContext Compat . get Drawable ( mContext , ĠR . drawable . vp _ drop _ icon ) ĊĠĠĠ Ġprivate Ġvar Ġdrop Icon Tint Ġ= Ġ 0 xFF 6 6 6 6 6 6 . toInt () ĊĊĠĠĠ Ġprivate Ġvar Ġtin Color Ġ= Ġ 0 xFF c 3 c 3 c 3 . toInt () ĊĠĠĠ Ġprivate Ġvar Ġenable Ġ= Ġtrue ĊĊĠĠĠ Ġprivate Ġvar Ġdefault Array : ĠArray < String >? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġhint Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġtext All Caps Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġtext Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġhint Color Ġ= Ġ 0 xFF 8 0 8 0 8 0 . toInt () ĊĠĠĠ Ġprivate Ġvar ĠtextColor Ġ= Ġ 0 xFF 6 6 6 6 6 6 . toInt () ĊĠĠĠ Ġprivate Ġvar Ġtext Size Ġ= Ġsp To Px ( 1 4 F ) ĊĠĠĠ Ġprivate Ġvar Ġtext Style Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġthreshold Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġvar Ġposition Ġ= ĠIN ĊĠĠĠ Ġprivate Ġvar Ġinput Type Ġ= ĠInput Type . TYPE _ CLASS _ TEXT ĊĊĠĠĠ Ġvar Ġitem ClickListener : ĠOn ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠView . inflate ( mContext , ĠR . layout . vp _ awesome _ widget , Ġthis ) ĊĠĠĠĠĠĠĠ Ġval Ġparent Ġ= ĠmContext . obtain Styled Attributes ( attrs , ĠR . style able . VP Auto Complete TextView ) ĊĊĠĠĠĠĠĠĠ Ġback Color Ġ= Ġparent . getColor ( R . style able . VP Auto Complete TextView _ act _ back Color , Ġback Color ) ĊĠĠĠĠĠĠĠ Ġhas Border Ġ= Ġparent . getBoolean ( R . style able . VP Auto Complete TextView _ act _ has Border , Ġhas Border ) ĊĊĠĠĠĠĠĠĠ Ġhas Drop Ġ= Ġparent . getBoolean ( R . style able . VP Auto Complete TextView _ act _ has Drop , Ġhas Drop ) ĊĠĠĠĠĠĠĠ Ġhas Label Ġ= Ġparent . getBoolean ( R . style able . VP Auto Complete TextView _ act _ has Label , Ġhas Label ) ĊĠĠĠĠĠĠĠ Ġif Ġ( parent . hasValue ( R . style able . VP Auto Complete TextView _ act _ label Text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Text Ġ= Ġparent . getString ( R . style able . VP Auto Complete TextView _ act _ label Text ). toString () ĊĠĠĠĠĠĠĠ Ġlabel Text Size Ġ= Ġparent . get Dimension Pixel Size ( R . style able . VP Auto Complete TextView _ act _ label Text Size , Ġlabel Text Size ) ĊĠĠĠĠĠĠĠ Ġlabel TextColor Ġ= Ġparent . getColor ( R . style able . VP Auto Complete TextView _ act _ label TextColor , Ġlabel TextColor ) ĊĊĠĠĠĠĠĠĠ Ġdrop Size Ġ= Ġparent . get Dimension Pixel Size ( R . style able . VP Auto Complete TextView _ act _ drop Size , Ġdrop Size ) ĊĠĠĠĠĠĠĠ Ġdrop Icon Ġ= ĠContext Compat . get Drawable ( mContext , Ġparent . getResource Id ( R . style able . VP Auto Complete TextView _ act _ drop Icon , ĠR . drawable . vp _ drop _ icon )) ĊĠĠĠĠĠĠĠ Ġdrop Icon Tint Ġ= Ġparent . getColor ( R . style able . VP Auto Complete TextView _ act _ drop Icon Tint , Ġdrop Icon Tint ) ĊĊĠĠĠĠĠĠĠ Ġtin Color Ġ= Ġparent . getColor ( R . style able . VP Auto Complete TextView _ act _ tint , Ġtin Color ) ĊĠĠĠĠĠĠĠ Ġenable Ġ= Ġparent . getBoolean ( R . style able . VP Auto Complete TextView _ act _ enable , Ġenable ) ĊĠĠĠĠĠĠĠ Ġif Ġ( parent . hasValue ( R . style able . VP Auto Complete TextView _ android _ input Type )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Type Ġ= Ġparent . getInt ( R . style able . VP Auto Complete TextView _ android _ input Type , Ġinput Type ) ĊĊĠĠĠĠĠĠĠ Ġposition Ġ= Ġparent . getInt ( R . style able . VP Auto Complete TextView _ act _ position , Ġposition ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( parent . hasValue ( R . style able . VP Auto Complete TextView _ act _ array )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray ID : ĠInt Ġ= Ġparent . getResource Id ( R . style able . VP Auto Complete TextView _ act _ array , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Array Ġ= Ġparent . resources . getString Array ( array ID ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvp Auto Text . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġif Ġ( parent . hasValue ( R . style able . VP Auto Complete TextView _ act _ hint )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhint Ġ= Ġparent . getString ( R . style able . VP Auto Complete TextView _ act _ hint ). toString () ĊĠĠĠĠĠĠĠ Ġif Ġ( parent . hasValue ( R . style able . VP Auto Complete TextView _ act _ text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġparent . getString ( R . style able . VP Auto Complete TextView _ act _ text ). toString () ĊĠĠĠĠĠĠĠ Ġtext All Caps Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . getBoolean ( R . style able . VP Auto Complete TextView _ act _ text All Caps , Ġtext All Caps ) ĊĠĠĠĠĠĠĠ Ġhint Color Ġ= Ġparent . getColor ( R . style able . VP Auto Complete TextView _ act _ hint Color , Ġhint Color ) ĊĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġparent . getColor ( R . style able . VP Auto Complete TextView _ act _ textColor , ĠtextColor ) ĊĠĠĠĠĠĠĠ Ġtext Size Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . get Dimension Pixel Size ( R . style able . VP Auto Complete TextView _ act _ text Size , Ġtext Size ) ĊĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġparent . getInt ( R . style able . VP Auto Complete TextView _ act _ text Style , Ġtext Style ) ĊĊĠĠĠĠĠĠĠ Ġparent . recycle () ĊĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĊĠĠĠĠĠĠĠ Ġvp Drop Frame . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Auto Text . show DropDown () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvp Auto Text . on ItemClickListener Ġ= ĠMy ItemClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate UI () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtin Color Ġ= Ġtin Color . take If Ġ{ Ġenable Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠColor Utils . blend ARGB ( tin Color , ĠColor . WHITE , Ġ 0 . 6 f ) ĊĠĠĠĠĠĠĠ Ġval Ġlabel TextColor Ġ= Ġlabel TextColor . take If Ġ{ Ġenable Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠColor Utils . blend ARGB ( label TextColor , ĠColor . WHITE , Ġ 0 . 5 f ) ĊĠĠĠĠĠĠĠ Ġval Ġdrop Icon Tint Ġ= Ġdrop Icon Tint . take If Ġ{ Ġenable Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠColor Utils . blend ARGB ( drop Icon Tint , ĠColor . WHITE , Ġ 0 . 5 f ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠMain ĊĠĠĠĠĠĠĠ Ġval Ġmain GD Ġ= Ġvp Parent Layout . background Ġas ĠGradient Drawable ĊĠĠĠĠĠĠĠ Ġmain GD . setColor ( back Color ) ĊĠĠĠĠĠĠĠ Ġif Ġ( has Border ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain GD . set Stroke ( 1 , Ġtin Color ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain GD . set Stroke ( 0 , Ġtin Color ) ĊĠĠĠĠĠĠĠ Ġvp Parent Layout . background Ġ= Ġmain GD ĊĊĠĠĠĠĠĠĠ Ġ// ĠLabel ĊĠĠĠĠĠĠĠ Ġif Ġ( has Label ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp In Layout . visibility Ġ= ĠView . VISIBLE . take If Ġ{ Ġposition Ġ== ĠIN Ġ} Ġ?: ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Top Layout . visibility Ġ= ĠView . VISIBLE . take If Ġ{ Ġposition Ġ== ĠTOP Ġ} Ġ?: ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Auto Text . set Padding ( dp To Px ( 0 F . take If Ġ{ Ġposition Ġ== ĠIN Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 1 0 F ), Ġdp To Px ( 1 0 F ), Ġdp To Px ( 1 0 F ), Ġdp To Px ( 1 0 F )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp In Layout . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Top Layout . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Auto Text . set Padding ( dp To Px ( 1 0 F ), Ġdp To Px ( 1 0 F ), Ġdp To Px ( 1 0 F ), Ġdp To Px ( 1 0 F )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvp Label . text Ġ= Ġlabel Text ĊĠĠĠĠĠĠĠ Ġvp Label Top . text Ġ= Ġlabel Text ĊĠĠĠĠĠĠĠ Ġvp Label . setTextColor ( label TextColor ) ĊĠĠĠĠĠĠĠ Ġvp Label Top . setTextColor ( label TextColor ) ĊĠĠĠĠĠĠĠ Ġvp Label . setText Size ( Typed Value . COMPLEX _ UNIT _ PX , Ġlabel Text Size . toFloat ()) ĊĠĠĠĠĠĠĠ Ġval Ġlabel GD Ġ= Ġvp Label . background Ġas ĠGradient Drawable ĊĠĠĠĠĠĠĠ Ġlabel GD . setColor ( tin Color ) ĊĠĠĠĠĠĠĠ Ġval Ġlabel GD Top Ġ= Ġvp Label Top . background Ġas ĠGradient Drawable ĊĠĠĠĠĠĠĠ Ġlabel GD Top . setColor ( tin Color ) ĊĠĠĠĠĠĠĠ ĠImageView Compat . setImage Tint List ( curve Img , ĠColor State List . valueOf ( tin Color )) ĊĠĠĠĠĠĠĠ ĠImageView Compat . setImage Tint List ( curve Img Top , ĠColor State List . valueOf ( tin Color )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDrop ĊĠĠĠĠĠĠĠ Ġval Ġdrop GD Ġ= Ġvp Drop Frame . background Ġas ĠGradient Drawable ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġvp Drop Frame . layout Params ĊĠĠĠĠĠĠĠ Ġparams . width Ġ= Ġdrop Size ĊĠĠĠĠĠĠĠ Ġvp Drop Frame . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠ Ġvp Drop Icon . setImage Drawable ( drop Icon ) ĊĠĠĠĠĠĠĠ Ġvp Drop Icon . setColor Filter ( drop Icon Tint , ĠPort er D uff . Mode . SRC _ AT OP ) ĊĠĠĠĠĠĠĠ Ġdrop GD . setColor ( tin Color ) ĊĠĠĠĠĠĠĠ Ġif Ġ( has Drop ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Drop Frame . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Drop Frame . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠAuto Complete TextView ĊĠĠĠĠĠĠĠ Ġvp Auto Text . hint Ġ= Ġhint ĊĠĠĠĠĠĠĠ Ġvp Auto Text . set Hint TextColor ( hint Color ) ĊĠĠĠĠĠĠĠ Ġvp Auto Text . setTextColor ( textColor ) ĊĠĠĠĠĠĠĠ Ġvp Auto Text . setText Size ( Typed Value . COMPLEX _ UNIT _ PX , Ġtext Size . toFloat ()) ĊĠĠĠĠĠĠĠ Ġvp Auto Text . setType face ( vp Auto Text . type face , Ġtext Style ) ĊĠĠĠĠĠĠĠ Ġvp Auto Text . threshold Ġ= Ġthreshold ĊĠĠĠĠĠĠĠ Ġvp Auto Text . input Type Ġ= Ġinput Type ĊĠĠĠĠĠĠĠ Ġif Ġ( text All Caps ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Auto Text . filters Ġ= ĠarrayOf ( Input Filter . All Caps ()) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Auto Text . filters Ġ= ĠarrayOf () ĊĊĠĠĠĠĠĠĠ Ġvp Auto Text . isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠ Ġvp Drop Frame . isEnabled Ġ= Ġenable ĊĊĠĠĠĠĠĠĠ Ġif Ġ( default Array Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġad p Ġ= ĠArray Adapter < String >( mContext , ĠR . layout . vp _ drop _ item , ĠR . id . txt , Ġdefault Array !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp Auto Text . setAdapter ( ad p ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset BackColor ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġback Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget BackColor (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġback Color ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Label ( show : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhas Label Ġ= Ġshow ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Label (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhas Label ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Label ( label : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . label Text Ġ= Ġlabel ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Label (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlabel Text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Label Text Size ( size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlabel Text Size Ġ= Ġsize ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Label Text Size (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlabel Text Size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Label TextColor ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlabel TextColor Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Label TextColor (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlabel TextColor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Drop Size ( size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrop Size Ġ= Ġsize ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Drop Size (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdrop Size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Drop Icon ( icon : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrop Icon Ġ= ĠContext Compat . get Drawable ( mContext , Ġicon ) ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Drop Icon ( icon : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrop Icon Ġ= Ġicon ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Drop Icon (): ĠDrawable ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdrop Icon ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Icon Tint ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrop Icon Tint Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Icon Tint (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdrop Icon Tint ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Tint ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtin Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Tint (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtin Color ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset All Caps ( flag : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . text All Caps Ġ= Ġflag ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Hint ( hint : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . hint Ġ= Ġhint ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Hint (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhint ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Hint Color ( hint Color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . hint Color Ġ= Ġhint Color ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Hint Color (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhint Color ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġvp Auto Text . setText ( text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetText (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvp Auto Text . text . toString (). trim () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset TextColor ( textColor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . textColor Ġ= ĠtextColor ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget TextColor (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠtextColor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text Size ( size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . text Size Ġ= Ġsize ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetText Size (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtext Size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset TextStyle ( style : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . text Style Ġ= Ġstyle ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget TextStyle (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtext Style ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Threshold ( threshold : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . threshold Ġ= Ġthreshold ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Threshold (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthreshold ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Enable ( enable : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . enable Ġ= Ġenable ĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Enable (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġenable ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġset Adapter ( adapter : ĠT ) Ġwhere ĠT Ġ: ĠList Adapter ?, ĠT Ġ: ĠFilter able ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvp Auto Text . setAdapter ( adapter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Adapter (): ĠAdapter ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvp Auto Text . adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdp To Px ( dp : ĠFloat ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources . display Metrics ĊĠĠĠĠĠĠĠ Ġ). toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsp To Px ( sp : ĠFloat ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ SP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources . display Metrics ĊĠĠĠĠĠĠĠ Ġ). toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Click ( view : ĠV P Auto Complete TextView , Ġposition : ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠMy ItemClickListener ( my Ac : ĠV P Auto Complete TextView ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdapter View . On ItemClickListener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġac : ĠV P Auto Complete TextView Ġ= Ġmy Ac ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( adapter View : ĠAdapter View <* >, Ġview : ĠView , Ġposition : ĠInt , Ġl : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimm Ġ= ĠmContext . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimm . hide Soft Input From Window ( ac . application Window Token , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener ?. on Item Click ( ac , Ġposition ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }