feat: set Log.minLevel in app entry points and migrate android.util.Log usages
- Set Log.minLevel based on BuildConfig.DEBUG in Amethyst.kt init - Set Log.minLevel = DEBUG in Desktop Main.kt - Migrate VideoCompressionHelper to quartz Log + LogLevel enum - Migrate VoiceAnonymizer, VoiceMessagePreview, LiveStatusIndicator to quartz Log Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -23,9 +23,11 @@ package com.vitorpamplona.amethyst
|
|||||||
import android.app.Application
|
import android.app.Application
|
||||||
import com.vitorpamplona.amethyst.service.logging.Logging
|
import com.vitorpamplona.amethyst.service.logging.Logging
|
||||||
import com.vitorpamplona.quartz.utils.Log
|
import com.vitorpamplona.quartz.utils.Log
|
||||||
|
import com.vitorpamplona.quartz.utils.LogLevel
|
||||||
|
|
||||||
class Amethyst : Application() {
|
class Amethyst : Application() {
|
||||||
init {
|
init {
|
||||||
|
Log.minLevel = if (BuildConfig.DEBUG) LogLevel.DEBUG else LogLevel.ERROR
|
||||||
Log.d("AmethystApp", "Creating App $this")
|
Log.d("AmethystApp", "Creating App $this")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-8
@@ -26,7 +26,6 @@ import android.net.Uri
|
|||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
import android.text.format.Formatter.formatFileSize
|
import android.text.format.Formatter.formatFileSize
|
||||||
import android.util.Log
|
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import com.abedelazizshe.lightcompressorlibrary.CompressionListener
|
import com.abedelazizshe.lightcompressorlibrary.CompressionListener
|
||||||
import com.abedelazizshe.lightcompressorlibrary.VideoCodec
|
import com.abedelazizshe.lightcompressorlibrary.VideoCodec
|
||||||
@@ -34,6 +33,8 @@ import com.abedelazizshe.lightcompressorlibrary.VideoCompressor
|
|||||||
import com.abedelazizshe.lightcompressorlibrary.config.AppSpecificStorageConfiguration
|
import com.abedelazizshe.lightcompressorlibrary.config.AppSpecificStorageConfiguration
|
||||||
import com.abedelazizshe.lightcompressorlibrary.config.Configuration
|
import com.abedelazizshe.lightcompressorlibrary.config.Configuration
|
||||||
import com.abedelazizshe.lightcompressorlibrary.config.VideoResizer
|
import com.abedelazizshe.lightcompressorlibrary.config.VideoResizer
|
||||||
|
import com.vitorpamplona.quartz.utils.Log
|
||||||
|
import com.vitorpamplona.quartz.utils.LogLevel
|
||||||
import kotlinx.coroutines.suspendCancellableCoroutine
|
import kotlinx.coroutines.suspendCancellableCoroutine
|
||||||
import kotlinx.coroutines.withTimeoutOrNull
|
import kotlinx.coroutines.withTimeoutOrNull
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -217,7 +218,7 @@ object VideoCompressionHelper {
|
|||||||
if (path == null) {
|
if (path == null) {
|
||||||
applicationContext.notifyUser(
|
applicationContext.notifyUser(
|
||||||
"Video compression succeeded, but path was null",
|
"Video compression succeeded, but path was null",
|
||||||
Log.WARN,
|
LogLevel.WARN,
|
||||||
)
|
)
|
||||||
if (continuation.isActive) continuation.resume(null)
|
if (continuation.isActive) continuation.resume(null)
|
||||||
return
|
return
|
||||||
@@ -237,7 +238,7 @@ object VideoCompressionHelper {
|
|||||||
}
|
}
|
||||||
applicationContext.notifyUser(
|
applicationContext.notifyUser(
|
||||||
"Compressed file larger than original. Using original.",
|
"Compressed file larger than original. Using original.",
|
||||||
Log.WARN,
|
LogLevel.WARN,
|
||||||
)
|
)
|
||||||
if (continuation.isActive) {
|
if (continuation.isActive) {
|
||||||
continuation.resume(
|
continuation.resume(
|
||||||
@@ -276,7 +277,7 @@ object VideoCompressionHelper {
|
|||||||
) {
|
) {
|
||||||
applicationContext.notifyUser(
|
applicationContext.notifyUser(
|
||||||
"Video compression failed: $failureMessage",
|
"Video compression failed: $failureMessage",
|
||||||
Log.ERROR,
|
LogLevel.ERROR,
|
||||||
)
|
)
|
||||||
if (continuation.isActive) continuation.resume(null)
|
if (continuation.isActive) continuation.resume(null)
|
||||||
}
|
}
|
||||||
@@ -306,16 +307,17 @@ object VideoCompressionHelper {
|
|||||||
|
|
||||||
private fun Context.notifyUser(
|
private fun Context.notifyUser(
|
||||||
message: String,
|
message: String,
|
||||||
logLevel: Int = Log.DEBUG,
|
logLevel: LogLevel = LogLevel.DEBUG,
|
||||||
duration: Int = Toast.LENGTH_LONG,
|
duration: Int = Toast.LENGTH_LONG,
|
||||||
) {
|
) {
|
||||||
Handler(Looper.getMainLooper()).post {
|
Handler(Looper.getMainLooper()).post {
|
||||||
Toast.makeText(this, message, duration).show()
|
Toast.makeText(this, message, duration).show()
|
||||||
}
|
}
|
||||||
when (logLevel) {
|
when (logLevel) {
|
||||||
Log.ERROR -> Log.e(LOG_TAG, message)
|
LogLevel.ERROR -> Log.e(LOG_TAG, message)
|
||||||
Log.WARN -> Log.w(LOG_TAG, message)
|
LogLevel.WARN -> Log.w(LOG_TAG, message)
|
||||||
else -> Log.d(LOG_TAG, message)
|
LogLevel.INFO -> Log.i(LOG_TAG, message)
|
||||||
|
LogLevel.DEBUG -> Log.d(LOG_TAG, message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,6 @@ import android.media.MediaCodecInfo
|
|||||||
import android.media.MediaExtractor
|
import android.media.MediaExtractor
|
||||||
import android.media.MediaFormat
|
import android.media.MediaFormat
|
||||||
import android.media.MediaMuxer
|
import android.media.MediaMuxer
|
||||||
import android.util.Log
|
|
||||||
import be.tarsos.dsp.AudioDispatcher
|
import be.tarsos.dsp.AudioDispatcher
|
||||||
import be.tarsos.dsp.AudioEvent
|
import be.tarsos.dsp.AudioEvent
|
||||||
import be.tarsos.dsp.AudioProcessor
|
import be.tarsos.dsp.AudioProcessor
|
||||||
@@ -33,6 +32,7 @@ import be.tarsos.dsp.WaveformSimilarityBasedOverlapAdd
|
|||||||
import be.tarsos.dsp.io.TarsosDSPAudioFloatConverter
|
import be.tarsos.dsp.io.TarsosDSPAudioFloatConverter
|
||||||
import be.tarsos.dsp.io.TarsosDSPAudioFormat
|
import be.tarsos.dsp.io.TarsosDSPAudioFormat
|
||||||
import be.tarsos.dsp.resample.RateTransposer
|
import be.tarsos.dsp.resample.RateTransposer
|
||||||
|
import com.vitorpamplona.quartz.utils.Log
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.currentCoroutineContext
|
import kotlinx.coroutines.currentCoroutineContext
|
||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,6 @@
|
|||||||
package com.vitorpamplona.amethyst.ui.actions.uploads
|
package com.vitorpamplona.amethyst.ui.actions.uploads
|
||||||
|
|
||||||
import android.media.MediaPlayer
|
import android.media.MediaPlayer
|
||||||
import android.util.Log
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
@@ -60,6 +59,7 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.ui.components.AudioWaveformReadOnly
|
import com.vitorpamplona.amethyst.ui.components.AudioWaveformReadOnly
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.quartz.nipA0VoiceMessages.AudioMeta
|
import com.vitorpamplona.quartz.nipA0VoiceMessages.AudioMeta
|
||||||
|
import com.vitorpamplona.quartz.utils.Log
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -275,7 +275,7 @@ private fun ManageMediaPlayer(
|
|||||||
try {
|
try {
|
||||||
player?.stop()
|
player?.stop()
|
||||||
} catch (e: IllegalStateException) {
|
} catch (e: IllegalStateException) {
|
||||||
Log.d("VoiceMessagePreview", "MediaPlayer stop failed (already stopped)", e)
|
Log.d("VoiceMessagePreview", "MediaPlayer stop failed (already stopped): ${e.message}")
|
||||||
}
|
}
|
||||||
player?.release()
|
player?.release()
|
||||||
onPlayerChanged(null)
|
onPlayerChanged(null)
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.vitorpamplona.amethyst.ui.screen.loggedIn.home.live
|
package com.vitorpamplona.amethyst.ui.screen.loggedIn.home.live
|
||||||
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.compose.foundation.Canvas
|
import androidx.compose.foundation.Canvas
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
@@ -34,6 +33,7 @@ import com.vitorpamplona.amethyst.commons.model.emphChat.EphemeralChatChannel
|
|||||||
import com.vitorpamplona.amethyst.commons.model.nip53LiveActivities.LiveActivitiesChannel
|
import com.vitorpamplona.amethyst.commons.model.nip53LiveActivities.LiveActivitiesChannel
|
||||||
import com.vitorpamplona.amethyst.service.OnlineChecker
|
import com.vitorpamplona.amethyst.service.OnlineChecker
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
|
import com.vitorpamplona.quartz.utils.Log
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|||||||
@@ -101,6 +101,8 @@ import com.vitorpamplona.amethyst.desktop.ui.relay.RelayStatusCard
|
|||||||
import com.vitorpamplona.amethyst.desktop.ui.settings.MediaServerSettings
|
import com.vitorpamplona.amethyst.desktop.ui.settings.MediaServerSettings
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||||
import com.vitorpamplona.quartz.nip47WalletConnect.Nip47WalletConnect
|
import com.vitorpamplona.quartz.nip47WalletConnect.Nip47WalletConnect
|
||||||
|
import com.vitorpamplona.quartz.utils.Log
|
||||||
|
import com.vitorpamplona.quartz.utils.LogLevel
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.SupervisorJob
|
import kotlinx.coroutines.SupervisorJob
|
||||||
@@ -158,6 +160,7 @@ sealed class DesktopScreen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun main() {
|
fun main() {
|
||||||
|
Log.minLevel = LogLevel.DEBUG
|
||||||
DesktopImageLoaderSetup.setup()
|
DesktopImageLoaderSetup.setup()
|
||||||
Runtime.getRuntime().addShutdownHook(
|
Runtime.getRuntime().addShutdownHook(
|
||||||
Thread {
|
Thread {
|
||||||
|
|||||||
Reference in New Issue
Block a user