package Ġcom . example . andro idth ings . lan tern . channels . space por th ole Ċ Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . example . andro idth ings . lan tern . Channel Ċ import Ġcom . example . andro idth ings . lan tern . R Ċ import Ġkotlinx . android . synt hetic . main . space _ por th ole _ channel .* Ċ import Ġprocessing . android . P Fragment Ċ Ċ /** Ċ Ġ* ĠUses Ġyour Ġlocal Ġlatitude / longitude , Ġthe Ġsystem Ġtime Ġand Ġa Ġdatabase Ġof Ġstars Ġand Ġconst ell ations Ċ Ġ* Ġto Ġproject Ġthe Ġstars Ġabove Ġyou Ġright Ġnow . Ċ Ġ* Ċ Ġ* ĠDevelop ed Ġas Ġa ĠProcessing Ġsketch Ġand Ġembedding Ġinto Ġa ĠL an tern Ġchannel Ġusing Ġthe Ċ Ġ* ĠProcessing - Android Ġproject . Ċ Ġ* Ċ Ġ*/ Ċ class ĠSpace P orth ole Channel Ġ: ĠChannel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsketch Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠSpace P orth ole App let (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlatitude Ġ= Ġconfig . settings . opt Double (" latitude ", Ġ 0 . 0 ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlongitude Ġ= Ġconfig . settings . opt Double (" longitude ", Ġ 0 . 0 ). toFloat () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . space _ por th ole _ channel , Ġcontainer , Ġfalse ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġfragment Manager !!. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( R . id . sketch ViewGroup , ĠP Fragment ( sketch )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġshow North Marker And Fade Out () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Hidden Changed ( hidden : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Hidden Changed ( hidden ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( hidden ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdon 't Ġwaste Ġcycles Ġrendering Ġin Ġthe Ġbackground ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsketch . surface . pause Thread () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsketch . surface . resume Thread () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow North Marker And Fade Out () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġwork Ġaround Ġa Ġbug Ġwhere Ġthis Ġview Ġappears Ġat op Ġother Ġsurface Ġviews Ġeven Ġwhen Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġfragment Ġis Ġhidden ĊĠĠĠĠĠĠĠ Ġsketch . surface . surface View . visibility Ġ= Ġif Ġ( hidden ) ĠView . IN VISIBLE Ġelse ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġnorth Marker Fade Out Animator : ĠObject Animator ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġfun Ġshow North Marker And Fade Out () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( north Marker ImageView Ġ== Ġnull ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġnorth Marker Fade Out Animator ?. cancel () ĊĠĠĠĠĠĠĠ Ġnorth Marker Fade Out Animator Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġnorth Marker ImageView . alpha Ġ= Ġ 0 . 7 f ĊĊĠĠĠĠĠĠĠ Ġnorth Marker Fade Out Animator Ġ= ĠObject Animator . of Float ( north Marker ImageView , Ġ" alpha ", Ġ 0 . 7 f , Ġ 0 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpropertyName Ġ= Ġ" alpha " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Delay Ġ= Ġ 9 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }