11package com.expensify.chat
22
3- import android.app.Activity
43import com.facebook.react.common.assets.ReactFontManager
54
65import android.app.ActivityManager
7- import android.app.ActivityManager.RunningAppProcessInfo
8- import android.content.Context
96import android.content.res.Configuration
107import android.database.CursorWindow
11- import android.os.Bundle
128import android.os.Process
139import androidx.multidex.MultiDexApplication
1410import com.expensify.chat.bootsplash.BootSplashPackage
@@ -31,15 +27,10 @@ import expo.modules.ApplicationLifecycleDispatcher
3127import expo.modules.ReactNativeHostWrapper
3228
3329class MainApplication : MultiDexApplication (), ReactApplication {
34- var currentState: String = " active"
35- private set
36- var prevState: String = " inactive"
37- private set
38-
3930 override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper (this , object : DefaultReactNativeHost (this ) {
4031 override fun getUseDeveloperSupport () = BuildConfig .DEBUG
4132
42- override fun getPackages (): List <ReactPackage > =
33+ override fun getPackages (): List <ReactPackage > =
4334 PackageList (this ).packages.apply {
4435 // Packages that cannot be autolinked yet can be added manually here, for example:
4536 // add(MyReactNativePackage());
@@ -73,30 +64,6 @@ class MainApplication : MultiDexApplication(), ReactApplication {
7364 return
7465 }
7566
76- registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
77- override fun onActivityStarted (p0 : Activity ) {
78- prevState = currentState
79- currentState = " active"
80- }
81-
82- override fun onActivityStopped (p0 : Activity ) {
83- val isOnForeground = isAppOnForeground()
84- prevState = currentState
85- currentState = if (isOnForeground) " active" else " background"
86- }
87-
88- override fun onActivityDestroyed (p0 : Activity ) {
89- val isOnForeground = isAppOnForeground()
90- prevState = currentState
91- currentState = if (isOnForeground) " active" else " background"
92- }
93-
94- override fun onActivityCreated (p0 : Activity , p1 : Bundle ? ) {}
95- override fun onActivityResumed (p0 : Activity ) {}
96- override fun onActivityPaused (p0 : Activity ) {}
97- override fun onActivitySaveInstanceState (p0 : Activity , p1 : Bundle ) {}
98- })
99-
10067 SoLoader .init (this , OpenSourceMergedSoMapping )
10168 if (BuildConfig .IS_NEW_ARCHITECTURE_ENABLED ) {
10269 // If you opted-in for the New Architecture, we load the native entry point for this app.
@@ -139,22 +106,4 @@ class MainApplication : MultiDexApplication(), ReactApplication {
139106 it.pid == pid && it.processName.endsWith(" :onfido_process" )
140107 }
141108 }
142-
143- /* *
144- * Checks if the application is currently running in the foreground.
145- * https://stackoverflow.com/a/8490088/8398300
146- */
147- private fun isAppOnForeground (): Boolean {
148- val activityManager = applicationContext.getSystemService(Context .ACTIVITY_SERVICE ) as ActivityManager
149- val appProcesses = activityManager.runningAppProcesses ? : return false
150- val packageName: String = applicationContext.getPackageName()
151- for (appProcess in appProcesses) {
152- if (appProcess.importance == RunningAppProcessInfo .IMPORTANCE_FOREGROUND &&
153- appProcess.processName == packageName
154- ) {
155- return true
156- }
157- }
158- return false
159- }
160109}
0 commit comments