From b1f98caca2f6960f7abb3ef7f7c27b903e1ef929 Mon Sep 17 00:00:00 2001 From: pacien Date: Tue, 8 Dec 2020 16:10:42 +0100 Subject: app: add configuration directory migrator This adds an automatic configuration migrator which moves the configuration files previously located on the external public-ish directory to the private app storage, so that existing users can seamlessly transition to the next version. The cache directory containing the logs is cleared instead of being migrated, because those files are considered disposable. GitHub: related to #103 --- app/src/main/java/org/pacien/tincapp/context/App.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/org/pacien/tincapp/context/App.kt') diff --git a/app/src/main/java/org/pacien/tincapp/context/App.kt b/app/src/main/java/org/pacien/tincapp/context/App.kt index 4d8d5d0..d825d78 100644 --- a/app/src/main/java/org/pacien/tincapp/context/App.kt +++ b/app/src/main/java/org/pacien/tincapp/context/App.kt @@ -28,6 +28,7 @@ import android.os.Handler import androidx.annotation.StringRes import org.pacien.tincapp.BuildConfig import org.pacien.tincapp.R +import org.slf4j.Logger import org.slf4j.LoggerFactory /** @@ -39,15 +40,17 @@ class App : Application() { appContext = applicationContext handler = Handler() AppLogger.configure() - setupCrashHandler() val logger = LoggerFactory.getLogger(this.javaClass) + setupCrashHandler(logger) + logger.info("Starting tinc app {} ({} build), running on {} ({})", BuildConfig.VERSION_NAME, BuildConfig.BUILD_TYPE, Build.VERSION.CODENAME, Build.VERSION.RELEASE) + + ConfigurationDirectoryMigrator().migrate() } - private fun setupCrashHandler() { - val logger = LoggerFactory.getLogger(this.javaClass) + private fun setupCrashHandler(logger: Logger) { val systemCrashHandler = Thread.getDefaultUncaughtExceptionHandler()!! val crashRecorder = CrashRecorder(logger, systemCrashHandler) Thread.setDefaultUncaughtExceptionHandler(crashRecorder) -- cgit v1.2.3