diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt | 54 |
1 files changed, 36 insertions, 18 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt index 0c762b41..d6d6faea 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt @@ -25,6 +25,7 @@ import android.widget.ImageView import ca.allanwang.kau.logging.KL import ca.allanwang.kau.utils.buildIsLollipopAndUp import com.bugsnag.android.Bugsnag +import com.bugsnag.android.Configuration import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.signature.ApplicationVersionSignature import com.mikepenz.materialdrawer.util.AbstractDrawerImageLoader @@ -83,18 +84,13 @@ class FrostApp : Application() { .withDatabase(NotificationDb.NAME, NotificationDb::class) .build() ) - Showcase.initialize(this, "${BuildConfig.APPLICATION_ID}.showcase") - Prefs.initialize(this, "${BuildConfig.APPLICATION_ID}.prefs") // if (LeakCanary.isInAnalyzerProcess(this)) return // refWatcher = LeakCanary.install(this) + initPrefs() initBugsnag() - KL.shouldLog = { BuildConfig.DEBUG } - Prefs.verboseLogging = false + L.i { "Begin Frost for Facebook" } FrostPglAdBlock.init(this) - if (Prefs.installDate == -1L) Prefs.installDate = System.currentTimeMillis() - if (Prefs.identifier == -1) Prefs.identifier = Random().nextInt(Int.MAX_VALUE) - Prefs.lastLaunch = System.currentTimeMillis() super.onCreate() @@ -118,7 +114,7 @@ class FrostApp : Application() { .thumbnail(old).into(imageView) } }) - if (BuildConfig.DEBUG) + if (BuildConfig.DEBUG) { registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks { override fun onActivityPaused(activity: Activity) {} override fun onActivityResumed(activity: Activity) {} @@ -136,26 +132,48 @@ class FrostApp : Application() { L.d { "Activity ${activity.localClassName} created" } } }) + } startKoin { - if (BuildConfig.DEBUG) + if (BuildConfig.DEBUG) { androidLogger() + } androidContext(this@FrostApp) modules(FrostDatabase.module(this@FrostApp)) } } + private fun initPrefs() { + Showcase.initialize(this, "${BuildConfig.APPLICATION_ID}.showcase") + Prefs.initialize(this, "${BuildConfig.APPLICATION_ID}.prefs") + KL.shouldLog = { BuildConfig.DEBUG } + Prefs.verboseLogging = false + if (Prefs.installDate == -1L) { + Prefs.installDate = System.currentTimeMillis() + } + if (Prefs.identifier == -1) { + Prefs.identifier = Random().nextInt(Int.MAX_VALUE) + } + Prefs.lastLaunch = System.currentTimeMillis() + } + private fun initBugsnag() { - if (BuildConfig.DEBUG) return - Bugsnag.init(this) - Bugsnag.disableExceptionHandler() - if (!BuildConfig.APPLICATION_ID.startsWith("com.pitchedapps.frost")) return + if (BuildConfig.DEBUG) { + return + } + if (!BuildConfig.APPLICATION_ID.startsWith("com.pitchedapps.frost")) { + return + } val version = BuildUtils.match(BuildConfig.VERSION_NAME) ?: return L.d { "Bugsnag disabled for ${BuildConfig.VERSION_NAME}" } - Bugsnag.enableExceptionHandler() - Bugsnag.setNotifyReleaseStages(*BuildUtils.getAllStages()) - Bugsnag.setAppVersion(version.versionName) - Bugsnag.setReleaseStage(BuildUtils.getStage(BuildConfig.BUILD_TYPE)) - Bugsnag.setAutoCaptureSessions(true) + val config = Configuration("83cf680ed01a6fda10fe497d1c0962bb").apply { + appVersion = version.versionName + releaseStage = BuildUtils.getStage(BuildConfig.BUILD_TYPE) + notifyReleaseStages = BuildUtils.getAllStages() + autoCaptureSessions = Prefs.analytics + enableExceptionHandler = Prefs.analytics + } + Bugsnag.init(this, config) + L.bugsnagInit = true Bugsnag.setUserId(Prefs.frostId) Bugsnag.addToTab("Build", "Application", BuildConfig.APPLICATION_ID) Bugsnag.addToTab("Build", "Version", BuildConfig.VERSION_NAME) |