From 16bb8b57098e70387b8740959e85b4c764312057 Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Tue, 23 Jan 2024 23:33:03 +0300 Subject: [PATCH] Catch exceptions when providing widget layout possible fix widget being stuck on initial layout --- .../unitto/feature/glance/glance/CalculatorWidget.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/feature/glance/src/main/java/com/sadellie/unitto/feature/glance/glance/CalculatorWidget.kt b/feature/glance/src/main/java/com/sadellie/unitto/feature/glance/glance/CalculatorWidget.kt index c75c679b..fa35c45a 100644 --- a/feature/glance/src/main/java/com/sadellie/unitto/feature/glance/glance/CalculatorWidget.kt +++ b/feature/glance/src/main/java/com/sadellie/unitto/feature/glance/glance/CalculatorWidget.kt @@ -19,6 +19,7 @@ package com.sadellie.unitto.feature.glance.glance import android.content.Context +import android.util.Log import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.ui.unit.TextUnit @@ -86,9 +87,12 @@ class CalculatorWidget : GlanceAppWidget() { } override suspend fun provideGlance(context: Context, id: GlanceId) { - - val userPrefsRepository = + val userPrefsRepository = try { EntryPoints.get(context, UserPrefEntryPoint::class.java).userPrefRep() + } catch (e: Exception) { + Log.e("CalculatorWidget", "Error: $e") + provideContent { LoadingUI() } // everything after is unreachable, no need for return + } provideContent { val appPrefs = userPrefsRepository.calculatorPrefs.collectAsState(initial = null).value