package Ġvn . ta le . say it . util Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Service Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġcom . jak ew h art on . proces sp ho enix . Process Ph o enix Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠActivity > ĠContext . intent Of (): ĠIntent Ġ{ ĊĠ Ġreturn ĠIntent ( this , ĠT :: class . java ) Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠActivity > ĠContext . start () Ġ{ ĊĠ Ġstart < T > Ġ{} Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠActivity > ĠContext . start ( func : ĠIntent . () Ġ-> ĠUnit ) Ġ{ ĊĠ Ġval Ġintent Ġ= Ġintent Of < T >(). apply ( func ) ĊĠ Ġval Ġclazz Ġ= ĠT :: class . java ĊĠ Ġwhen Ġ{ ĊĠĠĠ ĠActivity :: class . java . isAssignableFrom ( clazz ) Ġ-> ĠstartActivity ( intent ) ĊĠĠĠ ĠService :: class . java . isAssignableFrom ( clazz ) Ġ-> Ġstart Service ( intent ) ĊĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" only Ġaccept ĠActivity Ġor ĠService ") ĊĠ Ġ} Ċ } Ċ Ċ fun ĠContext . isConnected (): ĠBoolean Ġ{ ĊĠ Ġval Ġcm Ġ= Ġget System Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ĊĊĠ Ġval Ġactive Network Ġ= Ġcm . active Network Info ĊĠ Ġreturn Ġactive Network Ġ!= Ġnull Ġ&& Ġactive Network . isConnected Or Connecting Ċ } Ċ Ċ fun ĠContext . restart () Ġ{ ĊĠ ĠProcess Ph o enix . trigger Re birth ( this ) Ċ }