package Ġcom . fro go box . base . util Ċ Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġandroid . net . Network Info Ċ import Ġandroid . os . Build Ċ import Ġandroid . preference . Preference Manager Ċ import Ġcom . fro go box . base . Base Helper Ċ import Ġcom . fro go box . base . util . Constant . Pref . PRE F _ NAME Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠF ais al ĠA mir Ċ Ġ* ĠF ro go Box ĠInc ĠLicense Ċ Ġ* Ġ================================= ======== Ċ Ġ* Ġmovie Ċ Ġ* ĠCopyright Ġ( C ) Ġ 1 6 / 1 1 / 2 0 1 9 . Ċ Ġ* ĠAll Ġrights Ġreserved Ċ Ġ* Ġ-------------------------------- --------- Ċ Ġ* ĠName ĠĠĠĠ Ġ: ĠMu ham mad ĠF ais al ĠA mir Ċ Ġ* ĠE - mail ĠĠ Ġ: Ġfa is alam ir cs @ gmail . com Ċ Ġ* ĠGithub ĠĠ Ġ: Ġgithub . com / am iris back Ċ Ġ* ĠLinked In Ġ: Ġlinked in . com / in / fa is alam ir cs Ċ Ġ* Ġ-------------------------------- --------- Ċ Ġ* ĠF ro go Box ĠSoftware ĠInd ust ries Ċ Ġ* Ġcom . fro go box . base . util Ċ Ġ* Ċ Ġ*/ Ċ class ĠHelper Ġ: ĠBase Helper () Ġ{ ĊĊĠĠĠ Ġobject ĠFunc Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Network Available ( context : ĠContext ): ĠBoolean ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Connected : ĠBoolean ? Ġ= Ġfalse Ġ// ĠInitial ĠValue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconnectivity Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactive Network : ĠNetwork Info ? Ġ= Ġconnectivity Manager . active Network Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( active Network Ġ!= Ġnull Ġ&& Ġactive Network . isConnected ) Ġis Connected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġis Connected ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġremove Back Slash ( string : ĠString ) Ġ: ĠString { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew String Ġ= Ġstring . replace ("' \' / "," ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnew String ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetCurrent Date ( format : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( format , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsimple DateFormat . format ( Date ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠSystem Locale Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠSELECT ED _ LANGUAGE Ġ= Ġ" Locale . Helper . Selected . Language " ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Attach ( context : ĠContext ): ĠContext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlang Ġ= Ġget Pers isted Data ( context , ĠLocale . getDefault (). language ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġset Locale ( context , Ġlang ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Attach ( context : ĠContext , Ġdefault Language : ĠString ): ĠContext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlang Ġ= Ġget Pers isted Data ( context , Ġdefault Language ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġset Locale ( context , Ġlang ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Language ( context : ĠContext ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġget Pers isted Data ( context , ĠLocale . getDefault (). language ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Locale ( context : ĠContext , Ġlanguage : ĠString ?): ĠContext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpersist ( context , Ġlanguage ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Resources ( context , Ġlanguage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġupdate Resources Legacy ( context , Ġlanguage ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Pers isted Data ( context : ĠContext , Ġdefault Language : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpreferences . getString ( SELECTED _ LANGUAGE , Ġdefault Language ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġpersist ( context : ĠContext , Ġlanguage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġpreferences . edit () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString ( SELECTED _ LANGUAGE , Ġlanguage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . N ) ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġupdate Resources ( context : ĠContext , Ġlanguage : ĠString ?): ĠContext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale ( language ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . setDefault ( locale ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= Ġcontext . resources . configuration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration . set Locale ( locale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration . setLayout Direction ( locale ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . create Configuration Context ( configuration ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġupdate Resources Legacy ( context : ĠContext , Ġlanguage : ĠString ?): ĠContext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale ( language ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . setDefault ( locale ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext . resources ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= Ġresources . configuration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration . locale Ġ= Ġlocale ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . J EL LY _ BE AN _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration . setLayout Direction ( locale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . update Configuration ( configuration , Ġresources . display Metrics ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠPreference Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Sp ( context : ĠContext ): ĠSharedPreferences Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontext . get SharedPreferences ( PRE F _ NAME , ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġobject ĠSave Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġsave Pref Float ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString , Ġdata : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Float ( const Pref , Ġdata ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġsave Pref Int ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString , Ġdata : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Int ( const Pref , Ġdata ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġsave Pref String ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString , Ġdata : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). putString ( const Pref , Ġdata ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġsave Pref Boolean ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString , Ġdata : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Boolean ( const Pref , Ġdata ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġsave Pref Long ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString , Ġdata : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Long ( const Pref , Ġdata ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġobject ĠDelete Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġdelete Pref ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). remove ( const Pref ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġobject ĠLoad Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġload Pref Float ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . get Float ( const Pref , Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġload Pref String ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( const Pref , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġload Pref Int ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getInt ( const Pref , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġload Pref Long ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getLong ( const Pref , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġload Pref Boolean ( shared Preferences : ĠSharedPreferences , Ġconst Pref : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getBoolean ( const Pref , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }