Skip to content

Commit

Permalink
perf: app item padding
Browse files Browse the repository at this point in the history
  • Loading branch information
lisonge committed May 29, 2024
1 parent 747a20a commit d48ae8d
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 27 deletions.
54 changes: 29 additions & 25 deletions app/src/main/kotlin/li/songe/gkd/ui/GlobalRuleExcludePage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ import li.songe.gkd.data.stringify
import li.songe.gkd.db.DbSet
import li.songe.gkd.service.launcherAppId
import li.songe.gkd.ui.component.AppBarTextField
import li.songe.gkd.ui.style.itemPadding
import li.songe.gkd.ui.style.appItemPadding
import li.songe.gkd.util.LocalNavController
import li.songe.gkd.util.ProfileTransitions
import li.songe.gkd.util.SortTypeOption
Expand Down Expand Up @@ -247,7 +247,7 @@ fun GlobalRuleExcludePage(subsItemId: Long, groupKey: Int) {
Row(
modifier = Modifier
.height(IntrinsicSize.Min)
.itemPadding(),
.appItemPadding(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
Expand Down Expand Up @@ -314,29 +314,33 @@ fun GlobalRuleExcludePage(subsItemId: Long, groupKey: Int) {

if (group != null) {
val checked = getChecked(excludeData, group, appInfo.id, appInfo)
Switch(
checked = checked ?: false,
onCheckedChange = {
if (checked == null) {
toast("内置禁用,不可修改")
return@Switch
}
vm.viewModelScope.launchTry {
val subsConfig = (vm.subsConfigFlow.value ?: SubsConfig(
type = SubsConfig.GlobalGroupType,
subsItemId = subsItemId,
groupKey = groupKey,
)).copy(
exclude = excludeData.copy(
appIds = excludeData.appIds.toMutableMap().apply {
set(appInfo.id, !it)
})
.stringify()
)
DbSet.subsConfigDao.insert(subsConfig)
}
},
)
if (checked != null) {
Switch(
checked = checked,
onCheckedChange = {
vm.viewModelScope.launchTry {
val subsConfig = (vm.subsConfigFlow.value ?: SubsConfig(
type = SubsConfig.GlobalGroupType,
subsItemId = subsItemId,
groupKey = groupKey,
)).copy(
exclude = excludeData.copy(
appIds = excludeData.appIds.toMutableMap().apply {
set(appInfo.id, !it)
})
.stringify()
)
DbSet.subsConfigDao.insert(subsConfig)
}
},
)
} else {
Switch(
enabled = false,
checked = false,
onCheckedChange = {},
)
}
}
}
}
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/kotlin/li/songe/gkd/ui/component/SubsAppCard.kt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ import com.google.accompanist.drawablepainter.rememberDrawablePainter
import li.songe.gkd.data.AppInfo
import li.songe.gkd.data.RawSubscription
import li.songe.gkd.data.SubsConfig
import li.songe.gkd.ui.style.appItemPadding
import li.songe.gkd.util.encodeToJson5String
import li.songe.gkd.util.json
import li.songe.gkd.util.toast
Expand All @@ -63,7 +64,7 @@ fun SubsAppCard(
onClick?.invoke()
}
.height(IntrinsicSize.Min)
.padding(10.dp, 6.dp),
.appItemPadding(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/kotlin/li/songe/gkd/ui/home/AppListPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ import li.songe.gkd.permission.canQueryPkgState
import li.songe.gkd.permission.checkOrRequestPermission
import li.songe.gkd.ui.component.AppBarTextField
import li.songe.gkd.ui.destinations.AppConfigPageDestination
import li.songe.gkd.ui.style.appItemPadding
import li.songe.gkd.util.LocalNavController
import li.songe.gkd.util.SortTypeOption
import li.songe.gkd.util.appRefreshingFlow
Expand Down Expand Up @@ -285,7 +286,7 @@ fun useAppListPage(): ScaffoldExt {
navController.navigate(AppConfigPageDestination(appInfo.id))
}
.height(IntrinsicSize.Min)
.padding(10.dp, 6.dp),
.appItemPadding(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/kotlin/li/songe/gkd/ui/style/Padding.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

fun Modifier.itemPadding() = this then padding(16.dp, 12.dp)

fun Modifier.appItemPadding() = this then padding(10.dp, 8.dp)

0 comments on commit d48ae8d

Please sign in to comment.