From 82cc9764e5e15f9cf006d2fbe35833217adfb803 Mon Sep 17 00:00:00 2001 From: darken Date: Tue, 28 Jul 2026 18:01:05 +0200 Subject: [PATCH] fix(logging): Install logger before Hilt injection super.onCreate() triggers Hilt's singleton construction, so any log emitted during that graph build was discarded before the logger existed. Fixes review finding F2 --- app/src/main/java/eu/darken/capod/App.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/darken/capod/App.kt b/app/src/main/java/eu/darken/capod/App.kt index 56846ff3..0485eb6f 100644 --- a/app/src/main/java/eu/darken/capod/App.kt +++ b/app/src/main/java/eu/darken/capod/App.kt @@ -44,8 +44,11 @@ open class App : Application() { @Inject @AppScope lateinit var appScope: CoroutineScope override fun onCreate() { - super.onCreate() + // Must stay ABOVE super.onCreate(): that call performs the Hilt injection which constructs + // our singletons. Anything they log while being created is dropped if no logger is installed + // yet. Do not "tidy" this line back below super.onCreate(). if (BuildConfig.DEBUG) Logging.install(LogCatLogger()) + super.onCreate() val oldHandler = Thread.getDefaultUncaughtExceptionHandler() Thread.setDefaultUncaughtExceptionHandler(