add isWear shortcut
This commit is contained in:
+10
-1
@@ -1,4 +1,4 @@
|
||||
package ru.shadowsparky.ui.components
|
||||
package ru.shadowsparky.ui.util
|
||||
|
||||
import android.app.UiModeManager
|
||||
import android.content.Context
|
||||
@@ -15,3 +15,12 @@ actual fun isTv(): Boolean {
|
||||
uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
actual fun isWear(): Boolean {
|
||||
val context = LocalContext.current
|
||||
return remember(context) {
|
||||
val uiModeManager = context.getSystemService(Context.UI_MODE_SERVICE) as UiModeManager
|
||||
uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_WATCH
|
||||
}
|
||||
}
|
||||
@@ -12,11 +12,12 @@ import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
|
||||
import dev.chrisbanes.haze.materials.HazeMaterials
|
||||
import dev.chrisbanes.haze.rememberHazeState
|
||||
import ru.shadowsparky.ui.components.isTv
|
||||
import ru.shadowsparky.ui.util.isWear
|
||||
|
||||
internal val LocalBlurState = compositionLocalOf<BlurState?> { null }
|
||||
|
||||
@Composable
|
||||
internal fun isBlurEnabled(): Boolean = !isTv()
|
||||
internal fun isBlurEnabled(): Boolean = !isTv() && !isWear()
|
||||
|
||||
@Composable
|
||||
internal fun rememberBlurState(): BlurState? {
|
||||
|
||||
@@ -17,6 +17,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.DialogProperties
|
||||
import ru.shadowsparky.ui.theme.getColorScheme
|
||||
import ru.shadowsparky.ui.util.isWear
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class)
|
||||
@Composable
|
||||
@@ -44,7 +45,7 @@ fun AlertContent(
|
||||
}
|
||||
}
|
||||
MaterialExpressiveTheme(getColorScheme()) {
|
||||
if (isTv()) {
|
||||
if (isTv() || isWear()) {
|
||||
BasicAlertDialog(
|
||||
onDismissRequest = onDismissRequest,
|
||||
modifier = modifier,
|
||||
|
||||
@@ -17,7 +17,7 @@ import androidx.compose.ui.unit.dp
|
||||
import ru.shadowsparky.ui.blurSource
|
||||
|
||||
@Composable
|
||||
expect fun isTv(): Boolean
|
||||
fun isTv(): Boolean = ru.shadowsparky.ui.util.isTv()
|
||||
|
||||
/**
|
||||
* LazyColumn — обходной путь для бага LazyColumn + contentPadding на Android TV.
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package ru.shadowsparky.ui.util
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
@Composable
|
||||
expect fun isTv(): Boolean
|
||||
|
||||
@Composable
|
||||
expect fun isWear(): Boolean
|
||||
+4
-1
@@ -1,6 +1,9 @@
|
||||
package ru.shadowsparky.ui.components
|
||||
package ru.shadowsparky.ui.util
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
@Composable
|
||||
actual fun isTv(): Boolean = false
|
||||
|
||||
@Composable
|
||||
actual fun isWear(): Boolean = false
|
||||
+4
-1
@@ -1,6 +1,9 @@
|
||||
package ru.shadowsparky.ui.components
|
||||
package ru.shadowsparky.ui.util
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
@Composable
|
||||
actual fun isTv(): Boolean = false
|
||||
|
||||
@Composable
|
||||
actual fun isWear(): Boolean = false
|
||||
Reference in New Issue
Block a user