aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt54
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)