From 37e69fdbcc4bfa80b41f9b5c57f590dd10312e35 Mon Sep 17 00:00:00 2001
From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com>
Date: Thu, 5 Oct 2023 18:33:33 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=20UI=20=E5=AE=9E=E9=AA=8C?=
=?UTF-8?q?=E6=80=A7=E7=89=B9=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../post/ui/page/settings/about/AboutPage.kt | 50 +++++++++++++++++--
app/src/main/res/values/strings.xml | 2 +-
2 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/app/src/main/java/com/huanchengfly/tieba/post/ui/page/settings/about/AboutPage.kt b/app/src/main/java/com/huanchengfly/tieba/post/ui/page/settings/about/AboutPage.kt
index d4c11015..a22ee608 100644
--- a/app/src/main/java/com/huanchengfly/tieba/post/ui/page/settings/about/AboutPage.kt
+++ b/app/src/main/java/com/huanchengfly/tieba/post/ui/page/settings/about/AboutPage.kt
@@ -1,6 +1,8 @@
package com.huanchengfly.tieba.post.ui.page.settings.about
import androidx.compose.foundation.Image
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -15,19 +17,27 @@ import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.material.TextButton
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableIntStateOf
+import androidx.compose.runtime.mutableLongStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.google.accompanist.drawablepainter.rememberDrawablePainter
-import com.google.accompanist.insets.ui.Scaffold
import com.huanchengfly.tieba.post.BuildConfig
import com.huanchengfly.tieba.post.R
+import com.huanchengfly.tieba.post.toastShort
import com.huanchengfly.tieba.post.ui.common.theme.compose.ExtendedTheme
import com.huanchengfly.tieba.post.ui.widgets.compose.BackNavigationIcon
+import com.huanchengfly.tieba.post.ui.widgets.compose.MyScaffold
import com.huanchengfly.tieba.post.ui.widgets.compose.TitleCentredToolbar
+import com.huanchengfly.tieba.post.utils.appPreferences
import com.huanchengfly.tieba.post.utils.launchUrl
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
@@ -37,11 +47,20 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator
fun AboutPage(
navigator: DestinationsNavigator,
) {
- Scaffold(
+ var lastClickTime by remember { mutableLongStateOf(0L) }
+ var clickCount by remember { mutableIntStateOf(0) }
+
+ MyScaffold(
backgroundColor = Color.Transparent,
topBar = {
TitleCentredToolbar(
- title = stringResource(id = R.string.title_about),
+ title = {
+ Text(
+ text = stringResource(id = R.string.title_about),
+ fontWeight = FontWeight.Bold,
+ style = MaterialTheme.typography.h6
+ )
+ },
navigationIcon = {
BackNavigationIcon(onBackPressed = { navigator.navigateUp() })
}
@@ -91,7 +110,30 @@ fun AboutPage(
Text(
text = stringResource(id = R.string.tip_about, BuildConfig.VERSION_NAME),
style = MaterialTheme.typography.caption,
- color = ExtendedTheme.colors.textSecondary
+ color = ExtendedTheme.colors.textSecondary,
+ modifier = Modifier.clickable(
+ interactionSource = remember { MutableInteractionSource() },
+ indication = null,
+ onClick = {
+ val currentTime = System.currentTimeMillis()
+ if (currentTime - lastClickTime < 500) {
+ clickCount++
+ } else {
+ clickCount = 1
+ }
+ lastClickTime = currentTime
+ if (clickCount >= 7) {
+ clickCount = 0
+ context.appPreferences.showExperimentalFeatures =
+ !context.appPreferences.showExperimentalFeatures
+ if (context.appPreferences.showExperimentalFeatures) {
+ context.toastShort(R.string.toast_experimental_features_enabled)
+ } else {
+ context.toastShort(R.string.toast_experimental_features_disabled)
+ }
+ }
+ }
+ )
)
}
Spacer(modifier = Modifier.height(48.dp))
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9c613493..941994db 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -641,7 +641,7 @@
语音
表情
表情 %s
- (实验性特性)启用新版 UI。仅少部分页面完成,BUG 可能较多,仅供尝鲜使用!
+ 启用新版 UI。部分页面尚未完成,BUG 可能较多,仅供尝鲜使用!
启用新版 UI
请忽略“电池优化”
在 Android 12 及以上版本中,后台启动前台服务被严格限制。为了避免一键签到无法正常启动,请忽略本应用的“电池优化”。