package Ġbe . my god . vpn hot spot . util Ċ Ċ import Ġandroid . content .* Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġbe . my god . vpn hot spot . R Ċ import Ġbe . my god . vpn hot spot . widget . Smart Snackbar Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . net . Inet Address Ċ import Ġjava . net . NetworkInterface Ċ import Ġjava . net . Socket Exception Ċ Ċ /** Ċ Ġ* ĠThis Ġis Ġa Ġhack : Ġwe Ġwrap Ġlong s Ġaround Ġin Ġ 1 Ġb illion Ġand Ġsuch . ĠHope fully Ġevery Ġlanguage Ġcounts Ġin Ġbase Ġ 1 0 Ġand Ġthis Ġworks Ċ Ġ* Ġmar velo us ly Ġfor Ġevery body . Ċ Ġ*/ Ċ fun ĠLong . to Pl ural Int (): ĠInt Ġ{ ĊĠĠĠ Ġcheck ( this Ġ>= Ġ 0 ) ĠĠĠ Ġ// Ġplease Ġdon 't Ġmess Ġwith Ġme ĊĠĠĠ Ġif Ġ( this Ġ<= ĠInt . MAX _ VALUE ) Ġreturn Ġto Int () ĊĠĠĠ Ġreturn Ġ( this Ġ% Ġ 1 0 0 0 0 0 0 0 0 0 ). toInt () Ġ+ Ġ 1 0 0 0 0 0 0 0 0 0 Ċ } Ċ Ċ fun ĠCharSequence ?. on Empty ( otherwise : ĠCharSequence ): ĠCharSequence Ġ= Ġif Ġ( isNull OrEmpty ()) Ġotherwise Ġelse Ġthis !! Ċ Ċ fun Ġbroadcast Receiver ( receiver : Ġ( Context , ĠIntent ) Ġ-> ĠUnit ) Ġ= Ġobject Ġ: ĠBroadcast Receiver () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext , Ġintent : ĠIntent ) Ġ= Ġreceiver ( context , Ġintent ) Ċ } Ċ Ċ fun Ġintent Filter ( var arg Ġactions : ĠString ): ĠIntent Filter Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= ĠIntent Filter () ĊĠĠĠ Ġactions . forEach Ġ{ Ġresult . addAction ( it ) Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ @ Binding Adapter (" android : src ") Ċ fun Ġset Image Resource ( imageView : ĠImageView , Ġ@ Drawable Res Ġresource : ĠInt ) Ġ= ĠimageView . setImage Resource ( resource ) Ċ Ċ @ Binding Adapter (" android : visibility ") Ċ fun Ġset Visibility ( view : ĠView , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠ Ġview . isVisible Ġ= Ġvalue Ċ } Ċ Ċ fun ĠNetwork Interface . format Addresses () Ġ= ĊĠĠĠĠĠĠĠ Ġ( interface Addresses . as Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ it . address . host Address }/${ it . network Prefix Length }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf NotNull ( try Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhardware Address ?. join ToString (": ") Ġ{ Ġ"% 0 2 x ". format ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSocket Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . w ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ("\ n ") Ċ Ċ private Ġval Ġparse Numeric Address Ġby Ġlazy Ġ{ ĊĠĠĠ ĠInet Address :: class . java . getDeclared Method (" parse Numeric Address ", ĠString :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġis Accessible Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ fun Ġparse Numeric Address ( address : ĠString ) Ġ= Ġparse Numeric Address . invoke ( null , Ġaddress ) Ġas ĠInet Address Ċ Ċ /** Ċ Ġ* ĠWrapper Ġfor Ġkotlin . concurrent . thread Ġthat Ġsil ences Ġun caught Ġexceptions . Ċ Ġ*/ Ċ fun Ġthread ( name : ĠString ? Ġ= Ġnull , Ġstart : ĠBoolean Ġ= Ġtrue , Ġis Daemon : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠ Ġcontext ClassLoader : ĠClassLoader ? Ġ= Ġnull , Ġpriority : ĠInt Ġ= Ġ- 1 , Ġblock : Ġ() Ġ-> ĠUnit ): ĠThread Ġ{ ĊĠĠĠ Ġval Ġthread Ġ= Ġkotlin . concurrent . thread ( false , Ġis Daemon , Ġcontext ClassLoader , Ġname , Ġpriority , Ġblock ) ĊĠĠĠ Ġthread . set Un caught ExceptionHandler Ġ{ Ġ_, Ġe Ġ-> ĊĠĠĠĠĠĠĠ ĠSmart Snackbar . make ( R . string . no isy _ su _ failure ). show () ĊĠĠĠĠĠĠĠ ĠTim ber . w ( e ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( start ) Ġthread . start () ĊĠĠĠ Ġreturn Ġthread Ċ } Ċ Ċ fun ĠContext . stop And Un bind ( connection : ĠService Connection ) Ġ{ ĊĠĠĠ Ġconnection . on Service Disconnected ( null ) ĊĠĠĠ Ġun bind Service ( connection ) Ċ } Ċ Ċ fun Ġ< K , ĠV > ĠHashMap < K , ĠV >. compute If Absent Compat ( key : ĠK , Ġvalue : Ġ() Ġ-> ĠV ) Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 6 ) ĊĠĠĠ Ġcompute If Absent ( key ) Ġ{ Ġvalue () Ġ} Ġelse Ġthis [ key ] Ġ?: Ġvalue (). also Ġ{ Ġput ( key , Ġit ) Ġ} Ċ