diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt b/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt index 23204d09a..af0be10bb 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt @@ -79,7 +79,10 @@ class AnalysisService : Service() { } private fun initChannels(context: Context) { - val messenger = flutterEngine!!.dartExecutor + val engine = flutterEngine + engine ?: throw Exception("Flutter engine is not initialized") + + val messenger = engine.dartExecutor // channels for analysis diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt index 307eadc55..20961ea40 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt @@ -90,7 +90,7 @@ class HomeWidgetProvider : AppWidgetProvider() { val messenger = flutterEngine!!.dartExecutor val channel = MethodChannel(messenger, WIDGET_DRAW_CHANNEL) try { - val bytes = suspendCoroutine { cont -> + val bytes = suspendCoroutine { cont -> defaultScope.launch { FlutterUtils.runOnUiThread { channel.invokeMethod("drawWidget", hashMapOf( @@ -194,7 +194,10 @@ class HomeWidgetProvider : AppWidgetProvider() { } private fun initChannels(context: Context) { - val messenger = flutterEngine!!.dartExecutor + val engine = flutterEngine + engine ?: throw Exception("Flutter engine is not initialized") + + val messenger = engine.dartExecutor // dart -> platform -> dart // - need Context diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt index 4627eeb52..4429cd878 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt @@ -72,7 +72,10 @@ class SearchSuggestionsProvider : ContentProvider() { } } - val messenger = flutterEngine!!.dartExecutor + val engine = flutterEngine + engine ?: throw Exception("Flutter engine is not initialized") + + val messenger = engine.dartExecutor val backgroundChannel = MethodChannel(messenger, BACKGROUND_CHANNEL).apply { setMethodCallHandler { call, result -> when (call.method) { diff --git a/lib/widgets/viewer/info/basic_section.dart b/lib/widgets/viewer/info/basic_section.dart index f35351432..1f3d8e7e4 100644 --- a/lib/widgets/viewer/info/basic_section.dart +++ b/lib/widgets/viewer/info/basic_section.dart @@ -235,9 +235,11 @@ class _BasicSectionState extends State { void _onScrollingChanged() { if (!widget.isScrollingNotifier.value) { - // using `autofocus` while scrolling seems to fail for widget built offscreen - // so we give focus to this page when the screen is no longer scrolling - _chipFocusNode.children.firstOrNull?.requestFocus(); + if (settings.useTvLayout) { + // using `autofocus` while scrolling seems to fail for widget built offscreen + // so we give focus to this page when the screen is no longer scrolling + _chipFocusNode.children.firstOrNull?.requestFocus(); + } } } }