package Ġgithub . com . vik rame zh il . dv u . views . flip per Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroidx . annotation . Attr Res Ċ import Ġandroidx . core . view . children Ċ import Ġgithub . com . vik rame zh il . dv u . R Ċ import Ġgithub . com . vik rame zh il . dv u . databinding . Layout Dv uf v Binding Ċ Ċ /** Ċ Ġ* ĠD roid ĠView ĠUtils Ġ- ĠFlip per ĠView ĠWrapper Ċ Ġ* Ġ@ author Ġv ik rame zh il Ċ Ġ*/ Ċ Ċ class ĠD vu Flip per View Wrapper Ġ@ Jvm Over loads Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġ@ Attr Res Ġdef Style Attr : ĠInt Ġ= Ġ 0 ): ĠRelative Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠLayout Dv uf v Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġd vu Flip per View : ĠD vu Flip per View ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġd vu Flip per View Indicator : ĠD vu Flip per View Indicator ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġplace Holder Icon : ĠDrawable Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġresources . get Drawable ( R . drawable . ic _ dv u _ icon _ placeholder , Ġcontext . theme ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġresources . get Drawable ( R . drawable . ic _ dv u _ icon _ placeholder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġproperties Ġ= Ġobject : ĠD vu Fv Props () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġindicator Icon : ĠDrawable Ġ= Ġplace Holder Icon ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġactive Page Indicator Bg Color : ĠInt Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġin Active Page Indicator Bg Color : ĠInt Ġ= ĠColor . GRAY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġon D vu Fv Listener : ĠOn D vu Fv Listener ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd vu Flip per View Indicator ?. on D vu Fv Listener Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġlayout Inflater . inflate ( R . layout . layout _ dv uf v , Ġnull ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠLayout Dv uf v Binding . inflate ( layout Inflater ) ĊĊĠĠĠĠĠĠĠ Ġinit ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitializes Ġthe Ġview Ġattributes ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠContext ĠThe Ġview Ġcontext ĊĠĠĠĠ Ġ* Ġ@ param Ġattrs ĠAttributeSet ĠThe Ġview Ġattributes ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinit ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( attrs Ġ== Ġnull ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= Ġcontext . theme . obtain Styled Attributes ( attrs , ĠR . style able . D vu Flip per View , Ġ 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . active Page Indicator Bg Color Ġ= Ġtyped Array . getInt ( R . style able . D vu Flip per View _ dv u Fv Active Page Indicator Bg Color , Ġproperties . active Page Indicator Bg Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . in Active Page Indicator Bg Color Ġ= Ġtyped Array . getInt ( R . style able . D vu Flip per View _ dv u Fv Inactive Page Indicator Bg Color , Ġproperties . in Active Page Indicator Bg Color ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindicator Icon Ġ= Ġtyped Array . get Drawable ( R . style able . D vu Flip per View _ dv u Fv Indicator Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( indicator Icon Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . indicator Icon Ġ= Ġindicator Icon ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Finish Inf late () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Finish Inf late () ĊĊĠĠĠĠĠĠĠ Ġchildren . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠD vu Flip per View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd vu Flip per View Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( it Ġis ĠD vu Flip per View Indicator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd vu Flip per View Indicator Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetting Ġup Ġthe Ġpage Ġindicator ĊĠĠĠĠĠĠĠ Ġd vu Flip per View Indicator ?. setup Indicator ( dv u Flip per View , Ġproperties . indicator Icon , Ġproperties . active Page Indicator Bg Color , Ġproperties . in Active Page Indicator Bg Color ) ĊĠĠĠ Ġ} Ċ }