Offers way to load the Application class from Context
This commit is contained in:
@@ -26,8 +26,10 @@ import android.content.ContextWrapper
|
|||||||
import android.view.Window
|
import android.view.Window
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.platform.LocalView
|
import androidx.compose.ui.platform.LocalView
|
||||||
import androidx.compose.ui.window.DialogWindowProvider
|
import androidx.compose.ui.window.DialogWindowProvider
|
||||||
|
import com.vitorpamplona.amethyst.Amethyst
|
||||||
|
|
||||||
// Window utils
|
// Window utils
|
||||||
@Composable
|
@Composable
|
||||||
@@ -44,7 +46,7 @@ private tailrec fun Context.getActivityWindow(): Window? =
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun getActivity(): Activity? = LocalView.current.context.getActivity()
|
fun getActivity(): Activity? = LocalContext.current.getActivity()
|
||||||
|
|
||||||
tailrec fun Context.getActivity(): ComponentActivity =
|
tailrec fun Context.getActivity(): ComponentActivity =
|
||||||
when (this) {
|
when (this) {
|
||||||
@@ -52,3 +54,8 @@ tailrec fun Context.getActivity(): ComponentActivity =
|
|||||||
is ContextWrapper -> baseContext.getActivity()
|
is ContextWrapper -> baseContext.getActivity()
|
||||||
else -> throw IllegalStateException("Requires a ComponentActivity to run")
|
else -> throw IllegalStateException("Requires a ComponentActivity to run")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun getAmethystApp(): Amethyst = LocalContext.current.getAmethystApp()
|
||||||
|
|
||||||
|
fun Context.getAmethystApp(): Amethyst = this.applicationContext as Amethyst
|
||||||
|
|||||||
Reference in New Issue
Block a user