From 66eef96ccb491d6b0721be5d93bf7ba80c075085 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 6 Sep 2025 10:25:20 -0400 Subject: [PATCH] Offers way to load the Application class from Context --- .../vitorpamplona/amethyst/ui/components/WindowUtils.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/WindowUtils.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/WindowUtils.kt index 163c895e2..b9f616dd0 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/WindowUtils.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/WindowUtils.kt @@ -26,8 +26,10 @@ import android.content.ContextWrapper import android.view.Window import androidx.activity.ComponentActivity import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalView import androidx.compose.ui.window.DialogWindowProvider +import com.vitorpamplona.amethyst.Amethyst // Window utils @Composable @@ -44,7 +46,7 @@ private tailrec fun Context.getActivityWindow(): Window? = } @Composable -fun getActivity(): Activity? = LocalView.current.context.getActivity() +fun getActivity(): Activity? = LocalContext.current.getActivity() tailrec fun Context.getActivity(): ComponentActivity = when (this) { @@ -52,3 +54,8 @@ tailrec fun Context.getActivity(): ComponentActivity = is ContextWrapper -> baseContext.getActivity() else -> throw IllegalStateException("Requires a ComponentActivity to run") } + +@Composable +fun getAmethystApp(): Amethyst = LocalContext.current.getAmethystApp() + +fun Context.getAmethystApp(): Amethyst = this.applicationContext as Amethyst