diff --git a/app/src/main/java/io/legado/app/base/BaseService.kt b/app/src/main/java/io/legado/app/base/BaseService.kt index e6e8a79f8..fac10c67d 100644 --- a/app/src/main/java/io/legado/app/base/BaseService.kt +++ b/app/src/main/java/io/legado/app/base/BaseService.kt @@ -10,6 +10,7 @@ import io.legado.app.help.LifecycleHelp import io.legado.app.help.coroutine.Coroutine import io.legado.app.lib.permission.Permissions import io.legado.app.lib.permission.PermissionsCompat +import io.legado.app.utils.LogUtils import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineStart import kotlinx.coroutines.Dispatchers @@ -18,6 +19,8 @@ import kotlin.coroutines.CoroutineContext abstract class BaseService : LifecycleService() { + private val simpleName = this::class.simpleName.toString() + fun execute( scope: CoroutineScope = lifecycleScope, context: CoroutineContext = Dispatchers.IO, @@ -35,12 +38,14 @@ abstract class BaseService : LifecycleService() { @CallSuper override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { + LogUtils.d(simpleName, "onStartCommand $intent") startForegroundNotification() return super.onStartCommand(intent, flags, startId) } @CallSuper override fun onTaskRemoved(rootIntent: Intent?) { + LogUtils.d(simpleName, "onTaskRemoved") super.onTaskRemoved(rootIntent) stopSelf() } diff --git a/app/src/main/java/io/legado/app/constant/AppLog.kt b/app/src/main/java/io/legado/app/constant/AppLog.kt index 75839e5f1..1990ac71b 100644 --- a/app/src/main/java/io/legado/app/constant/AppLog.kt +++ b/app/src/main/java/io/legado/app/constant/AppLog.kt @@ -3,6 +3,7 @@ package io.legado.app.constant import android.util.Log import io.legado.app.BuildConfig import io.legado.app.help.config.AppConfig +import io.legado.app.utils.LogUtils import io.legado.app.utils.toastOnUi import splitties.init.appCtx @@ -21,6 +22,11 @@ object AppLog { if (mLogs.size > 100) { mLogs.removeLastOrNull() } + if (throwable == null) { + LogUtils.d("AppLog", message) + } else { + LogUtils.d("AppLog", "$message\n${throwable.stackTraceToString()}") + } mLogs.add(0, Triple(System.currentTimeMillis(), message, throwable)) if (BuildConfig.DEBUG) { val stackTrace = Thread.currentThread().stackTrace diff --git a/app/src/main/java/io/legado/app/model/ReadAloud.kt b/app/src/main/java/io/legado/app/model/ReadAloud.kt index 138b567ca..7b5038751 100644 --- a/app/src/main/java/io/legado/app/model/ReadAloud.kt +++ b/app/src/main/java/io/legado/app/model/ReadAloud.kt @@ -13,6 +13,7 @@ import io.legado.app.help.config.AppConfig import io.legado.app.service.BaseReadAloudService import io.legado.app.service.HttpReadAloudService import io.legado.app.service.TTSReadAloudService +import io.legado.app.utils.LogUtils import io.legado.app.utils.StringUtils import io.legado.app.utils.postEvent import io.legado.app.utils.toastOnUi @@ -53,6 +54,7 @@ object ReadAloud { intent.putExtra("play", play) intent.putExtra("pageIndex", pageIndex) intent.putExtra("startPos", startPos) + LogUtils.d("ReadAloud", intent.toString()) try { ContextCompat.startForegroundService(context, intent) } catch (e: Exception) {