From d4cbd86bba156da6f40d4021b7dec918a33c10e7 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Sat, 9 Apr 2022 18:12:54 +0100 Subject: [PATCH] DO NOT MERGE: Add debug logging to detect blocked UI thread. --- .idea/compiler.xml | 9 +++------ .../briar/desktop/BriarDesktopApp.kt | 5 +++++ .../org/briarproject/briar/desktop/Main.kt | 19 +++++++++++++++++-- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 14d0aad908..ee1008f2c0 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -29,12 +29,9 @@ <entry name="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.20/c6761d7805b5312302f2bbd78cda68c976ce0c70/kotlin-stdlib-common-1.4.20.jar" /> <entry name="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" /> </processorPath> - <module name="briar-desktop.bramble-core.test" /> - <module name="briar-desktop.bramble-java.test" /> - <module name="briar-desktop.briar-core.main" /> - <module name="briar-desktop.briar-core.test" /> - <module name="briar-desktop.bramble-java.main" /> - <module name="briar-desktop.bramble-core.main" /> + <module name="briar-desktop.bramble-java" /> + <module name="briar-desktop.briar-core" /> + <module name="briar-desktop.bramble-core" /> </profile> </annotationProcessing> <bytecodeTargetLevel target="1.8"> diff --git a/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt b/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt index 252c2b6080..cf2856e84f 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt @@ -21,10 +21,12 @@ package org.briarproject.briar.desktop import dagger.Component import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.BrambleCoreModule +import org.briarproject.bramble.api.event.EventExecutor import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.BriarCoreModule import org.briarproject.briar.desktop.ui.BriarUi import java.security.SecureRandom +import java.util.concurrent.Executor import javax.inject.Singleton @Component( @@ -40,4 +42,7 @@ internal interface BriarDesktopApp : BrambleCoreEagerSingletons, BriarCoreEagerS fun getBriarUi(): BriarUi fun getSecureRandom(): SecureRandom + + @EventExecutor + fun getEventExecutor(): Executor } diff --git a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt index 013368fba8..685355a678 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt @@ -51,7 +51,8 @@ import java.util.logging.Level.INFO import java.util.logging.Level.WARNING @NonNls -private val DEFAULT_DATA_DIR = getProperty("user.home") + separator + ".briar" + separator + "desktop" +private val DEFAULT_DATA_DIR = + getProperty("user.home") + separator + ".briar" + separator + "desktop" private class Main : CliktCommand( name = "briar-desktop", // NON-NLS @@ -96,7 +97,8 @@ private class Main : CliktCommand( LogUtils.setupLogging(level) - val buildTime = Instant.ofEpochMilli(BuildData.GIT_TIME).atZone(ZoneId.systemDefault()).toLocalDateTime() + val buildTime = Instant.ofEpochMilli(BuildData.GIT_TIME).atZone(ZoneId.systemDefault()) + .toLocalDateTime() val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") // NON-NLS LOG.i { "This is briar-desktop version ${BuildData.VERSION}" } LOG.i { "Build info:" } @@ -114,6 +116,19 @@ private class Main : CliktCommand( BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app) BriarCoreEagerSingletons.Helper.injectEagerSingletons(app) + val eventExecutor = app.getEventExecutor() + Thread { + while (true) { + LOG.i { "Background tick" } + eventExecutor.execute { LOG.i { "Foreground tick " } } + try { + Thread.sleep(1000) + } catch (ignored: InterruptedException) { + break + } + } + }.start() + application { app.getBriarUi().start { app.getBriarUi().stop() -- GitLab