From b7aeb2847b83ca445b070dbbba1a4b911a56df03 Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Sun, 1 Oct 2023 21:30:35 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E4=BC=98=E5=8C=96=E5=A4=9C=E9=97=B4?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=8E=8B=E6=9A=97=E7=BC=A9=E7=95=A5=E5=9B=BE?= =?UTF-8?q?=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/ui/widgets/compose/Images.kt | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/Images.kt b/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/Images.kt index 340f3347..cd119ab3 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/Images.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/Images.kt @@ -16,23 +16,22 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.ColorFilter -import androidx.compose.ui.graphics.ColorMatrix import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import com.github.panpf.sketch.compose.AsyncImage import com.github.panpf.sketch.request.Depth import com.github.panpf.sketch.request.DisplayRequest +import com.github.panpf.sketch.transform.MaskTransformation import com.huanchengfly.tieba.post.R import com.huanchengfly.tieba.post.arch.ImmutableHolder import com.huanchengfly.tieba.post.goToActivity import com.huanchengfly.tieba.post.models.protos.PhotoViewData +import com.huanchengfly.tieba.post.ui.common.theme.compose.ExtendedTheme import com.huanchengfly.tieba.post.ui.page.photoview.PhotoViewActivity import com.huanchengfly.tieba.post.ui.page.photoview.PhotoViewActivity.Companion.EXTRA_PHOTO_VIEW_DATA import com.huanchengfly.tieba.post.utils.ImageUtil import com.huanchengfly.tieba.post.utils.NetworkUtil -import com.huanchengfly.tieba.post.utils.ThemeUtil import com.huanchengfly.tieba.post.utils.appPreferences fun shouldLoadImage(context: Context, skipNetworkCheck: Boolean): Boolean { @@ -59,31 +58,24 @@ fun NetworkImage( var shouldLoad by remember { mutableStateOf(shouldLoadImage(context, skipNetworkCheck)) } val enableClick = remember(photoViewData, shouldLoad) { photoViewData != null || !shouldLoad } - val request = remember(imageUri, shouldLoad) { + val colorMask = + if (ExtendedTheme.colors.isNightMode && context.appPreferences.imageDarkenWhenNightMode) { + MaskTransformation(0x35000000) + } else null + + val request = remember(imageUri, shouldLoad, colorMask) { DisplayRequest(context, imageUri) { placeholder(ImageUtil.getPlaceHolder(context, 0)) crossfade() if (!shouldLoad) { depth(Depth.LOCAL) } + if (colorMask != null) { + transformations(colorMask) + } } } - val currentTheme by remember { ThemeUtil.themeState } - val isNightMode = remember(currentTheme) { ThemeUtil.isNightMode(currentTheme) } - val colorFilter = if (isNightMode && context.appPreferences.imageDarkenWhenNightMode) { - ColorFilter.colorMatrix( - ColorMatrix( - floatArrayOf( - 1f, 0f, 0f, 0f, -35f, - 0f, 1f, 0f, 0f, -35f, - 0f, 0f, 1f, 0f, -35f, - 0f, 0f, 0f, 1f, 0f - ) - ) - ) - } else null - LongClickMenu( enabled = enableClick, indication = null, @@ -117,7 +109,6 @@ fun NetworkImage( modifier = Modifier.fillMaxSize(), contentDescription = contentDescription, contentScale = contentScale, - colorFilter = colorFilter, ) } }