· 5 years ago · Sep 29, 2020, 11:32 AM
1class ApplicationGlobal : Application() {
2
3 companion object {
4 lateinit var prefsManager: PrefsManager
5 var staticStrings = HashMap<String, String>()
6 lateinit var sessionId: String
7 var hasBiometricSensor = false
8 // if logout done then need to show login screen directly
9 var isLogout = false
10 var profile: Profile? = null
11 var secretKey: String? = null
12 // if language changed restart activity
13 var isLanguageChanged = false
14 //if chatId chatting with is similar then don't show push notification
15 var chatIdChattingWith = ""
16 var store: Store? = null
17 var isStoreConnected = false
18 }
19
20 override fun onCreate() {
21 super.onCreate()
22 AndroidThreeTen.init(this)
23 //we are getting the language selected by the user and
24 // adding it in a array that we will be using in app to show static strings
25 if (prefsManager.isEnglishSelected())
26 staticStrings.putAll(prefsManager.getEnglishStrings(this))
27 else {
28 staticStrings.putAll(prefsManager.getArabicStrings(this))
29 }
30 sessionId = prefsManager.getSessionId()
31 Log.i("sessionId", sessionId)
32 if (!prefsManager.getProfile().isEmpty()) {
33 profile = Gson().fromJson(prefsManager.getProfile(), Profile::class.java)
34 secretKey =
35 "ac:${profile!!.userId}:${sessionId}"
36 }
37 }
38
39 override fun attachBaseContext(base: Context?) {
40 prefsManager = PrefsManager(base!!)
41 if (!prefsManager.isEnglishSelected())
42 super.attachBaseContext(LocalizationUtil.applyLanguage(base, "ar_AE"))
43 else
44 super.attachBaseContext(base)
45 }
46}