package Ġcom . soc ros . android . lib . util Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Build . VERSION _ CODES ĊĊ Ċ fun Ġcurrent Api Int () Ġ= ĠBuild . VERSION . SDK _ INT Ċ Ċ fun Ġcurrent Api () Ġ= ĠApi Version . from Value ( current Api Int ()) ĊĊ Ċ fun Ġat Least Api ( api : ĠInt ) Ġ= Ġcurrent Api Int () Ġ>= Ġapi Ċ Ċ inline Ġfun Ġat Least Api ( api : ĠInt , Ġaction : Ġ() Ġ-> ĠUnit ) Ġ{ Ċ ĉ if Ġ( at Least Api ( api )) Ġaction () Ċ } ĊĊ Ċ fun Ġat Least Api ( api : ĠApi Version ) Ġ= Ġat Least Api ( api . version Code ) Ċ Ċ inline Ġfun Ġat Least Api ( api : ĠApi Version , Ġaction : Ġ() Ġ-> ĠUnit ) Ġ{ Ċ ĉ if Ġ( at Least Api ( api )) Ġaction () Ċ } ĊĊ Ċ /** Ċ Ġ* ĠEnumeration Ġof Ġthe Ġcurrently Ġknown ĠSDK Ġversion Ġcodes . Ġ ĠThese Ġare Ġthe Ċ Ġ* Ġvalues Ġthat Ġcan Ġbe Ġfound Ġin Ġ[ VERSION . SDK ]. Ġ ĠVersion Ġnumbers Ċ Ġ* Ġincrement Ġmon oton ically Ġwith Ġeach Ġofficial Ġplatform Ġrelease . Ċ Ġ*/ Ċ enum Ġclass ĠApi Version ( val Ġversion Code : ĠInt ) Ġ{ Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 0 Ġ( 1 ) Ċĉ Ġ*/ Ċ ĉ BASE ( VERSION _ CODES . BASE ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 0 Ġ( 1 ) Ċĉ Ġ*/ Ċ ĉ V 1 _ BASE ( VERSION _ CODES . BASE ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 1 Ġ( 2 ) Ċĉ Ġ*/ Ċ ĉ BASE _ 1 _ 1 ( VERSION _ CODES . BASE _ 1 _ 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 1 Ġ( 2 ) Ċĉ Ġ*/ Ċ ĉ V 2 _ BASE _ 1 _ 1 ( VERSION _ CODES . BASE _ 1 _ 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 5 Ġ( 3 ) Ċĉ Ġ*/ Ċ ĉ CUP CA KE ( VERSION _ CODES . CUP CA KE ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 5 Ġ( 3 ) Ċĉ Ġ*/ Ċ ĉ V 3 _ CUP CA KE ( VERSION _ CODES . CUP CA KE ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 6 Ġ( 4 ) Ċĉ Ġ*/ Ċ ĉ D ON UT ( VERSION _ CODES . D ON UT ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 1 . 6 Ġ( 4 ) Ċĉ Ġ*/ Ċ ĉ V 4 _ D ON UT ( VERSION _ CODES . D ON UT ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 0 Ġ( 5 ) Ċĉ Ġ*/ Ċ ĉ E CL AIR ( VERSION _ CODES . E CL AIR ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 0 Ġ( 5 ) Ċĉ Ġ*/ Ċ ĉ V 5 _ E CL AIR ( VERSION _ CODES . E CL AIR ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 0 . 1 Ġ( 6 ) Ċĉ Ġ*/ Ċ ĉ E CL AIR _ 0 _ 1 ( VERSION _ CODES . E CL AIR _ 0 _ 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 0 . 1 Ġ( 6 ) Ċĉ Ġ*/ Ċ ĉ V 6 _ E CL AIR _ 0 _ 1 ( VERSION _ CODES . E CL AIR _ 0 _ 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 1 Ġ( 7 ) Ċĉ Ġ*/ Ċ ĉ E CL AIR _ MR 1 ( VERSION _ CODES . E CL AIR _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 1 Ġ( 7 ) Ċĉ Ġ*/ Ċ ĉ V 7 _ E CL AIR _ MR 1 ( VERSION _ CODES . E CL AIR _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 2 Ġ( 8 ) Ċĉ Ġ*/ Ċ ĉ F RO YO ( VERSION _ CODES . F RO YO ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 2 Ġ( 8 ) Ċĉ Ġ*/ Ċ ĉ V 8 _ F RO YO ( VERSION _ CODES . F RO YO ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 3 Ġ( 9 ) Ċĉ Ġ*/ Ċ ĉ GING ER B READ ( VERSION _ CODES . GING ER B READ ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 3 Ġ( 9 ) Ċĉ Ġ*/ Ċ ĉ V 9 _ GING ER B READ ( VERSION _ CODES . GING ER B READ ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 3 . 3 Ġ( 1 0 ) Ċĉ Ġ*/ Ċ ĉ GING ER B READ _ MR 1 ( VERSION _ CODES . GING ER B READ _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 2 . 3 . 3 Ġ( 1 0 ) Ċĉ Ġ*/ Ċ ĉ V 1 0 _ GING ER B READ _ MR 1 ( VERSION _ CODES . GING ER B READ _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 3 . 0 Ġ( 1 1 ) Ċĉ Ġ*/ Ċ ĉ H ONE Y COMB ( VERSION _ CODES . H ONE Y COMB ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 3 . 0 Ġ( 1 1 ) Ċĉ Ġ*/ Ċ ĉ V 1 1 _ H ONE Y COMB ( VERSION _ CODES . H ONE Y COMB ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 3 . 1 Ġ( 1 2 ) Ċĉ Ġ*/ Ċ ĉ H ONE Y COMB _ MR 1 ( VERSION _ CODES . H ONE Y COMB _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 3 . 1 Ġ( 1 2 ) Ċĉ Ġ*/ Ċ ĉ V 1 2 _ H ONE Y COMB _ MR 1 ( VERSION _ CODES . H ONE Y COMB _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 3 . 2 Ġ( 1 3 ) Ċĉ Ġ*/ Ċ ĉ H ONE Y COMB _ MR 2 ( VERSION _ CODES . H ONE Y COMB _ MR 2 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 3 . 2 Ġ( 1 3 ) Ċĉ Ġ*/ Ċ ĉ V 1 3 _ H ONE Y COMB _ MR 2 ( VERSION _ CODES . H ONE Y COMB _ MR 2 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 0 Ġ( 1 4 ) Ċĉ Ġ*/ Ċ ĉ ICE _ CRE AM _ S AND W ICH ( VERSION _ CODES . ICE _ CRE AM _ S AND W ICH ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 0 Ġ( 1 4 ) Ċĉ Ġ*/ Ċ ĉ V 1 4 _ ICE _ CRE AM _ S AND W ICH ( VERSION _ CODES . ICE _ CRE AM _ S AND W ICH ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 0 . 3 Ġ( 1 5 ) Ċĉ Ġ*/ Ċ ĉ ICE _ CRE AM _ S AND W ICH _ MR 1 ( VERSION _ CODES . ICE _ CRE AM _ S AND W ICH _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 0 . 3 Ġ( 1 5 ) Ċĉ Ġ*/ Ċ ĉ V 1 5 _ ICE _ CRE AM _ S AND W ICH _ MR 1 ( VERSION _ CODES . ICE _ CRE AM _ S AND W ICH _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 1 Ġ( 1 6 ) Ċĉ Ġ*/ Ċ ĉ J EL LY _ BE AN ( VERSION _ CODES . J EL LY _ BE AN ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 1 Ġ( 1 6 ) Ċĉ Ġ*/ Ċ ĉ V 1 6 _ J EL LY _ BE AN ( VERSION _ CODES . J EL LY _ BE AN ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 2 Ġ( 1 7 ) Ċĉ Ġ*/ Ċ ĉ J EL LY _ BE AN _ MR 1 ( VERSION _ CODES . J EL LY _ BE AN _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 2 Ġ( 1 7 ) Ċĉ Ġ*/ Ċ ĉ V 1 7 _ J EL LY _ BE AN _ MR 1 ( VERSION _ CODES . J EL LY _ BE AN _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 3 Ġ( 1 8 ) Ċĉ Ġ*/ Ċ ĉ J EL LY _ BE AN _ MR 2 ( VERSION _ CODES . J EL LY _ BE AN _ MR 2 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 3 Ġ( 1 8 ) Ċĉ Ġ*/ Ċ ĉ V 1 8 _ J EL LY _ BE AN _ MR 2 ( VERSION _ CODES . J EL LY _ BE AN _ MR 2 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 4 Ġ( 1 9 ) Ċĉ Ġ*/ Ċ ĉ KIT K AT ( VERSION _ CODES . KIT K AT ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 4 Ġ( 1 9 ) Ċĉ Ġ*/ Ċ ĉ V 1 9 _ KIT K AT ( VERSION _ CODES . KIT K AT ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 4 W Ġ( 2 0 ) Ċĉ Ġ*/ Ċ ĉ KIT K AT _ WATCH ( VERSION _ CODES . KIT K AT _ WATCH ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 4 . 4 W Ġ( 2 0 ) Ċĉ Ġ*/ Ċ ĉ V 2 0 _ KIT K AT _ WATCH ( VERSION _ CODES . KIT K AT _ WATCH ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 5 . 0 Ġ( 2 1 ) Ċĉ Ġ*/ Ċ ĉ LO L LI POP ( VERSION _ CODES . LO L LI POP ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 5 . 0 Ġ( 2 1 ) Ċĉ Ġ*/ Ċ ĉ V 2 1 _ LO L LI POP ( VERSION _ CODES . LO L LI POP ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 5 . 1 Ġ( 2 2 ) Ċĉ Ġ*/ Ċ ĉ LO L LI POP _ MR 1 ( VERSION _ CODES . LO L LI POP _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 5 . 1 Ġ( 2 2 ) Ċĉ Ġ*/ Ċ ĉ V 2 2 _ LO L LI POP _ MR 1 ( VERSION _ CODES . LO L LI POP _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 6 . 0 Ġ( 2 3 ) ĠMar shm allow Ċĉ Ġ*/ Ċ ĉ M ( VERSION _ CODES . M ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 6 . 0 Ġ( 2 3 ) Ċĉ Ġ*/ Ċ ĉ MAR SH M ALLOW ( VERSION _ CODES . M ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 6 . 0 Ġ( 2 3 ) Ċĉ Ġ*/ Ċ ĉ V 2 3 _ MAR SH M ALLOW ( VERSION _ CODES . M ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 7 . 0 Ġ( 2 4 ) ĠN ou gat Ċĉ Ġ*/ Ċ ĉ N ( VERSION _ CODES . N ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 7 . 0 Ġ( 2 4 ) Ċĉ Ġ*/ Ċ ĉ NO UG AT ( VERSION _ CODES . N ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 7 . 0 Ġ( 2 4 ) Ċĉ Ġ*/ Ċ ĉ V 2 4 _ NO UG AT ( VERSION _ CODES . N ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 7 . 1 Ġ( 2 5 ) ĠN ou gat Ċĉ Ġ*/ Ċ ĉ N _ MR 1 ( VERSION _ CODES . N _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 7 . 1 Ġ( 2 5 ) Ċĉ Ġ*/ Ċ ĉ NO UG AT _ MR 1 ( VERSION _ CODES . N _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 7 . 1 Ġ( 2 5 ) Ċĉ Ġ*/ Ċ ĉ V 2 5 _ NO UG AT _ MR 1 ( VERSION _ CODES . N _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 8 . 0 Ġ( 2 6 ) ĠO re o Ċĉ Ġ*/ Ċ ĉ O ( VERSION _ CODES . O ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 8 . 0 Ġ( 2 6 ) Ċĉ Ġ*/ Ċ ĉ ORE O ( VERSION _ CODES . O ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 8 . 0 Ġ( 2 6 ) Ċĉ Ġ*/ Ċ ĉ V 2 6 _ ORE O ( VERSION _ CODES . O ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 8 . 1 Ġ( 2 7 ) ĠO re o Ċĉ Ġ*/ Ċ ĉ O _ MR 1 ( VERSION _ CODES . O _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 8 . 1 Ġ( 2 7 ) Ċĉ Ġ*/ Ċ ĉ ORE O _ MR 1 ( VERSION _ CODES . O _ MR 1 ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 8 . 1 Ġ( 2 7 ) Ċĉ Ġ*/ Ċ ĉ V 2 7 _ ORE O _ MR 1 ( VERSION _ CODES . O _ MR 1 ), ĊĊ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 9 . 0 Ġ( 2 8 ) ĠP ie Ċĉ Ġ*/ Ċ ĉ P ( VERSION _ CODES . P ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 9 . 0 Ġ( 2 8 ) Ċĉ Ġ*/ Ċ ĉ PI E ( VERSION _ CODES . P ), Ċ ĉ /** Ċĉ Ġ* ĠAndroid Ġ 9 . 0 Ġ( 2 8 ) Ċĉ Ġ*/ Ċ ĉ V 2 8 _ PI E ( VERSION _ CODES . P ); ĊĊ ĉ comp anion Ġobject Ġ: ĠEnum Value Companion < Int , ĠApi Version >( Ċĉĉ ĉ ApiVersion . values (). associate By ( ApiVersion :: version Code ) Ċ ĉ ) Ċ } Ċ