/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠPaul ĠR y bits ky i , Ġpa ul . ry bits ky i . work @ gmail . com Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . paul ry bits ky i . value picker . sample . person inf op icker Ċ Ċ import Ġandroid . graphics . Type face Ċ import Ġcom . paul ry bits ky i . commons . k tx . getColor Ċ import Ġcom . paul ry bits ky i . commons . k tx . get Dimension Ċ import Ġcom . paul ry bits ky i . commons . k tx . get Dimension Pixel Size Ċ import Ġcom . paul ry bits ky i . commons . utils . view Binding Ċ import Ġcom . paul ry bits ky i . value picker . Value Picker View Ċ import Ġcom . paul ry bits ky i . value picker . model . Item Ċ import Ġcom . paul ry bits ky i . value picker . model . Orientation Ċ import Ġcom . paul ry bits ky i . value picker . model . Picker Item Ċ import Ġcom . paul ry bits ky i . value picker . model . Size Ċ import Ġcom . paul ry bits ky i . value picker . sample . Base Fragment Ċ import Ġcom . paul ry bits ky i . value picker . sample . R Ċ import Ġcom . paul ry bits ky i . value picker . sample . databinding . Fragment Person Info Picker Binding Ċ import Ġcom . paul ry bits ky i . value picker . sample . value effects . Composite Value Effect Ċ import Ġcom . paul ry bits ky i . value picker . sample . value effects . Rotation Value Effect Ċ import Ġcom . paul ry bits ky i . value picker . value effects . concrete . F ading Value Effect Ċ import Ġcom . paul ry bits ky i . value picker . value effects . concrete . No Value Effect Ċ Ċ internal Ġclass ĠPerson Info Picker Fragment Ġ: ĠBase Fragment < ĊĠĠĠ ĠFragment Person Info Picker Binding Ċ >( R . layout . fragment _ person _ info _ picker ) Ġ{ ĊĊĊĠĠĠ Ġoverride Ġval Ġview Binding Ġby Ġview Binding ( Fragment Person Info Picker Binding :: bind ) ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Init () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Init () ĊĊĠĠĠĠĠĠĠ Ġinit Pick ers () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Pick ers () Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Age Picker () ĊĠĠĠĠĠĠĠ Ġinit Height Picker () ĊĠĠĠĠĠĠĠ Ġinit Weight Picker () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠValue Picker View . init Person Info Picker () Ġ{ ĊĠĠĠĠĠĠĠ Ġare Div iders Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Infinite Scroll Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġmax Visible Items Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġget Dimension ( R . dim en . person _ info _ picker _ text _ size ) ĊĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġget Color ( R . color . color Accent ) ĊĠĠĠĠĠĠĠ Ġdivider Color Ġ= Ġget Color ( R . color . color Accent ) ĊĠĠĠĠĠĠĠ Ġtext Type face Ġ= ĠType face . DEFAULT _ BOLD ĊĠĠĠĠĠĠĠ Ġfixed Item Size Ġ= ĠSize . with Fixed Size ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġget Dimension Pixel Size ( R . dim en . person _ info _ picker _ item _ width ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġget Dimension Pixel Size ( R . dim en . person _ info _ picker _ item _ height ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġorientation Ġ= ĠOrientation . HORIZONTAL ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Age Picker () Ġ= Ġwith ( view Binding . age Picker ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Person Info Picker () ĊĠĠĠĠĠĠĠ Ġvalue Effect Ġ= ĠRotation Value Effect ( Rotation Value Effect . Property . ROT ATION _ Y ) ĊĠĠĠĠĠĠĠ Ġon ItemSelected Listener Ġ= ĠValue Picker View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Binding . age Tv . text Ġ= Ġ" Age : Ġ${ it . title }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġage Picker Items Ġ= Ġgenerate Age Picker Items () ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġage Picker Items ĊĠĠĠĠĠĠĠ Ġset SelectedItem ( age Picker Items [ 1 9 ]) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Age Picker Items (): ĠList < Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmutable ListOf < Item >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( age Ġin Ġ 1 .. 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP icker Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġage , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġage . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Height Picker () Ġ= Ġwith ( view Binding . height Picker ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Person Info Picker () ĊĠĠĠĠĠĠĠ Ġvalue Effect Ġ= ĠNo Value Effect () ĊĠĠĠĠĠĠĠ Ġon ItemSelected Listener Ġ= ĠValue Picker View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Binding . height Tv . text Ġ= Ġ" Height : Ġ${ it . title }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġheight Picker Items Ġ= Ġgenerate Height Picker Items () ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġheight Picker Items ĊĠĠĠĠĠĠĠ Ġset SelectedItem ( height Picker Items [ 1 3 0 ]) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Height Picker Items (): ĠList < Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmutable ListOf < Item >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( cm Ġin Ġ 5 0 .. 2 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP icker Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġcm , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"$ cm Ġcm " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Weight Picker () Ġ= Ġwith ( view Binding . weight Picker ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Person Info Picker () ĊĠĠĠĠĠĠĠ Ġvalue Effect Ġ= ĠComposite Value Effect ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF ading Value Effect (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRotation Value Effect ( Rotation Value Effect . Property . ROT ATION _ Y ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġon ItemSelected Listener Ġ= ĠValue Picker View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Binding . weight Tv . text Ġ= Ġ" Weight : Ġ${ it . title }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġweight Picker Items Ġ= Ġgenerate Weight Picker Items () ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġweight Picker Items ĊĠĠĠĠĠĠĠ Ġset SelectedItem ( weight Picker Items [ 6 0 ]) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Weight Picker Items (): ĠList < Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmutable ListOf < Item >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( kg Ġin Ġ 1 0 .. 1 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP icker Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġk g , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"$ kg Ġk g " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }