Skip to content

Commit

Permalink
perf: 界面布局优化
Browse files Browse the repository at this point in the history
  • Loading branch information
lisonge committed Oct 24, 2023
1 parent dcfe1ed commit c690edd
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 52 deletions.
2 changes: 2 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ android {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.majorVersion
freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn"
freeCompilerArgs += "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api"
freeCompilerArgs += "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi"
}
buildFeatures {
buildConfig = true
Expand Down
36 changes: 24 additions & 12 deletions app/src/main/java/li/songe/gkd/ui/ControlPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
Expand Down Expand Up @@ -57,6 +58,12 @@ fun ControlPage() {
val subsStatus by vm.subsStatusFlow.collectAsState()
val store by storeFlow.collectAsState()

val gkdAccessRunning by usePollState { GkdAbService.isRunning() }
val notifEnabled by usePollState {
NotificationManagerCompat.from(context).areNotificationsEnabled()
}
val canDrawOverlays by usePollState { Settings.canDrawOverlays(context) }

Scaffold(
topBar = {
TopAppBar(title = {
Expand All @@ -71,13 +78,8 @@ fun ControlPage() {
.verticalScroll(
state = rememberScrollState()
)
.padding(0.dp, 10.dp)
.padding(padding)
) {

val notifEnabled by usePollState {
NotificationManagerCompat.from(context).areNotificationsEnabled()
}
if (!notifEnabled) {
AuthCard(title = "通知权限",
desc = "用于启动后台服务,展示服务运行状态",
Expand All @@ -91,7 +93,6 @@ fun ControlPage() {
Divider()
}

val gkdAccessRunning by usePollState { GkdAbService.isRunning() }
if (!gkdAccessRunning) {
AuthCard(title = "无障碍权限",
desc = "用于获取屏幕信息,点击屏幕上的控件",
Expand All @@ -111,8 +112,6 @@ fun ControlPage() {
Divider()
}


val canDrawOverlays by usePollState { Settings.canDrawOverlays(context) }
if (!canDrawOverlays) {
AuthCard(title = "悬浮窗权限",
desc = "用于后台提示,显示保存快照按钮等功能",
Expand Down Expand Up @@ -151,15 +150,28 @@ fun ControlPage() {
) {
Column(modifier = Modifier.weight(1f)) {
Text(
text = subsStatus, fontSize = 18.sp
text = "点击记录", fontSize = 18.sp
)
Spacer(modifier = Modifier.height(2.dp))
Text(
text = if (latestRecordDesc != null) "最近点击: $latestRecordDesc" else "暂无记录",
fontSize = 14.sp
text = "如误触可在此快速定位关闭规则", fontSize = 14.sp
)
}
Icon(imageVector = Icons.Default.KeyboardArrowRight, contentDescription = null)
}
Divider()

Column(
modifier = Modifier
.fillMaxWidth()
.padding(10.dp, 5.dp)
) {
Text(text = subsStatus, fontSize = 18.sp)
if (latestRecordDesc != null) {
Text(
text = "最近点击: $latestRecordDesc", fontSize = 14.sp
)
}
Icon(imageVector = Icons.Default.KeyboardArrowRight, contentDescription = "")
}

}
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/li/songe/gkd/ui/SettingsPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ fun SettingsPage() {
Divider()

TextSwitch(name = "无障碍前台",
desc = "某些机型需添加前台悬浮窗才能正常工作",
desc = "添加前台透明悬浮窗,关闭可能导致不工作",
checked = store.enableAbFloatWindow,
onCheckedChange = {
updateStorage(
Expand Down Expand Up @@ -600,6 +600,6 @@ private val darkThemeRadioOptions = listOf(
)
private val enableGroupRadioOptions = listOf(
"跟随订阅" to null,
"启用" to true,
"关闭" to false,
"默认启用" to true,
"默认关闭" to false,
)
35 changes: 0 additions & 35 deletions app/src/main/java/li/songe/gkd/ui/component/SimpleTopAppBar.kt

This file was deleted.

2 changes: 0 additions & 2 deletions app/src/main/java/li/songe/gkd/ui/component/SubsAppCard.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
Expand Down Expand Up @@ -102,7 +101,6 @@ fun SubsAppCard(
Icon(
imageVector = Icons.Default.MoreVert,
contentDescription = "more",
modifier = Modifier.size(30.dp)
)
}
Spacer(modifier = Modifier.width(10.dp))
Expand Down

0 comments on commit c690edd

Please sign in to comment.