/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ Ċ @ file : Suppress (" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġcom . sai 6 2 8 . android utils . kotlin . view Ċ Ċ import Ġandroid . support . annotation . Px Ċ import Ġandroid . support . annotation . Requires Api Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup ĊĊ Ċ operator Ġfun ĠViewGroup . get ( index : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġreturn Ġget Child At ( index ) Ġ?: Ġthrow ĠIndex OutOfBoundsException (" Index : Ġ$ index , ĠSize : Ġ$ child Count ") Ċ } Ċ Ċ inline Ġoperator Ġfun ĠViewGroup . contains ( view : ĠView ): ĠBoolean Ġ= ĠindexOf Child ( view ) Ġ!= Ġ- 1 Ċ inline Ġoperator Ġfun ĠViewGroup . plus Assign ( view : ĠView ) Ġ= Ġadd View ( view ) Ċ inline Ġoperator Ġfun ĠViewGroup . minus Assign ( view : ĠView ) Ġ= Ġremove View ( view ) Ċ Ċ inline Ġval ĠViewGroup . size Ġget () Ġ= Ġchild Count Ċ inline Ġfun ĠViewGroup . isEmpty (): ĠBoolean Ġ= Ġchild Count Ġ== Ġ 0 Ċ inline Ġfun ĠViewGroup . isNotEmpty (): ĠBoolean Ġ= Ġchild Count Ġ!= Ġ 0 ĊĊ Ċ inline Ġfun ĠViewGroup . forEach ( action : Ġ( view : ĠView ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġfor Ġ( index Ġin Ġ 0 Ġuntil Ġchild Count ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction ( getChild At ( index )) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ inline Ġfun ĠViewGroup . forEach Indexed ( action : Ġ( index : ĠInt , Ġview : ĠView ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġfor Ġ( index Ġin Ġ 0 Ġuntil Ġchild Count ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction ( index , Ġget Child At ( index )) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ operator Ġfun ĠViewGroup . iterator () Ġ= Ġobject Ġ: ĠMutable Iterator < View > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġindex Ġ= Ġ 0 ĊĠĠĠ Ġoverride Ġfun Ġhas Next (): ĠBoolean Ġ= Ġindex Ġ< Ġchild Count ĊĠĠĠ Ġoverride Ġfun Ġnext (): ĠView Ġ= Ġget Child At ( index ++) Ġ?: Ġthrow ĠIndex OutOfBoundsException () ĊĠĠĠ Ġoverride Ġfun Ġremove () Ġ= Ġremove View At (-- index ) Ċ } ĊĊ Ċ val ĠViewGroup . children : ĠSequence < View > ĊĠĠĠ Ġget () Ġ= Ġobject Ġ: ĠSequence < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġiterator () Ġ= Ġthis @ children . iterator () ĊĠĠĠ Ġ} ĊĊ Ċ inline Ġfun ĠViewGroup . Margin LayoutParams . set Margins (@ Px Ġsize : ĠInt ) Ġ{ ĊĠĠĠ Ġset Margins ( size , Ġsize , Ġsize , Ġsize ) Ċ } ĊĊ Ċ inline Ġfun ĠViewGroup . Margin LayoutParams . update Margins ( ĊĠĠĠĠĠĠĠ Ġ@ Px Ġleft : ĠInt Ġ= Ġleft Margin , ĊĠĠĠĠĠĠĠ Ġ@ Px Ġtop : ĠInt Ġ= Ġtop Margin , ĊĠĠĠĠĠĠĠ Ġ@ Px Ġright : ĠInt Ġ= Ġright Margin , ĊĠĠĠĠĠĠĠ Ġ@ Px Ġbottom : ĠInt Ġ= Ġbottom Margin Ċ ) Ġ{ ĊĠĠĠ Ġset Margins ( left , Ġtop , Ġright , Ġbottom ) Ċ } ĊĊ Ċ @ Requires Api ( 1 7 ) Ċ inline Ġfun ĠViewGroup . Margin LayoutParams . update Margins Relative ( ĊĠĠĠĠĠĠĠ Ġ@ Px Ġstart : ĠInt Ġ= Ġmargin Start , ĊĠĠĠĠĠĠĠ Ġ@ Px Ġtop : ĠInt Ġ= Ġtop Margin , ĊĠĠĠĠĠĠĠ Ġ@ Px Ġend : ĠInt Ġ= Ġmargin End , ĊĠĠĠĠĠĠĠ Ġ@ Px Ġbottom : ĠInt Ġ= Ġbottom Margin Ċ ) Ġ{ ĊĠĠĠ Ġmargin Start Ġ= Ġstart ĊĠĠĠ Ġtop Margin Ġ= Ġtop ĊĠĠĠ Ġmargin End Ġ= Ġend ĊĠĠĠ Ġbottom Margin Ġ= Ġbottom Ċ } Ċ