From 4e11467a1058bb814c5aba3969f2e74892a765ab Mon Sep 17 00:00:00 2001 From: Kieran W <41634689+FredHappyface@users.noreply.github.com> Date: Mon, 17 Feb 2025 18:30:46 +0000 Subject: [PATCH] Fix critical bug with the logger crashing the app --- CHANGELOG.md | 4 +++ app/build.gradle.kts | 4 +-- .../fredhappyface/ewesticker/ImageKeyboard.kt | 2 ++ .../fredhappyface/ewesticker/MainActivity.kt | 15 ++-------- .../ewesticker/utilities/StartLogger.kt | 28 +++++++++++++++++++ metadata/en-US/changelogs/20250217.txt | 4 +++ 6 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/fredhappyface/ewesticker/utilities/StartLogger.kt create mode 100644 metadata/en-US/changelogs/20250217.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index c0f6f38..5c37b9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ patch-level version changes can be found in [commit messages](../../commits/mast ## Next_Ver --> +## 20250217 + +- Fix critical bug with the logger crashing the app + ## 20250209 - Update dependency versions diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f23f58f..3e181ab 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -48,8 +48,8 @@ android { applicationId = "com.fredhappyface.ewesticker" minSdk = 26 targetSdk = 35 - versionCode = 20250209 - versionName = "20250209" + versionCode = 20250217 + versionName = "20250217" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" setProperty("archivesBaseName", "$applicationId-$versionName") } diff --git a/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt b/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt index c058b55..34560d3 100644 --- a/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt +++ b/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt @@ -35,6 +35,7 @@ import com.fredhappyface.ewesticker.utilities.Cache import com.fredhappyface.ewesticker.utilities.StickerClickListener import com.fredhappyface.ewesticker.utilities.StickerSender import com.fredhappyface.ewesticker.utilities.Toaster +import com.fredhappyface.ewesticker.utilities.startLogger import java.io.File import kotlin.math.abs import kotlin.math.min @@ -96,6 +97,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener { override fun onCreate() { // Misc super.onCreate() + startLogger(filesDir) XLog.i("=".repeat(80)) XLog.i("Loaded $packageName:${javaClass.name}") diff --git a/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt b/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt index 0dfed66..132594e 100644 --- a/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt +++ b/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt @@ -17,14 +17,10 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceManager -import com.elvishew.xlog.LogConfiguration -import com.elvishew.xlog.LogLevel import com.elvishew.xlog.XLog -import com.elvishew.xlog.printer.AndroidPrinter -import com.elvishew.xlog.printer.file.FilePrinter -import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator import com.fredhappyface.ewesticker.utilities.StickerImporter import com.fredhappyface.ewesticker.utilities.Toaster +import com.fredhappyface.ewesticker.utilities.startLogger import com.google.android.material.progressindicator.LinearProgressIndicator import io.noties.markwon.Markwon import kotlinx.coroutines.Dispatchers @@ -54,14 +50,7 @@ class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - val logConfig = LogConfiguration.Builder().logLevel(LogLevel.ALL).tag("EweSticker").build() - val androidPrinter = - AndroidPrinter(true) // Printer that print the log using android.util.Log - val filePrinter = FilePrinter.Builder( - File(filesDir, "logs").path - ).fileNameGenerator(DateFileNameGenerator()).build() - - XLog.init(logConfig, androidPrinter, filePrinter) + startLogger(filesDir) XLog.i("=".repeat(80)) XLog.i("Loaded $packageName:$localClassName") diff --git a/app/src/main/java/com/fredhappyface/ewesticker/utilities/StartLogger.kt b/app/src/main/java/com/fredhappyface/ewesticker/utilities/StartLogger.kt new file mode 100644 index 0000000..f7f8dd2 --- /dev/null +++ b/app/src/main/java/com/fredhappyface/ewesticker/utilities/StartLogger.kt @@ -0,0 +1,28 @@ +package com.fredhappyface.ewesticker.utilities + +import com.elvishew.xlog.LogConfiguration +import com.elvishew.xlog.LogLevel +import com.elvishew.xlog.printer.AndroidPrinter +import com.elvishew.xlog.printer.file.FilePrinter +import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator +import java.io.File +import com.elvishew.xlog.XLog + + +fun startLogger(filesDir: File) { + + try { + XLog.i("startLogger if not already started") + } catch (e: IllegalStateException) { + + val logConfig = LogConfiguration.Builder().logLevel(LogLevel.ALL).tag("EweSticker").build() + val androidPrinter = + AndroidPrinter(true) // Printer that print the log using android.util.Log + val filePrinter = FilePrinter.Builder( + File(filesDir, "logs").path + ).fileNameGenerator(DateFileNameGenerator()).build() + + XLog.init(logConfig, androidPrinter, filePrinter) + } + +} \ No newline at end of file diff --git a/metadata/en-US/changelogs/20250217.txt b/metadata/en-US/changelogs/20250217.txt new file mode 100644 index 0000000..d079e58 --- /dev/null +++ b/metadata/en-US/changelogs/20250217.txt @@ -0,0 +1,4 @@ +