package Ġbr . com . first soft . par l athon . view . activities Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Animation Utils Ċ import Ġandroid . view . View Tree Observer Ċ import Ġbr . com . first soft . par l athon . R Ċ import Ġbr . com . first soft . par l athon . business . model . Intent Field Names Ċ import Ġbr . com . first soft . par l athon . view . adapters . ViewPager Adapter Ċ import Ġbr . com . first soft . par l athon . view . fragments . Tr am it Info Fragment Ċ import Ġkotlinx . android . synt hetic . main . activity _ tr am it _ info .* Ċ import Ġkotlinx . android . synt hetic . main . toolbar _ clear .* Ċ Ċ class ĠTr am it Info Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġval Ġresource IDs Ġ= Ġint ArrayOf ( R . drawable . pro jeto _ um , ĠR . drawable . pro jeto _ do is , ĠR . drawable . pro jeto _ tres , ĠR . drawable . pro jeto _ quart ro , ĠR . drawable . pro jeto _ cin co , ĠR . drawable . pro jeto _ se is ) ĊĠĠĠ Ġval Ġview Pager Adapter Ġby Ġlazy Ġ{ ĠView Pager Adapter ( support FragmentManager , Ġthis ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ tr am it _ info ) ĊĠĠĠĠĠĠĠ Ġinit View ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Show Title Enabled ( false ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( resource Ġin Ġresource IDs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠTr am it Info Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Int ( Intent Field Names . RES _ ID , Ġresource ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Pager Adapter . add Fragment ( fragment , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtr am it Info ViewPager . adapter Ġ= Ġview Pager Adapter ĊĠĠĠĠĠĠĠ Ġtr am it Info ViewPager . currentItem Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġtr am it Info ViewPager . off screen Page Limit Ġ= Ġ 0 ĊĊĊĠĠĠĠĠĠĠ Ġtr am it Info Tab Layout . setup With ViewPager ( tr am it Info ViewPager ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Layout . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Tree Observer Ġ= Ġroot Layout . view Tree Observer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view Tree Observer . is Alive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Tree Observer . add On Global Layout Listener ( object Ġ: ĠView Tree Observer . On Global Layout Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Global Layout () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcircular Re veal Activity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot Layout . view Tree Observer . remove On Global Layout Listener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcircular Re veal Activity () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcx Ġ= Ġroot Layout . width Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġcy Ġ= Ġroot Layout . height Ġ/ Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġval Ġfinal Radius Ġ= ĠMath . max ( root Layout . width , Ġroot Layout . height ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcircular Re veal Ġ= ĠView Animation Utils . create Circular Re veal ( root Layout , Ġcx , Ġcy , Ġ 0 f , Ġfinal Radius . toFloat ()) ĊĠĠĠĠĠĠĠ Ġcircular Re veal . duration Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġroot Layout . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġcircular Re veal . start () ĊĊĠĠĠ Ġ} Ċ } Ċ