KOIN 설정 적용

This commit is contained in:
2023-07-23 19:50:34 +09:00
parent 3e62c754df
commit c1054c5ede
24 changed files with 407 additions and 227 deletions

View File

@@ -0,0 +1,50 @@
package kr.co.vividnext.sodalive.app
import android.app.Application
import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatDelegate
import com.orhanobut.logger.AndroidLogAdapter
import com.orhanobut.logger.Logger
import kr.co.vividnext.sodalive.BuildConfig
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.di.AppDI
class SodaLiveApp : Application() {
override fun onCreate() {
super.onCreate()
Logger.addLogAdapter(object : AndroidLogAdapter() {
override fun isLoggable(priority: Int, tag: String?): Boolean {
return BuildConfig.DEBUG && isDebuggable()
}
})
AppDI(applicationContext, BuildConfig.DEBUG && isDebuggable())
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
SharedPreferenceManager.init(applicationContext)
}
private fun isDebuggable(): Boolean {
var debuggable = false
try {
val appInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
packageManager.getApplicationInfo(
packageName,
PackageManager.ApplicationInfoFlags.of(0L)
)
} else {
packageManager.getApplicationInfo(packageName, 0)
}
debuggable = 0 != appInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE
} catch (e: PackageManager.NameNotFoundException) {
/* debuggable variable will remain false */
}
return debuggable
}
}