package Ġns . fa j net . android . pu f toc ator client . common Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . location . Location Manager Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . core . graphics . drawable . Drawable Compat Ċ import Ġcom . google . android . gms . maps . model . Bitmap Descriptor Ċ import Ġcom . google . android . gms . maps . model . Bitmap Descriptor Factory Ċ import Ġjava . io . IOException Ċ import Ġjava . net . Inet SocketAddress Ċ import Ġjava . net . Socket Ċ import Ġjava . net . SocketAddress Ċ Ċ object ĠUtils Ġ{ ĊĊĠĠĠ Ġ// Ġpermissions Ġ------------------------------------------------------------------------------------------------ ----- ĊĊĠĠĠ Ġfun Ġis Permission Granted ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpermission Status Ġ= ĠContext Compat . check Self Permission ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . ACCESS _ F INE _ LOCATION ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġpermission Status Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ĊĠĠĠĠĠĠĠ ĠLog Ex . i ( Constants . TAG _ UTILS , Ġ" Location Ġpermission Ġgranted : Ġ$ result ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Location Enabled ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Manager : ĠLocation Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Context . LOCATION _ SERVICE ) Ġas ĠLocation Manager ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġlocation Manager . is Provider Enabled ( Location Manager . GPS _ PROVIDER ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Manager . is Provider Enabled ( Location Manager . NETWORK _ PROVIDER ) ĊĠĠĠĠĠĠĠ ĠLog Ex . i ( Constants . TAG _ UTILS , Ġ" Location Ġenabled : Ġ$ result ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġgraphics Ġ------------------------------------------------------------------------------------------------ -------- ĊĊĠĠĠ Ġfun Ġbitmap Descriptor From Vector ( context : ĠContext , Ġres Id : ĠInt , Ġhue : ĠFloat ): ĠBitmap Descriptor Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvector Drawable Ġ= ĠResources Compat . get Drawable ( context . resources , Ġres Id , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĠBitmap Descriptor Factory . default Marker ( hue ) ĊĊĠĠĠĠĠĠĠ Ġvector Drawable . setBounds ( 0 , Ġ 0 , Ġvector Drawable . intrinsic Width , Ġvector Drawable . intrinsic Height ) ĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠColor . H SV To Color ( float ArrayOf ( hue , Ġ 2 5 5 f , Ġ 2 5 5 f )) ĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( vector Drawable . intrinsic Width , Ġvector Drawable . intrinsic Height , ĠBitmap . Config . ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( bitmap ) ĊĠĠĠĠĠĠĠ ĠDrawable Compat . set Tint ( vector Drawable , Ġcolor ) ĊĠĠĠĠĠĠĠ Ġvector Drawable . draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġreturn ĠBitmap Descriptor Factory . from Bitmap ( bitmap ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġinternet Ġaccess Ġ------------------------------------------------------------------------------------------------ - ĊĊĠĠĠ Ġfun Ġis Device Online (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimeout Ms Ġ= Ġ 1 5 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsock Ġ= ĠSocket () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsocket Address : ĠSocket Address Ġ= ĠInet SocketAddress (" 8 . 8 . 8 . 8 ", Ġ 5 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsock . connect ( socket Address , Ġtimeout Ms ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsock . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ