Skip to content

Commit 646cc3d

Browse files
committed
Fix wrong thread
'Cannot invoke observe on a background thread'
1 parent fd20eb8 commit 646cc3d

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

LogcatCoreLib/src/main/java/info/hannes/timber/FileLoggingTree.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@ package info.hannes.timber
22

33
import android.annotation.SuppressLint
44
import android.content.Context
5+
import android.os.Handler
6+
import android.os.Looper
57
import android.util.Log
68
import androidx.lifecycle.MutableLiveData
79
import java.io.File
810
import java.io.FileWriter
911
import java.text.SimpleDateFormat
10-
import java.util.*
12+
import java.util.Date
13+
import java.util.Locale
14+
import java.util.UUID
1115

1216
@Suppress("unused")
1317
@SuppressLint("LogNotTimber")
@@ -49,7 +53,12 @@ open class FileLoggingTree(externalCacheDir: File, context: Context? = null, fil
4953
writer.append(textLine)
5054
writer.flush()
5155
writer.close()
52-
lastLogEntry.value = textLine
56+
57+
if (Thread.currentThread().name == "main")
58+
lastLogEntry.value = textLine
59+
else
60+
Handler(Looper.getMainLooper()).post { lastLogEntry.value = textLine }
61+
5362
} catch (e: Exception) {
5463
// Log to prevent an endless loop
5564
if (!logImpossible) {

0 commit comments

Comments
 (0)