package Ġcom . ti ago hs . helpers . extensions Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġandroid . net . Network Capabilities Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . widget . Toast Ċ import Ġcom . ti ago hs . helpers . Constants Ċ import Ġcom . ti ago hs . helpers . enums . Font Enum ĊĊ Ċ @ Suppress (" DE PREC ATION ") Ċ fun ĠContext ?. is Network Available (): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcm Ġ= ĊĠĠĠĠĠĠĠ Ġ( getSystem Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ? ĠConnect ivity Manager ) Ġ?: Ġreturn Ġfalse ĊĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ< Ġ 2 3 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġni Ġ= Ġcm . active Network Info ĊĠĠĠĠĠĠĠ Ġif Ġ( ni Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġni . isConnected Ġ&& Ġ( ni . type Ġ== ĠConnect ivity Manager . TYPE _ WIFI Ġ|| Ġni . type Ġ== ĠConnect ivity Manager . TYPE _ MOB ILE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġn Ġ= Ġcm . active Network ĊĠĠĠĠĠĠĠ Ġif Ġ( n Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnc Ġ= Ġcm . get Network Capabilities ( n ) Ġ?: Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnc . has Transport ( Network Capabilities . TRANSPORT _ CELL ULAR ) Ġ|| Ġnc . has Transport ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork Capabilities . TRANSPORT _ WIFI ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠContext ?. toast ( message : ĠString ?, Ġduration : ĠInt Ġ= ĠToast . LENGTH _ LONG ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull Ġ|| Ġmessage Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠToast . makeText ( this , Ġmessage , Ġduration ). show () Ċ } Ċ Ċ / ***** ĠS IZ ES Ġ* *****/ Ċ Ċ val ĠContext ?. screen Height : ĠInt ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ?. resources ?. display Metrics ?. height Pixels Ġ?: Ġ 0 ĊĠĠĠ Ġ} Ċ Ċ / ***** ĠRES O URCES Ġ* *****/ Ċ Ċ fun ĠContext . getResource Color ( color Name : ĠString ?): ĠInt Ġ{ ĊĠĠĠ Ġval Ġcolor Identifier Ġ= Ġresources . getIdentifier ( color Name , Ġ" color ", ĠpackageName ) ĊĊĠĠĠ Ġreturn ĠgetResource Color ( color Identifier ) Ċ } Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ fun ĠContext . getResource Color ( resource : ĠInt ): ĠInt Ġ{ ĊĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Color ( resource ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġresources . getColor ( resource ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠContext ?. getResource Drawable ( name : ĠString ): ĠDrawable ? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġdrawable Identifier Ġ= Ġresources . getIdentifier ( name , Ġ" drawable ", ĠpackageName ) ĊĊĠĠĠ Ġreturn ĠgetResource Drawable ( drawable Identifier ) Ċ } Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ fun ĠContext ?. getResource Drawable ( resource : ĠInt ): ĠDrawable ? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Drawable ( resource ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġresources . get Drawable ( resource ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠContext ?. getResource String ( resource : ĠInt ?): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġresource Ġ?: Ġreturn Ġ"" ĊĊĠĠĠ Ġreturn Ġresources . getString ( resource ) Ċ } Ċ Ċ fun ĠContext ?. getResource String ( name : ĠString ?): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġname Ġ?: Ġreturn Ġ"" ĊĊĠĠĠ Ġval Ġstring Identifier Ġ= Ġresources . getIdentifier ( name , Ġ" string ", ĠpackageName ) ĊĊĠĠĠ Ġreturn ĠgetResource String ( string Identifier ) Ċ } Ċ Ċ fun ĠContext ?. getResource Array String ( resource : ĠInt ?): ĠList < String > Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġresource Ġ?: Ġreturn Ġempty List () ĊĊĠĠĠ Ġreturn Ġresources . getString Array ( resource ). toList () Ċ } Ċ Ċ fun ĠContext . getResource Font ( font Enum : ĠFont Enum ): ĠType face Ġ{ ĊĠĠĠ Ġreturn ĠgetResource Font ( font Enum . font Name ) Ċ } Ċ Ċ fun ĠContext . getResource Font ( font Name : ĠString ): ĠType face Ġ{ ĊĠĠĠ Ġreturn ĠType face . createFrom Asset ( assets , Ġ" fonts /${ font Name }${ Constants . FONT S . FONT _ EXTENSION }") Ċ } Ċ Ċ / ***** ĠSHARE D ĠP REFERENCE Ġ* *****/ Ċ Ċ fun ĠContext ?. get Preference Int ( key : ĠString , ĠdefaultValue : ĠInt Ġ= Ġ 0 ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdefaultValue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġget SharedPreferences ( Constants . SHARED _ PREFER ENCES . DEFAULT , ĠContext . MODE _ PRIVATE ). getInt ( ĊĠĠĠĠĠĠĠ Ġkey , ĊĠĠĠĠĠĠĠ ĠdefaultValue ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Suppress Lint (" Apply Shared Pref ") Ċ fun ĠContext ?. set Preference ( key : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget SharedPreferences ( Constants . SHARED _ PREFER ENCES . DEFAULT , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġ. put Int ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ. commit () Ċ } Ċ Ċ fun ĠContext ?. get Preference Boolean ( key : ĠString , ĠdefaultValue : ĠBoolean Ġ= Ġfalse ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdefaultValue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġget SharedPreferences ( ĊĠĠĠĠĠĠĠ ĠConstants . SHARED _ PREFER ENCES . DEFAULT , ĊĠĠĠĠĠĠĠ ĠContext . MODE _ PRIVATE ĊĠĠĠ Ġ). getBoolean ( key , ĠdefaultValue ) Ċ } Ċ Ċ @ Suppress Lint (" Apply Shared Pref ") Ċ fun ĠContext ?. set Preference ( key : ĠString , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget SharedPreferences ( Constants . SHARED _ PREFER ENCES . DEFAULT , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġ. put Boolean ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ. commit () Ċ } Ċ Ċ fun ĠContext ?. get Preference String ( key : ĠString , ĠdefaultValue : ĠString Ġ= Ġ"") : ĠString Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdefaultValue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġget SharedPreferences ( ĊĠĠĠĠĠĠĠ ĠConstants . SHARED _ PREFER ENCES . DEFAULT , ĊĠĠĠĠĠĠĠ ĠContext . MODE _ PRIVATE ĊĠĠĠ Ġ). getString ( key , ĠdefaultValue ) Ġ?: ĠdefaultValue Ċ } Ċ Ċ @ Suppress Lint (" Apply Shared Pref ") Ċ fun ĠContext ?. set Preference ( key : ĠString , Ġvalue : ĠString ?) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget SharedPreferences ( Constants . SHARED _ PREFER ENCES . DEFAULT , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġ. putString ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ. commit () Ċ } Ċ Ċ @ Suppress Lint (" Apply Shared Pref ") Ċ fun ĠContext ?. remove Preference ( key : ĠString ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget SharedPreferences ( Constants . SHARED _ PREFER ENCES . DEFAULT , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġ. remove ( key ) ĊĠĠĠĠĠĠĠ Ġ. commit () Ċ } Ċ Ċ / ***** ĠINTENT Ġ* *****/ Ċ Ċ fun ĠContext . share Content ( text : ĠString , Ġtitle : ĠString , Ġimage : ĠUri ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġval Ġsend Intent : ĠIntent Ġ= ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġaction Ġ= ĠIntent . ACTION _ SEND ĊĊĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ TEXT , Ġtext ) ĊĊĠĠĠĠĠĠĠ Ġtype Ġ= Ġif Ġ( image Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ STREAM , Ġimage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" image /* " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ GRANT _ READ _ URI _ PERMISSION ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠstartActivity ( Intent . create Chooser ( send Intent , Ġtitle )) Ċ }