Skip to content

Commit

Permalink
Enhance appearance settings screen
Browse files Browse the repository at this point in the history
  • Loading branch information
z-huang committed Aug 20, 2024
1 parent 18ed68a commit 2db68e2
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ import com.zionhuang.music.ui.component.DefaultDialog
import com.zionhuang.music.ui.component.EnumListPreference
import com.zionhuang.music.ui.component.IconButton
import com.zionhuang.music.ui.component.PreferenceEntry
import com.zionhuang.music.ui.component.PreferenceGroupTitle
import com.zionhuang.music.ui.component.SwitchPreference
import com.zionhuang.music.ui.utils.backToMain
import com.zionhuang.music.utils.rememberEnumPreference
Expand Down Expand Up @@ -171,12 +172,17 @@ fun AppearanceSettings(
.windowInsetsPadding(LocalPlayerAwareWindowInsets.current)
.verticalScroll(rememberScrollState())
) {
PreferenceGroupTitle(
title = stringResource(R.string.theme)
)

SwitchPreference(
title = { Text(stringResource(R.string.enable_dynamic_theme)) },
icon = { Icon(painterResource(R.drawable.palette), null) },
checked = dynamicTheme,
onCheckedChange = onDynamicThemeChange
)

EnumListPreference(
title = { Text(stringResource(R.string.dark_theme)) },
icon = { Icon(painterResource(R.drawable.dark_mode), null) },
Expand All @@ -190,6 +196,7 @@ fun AppearanceSettings(
}
}
)

AnimatedVisibility(useDarkTheme) {
SwitchPreference(
title = { Text(stringResource(R.string.pure_black)) },
Expand All @@ -198,24 +205,24 @@ fun AppearanceSettings(
onCheckedChange = onPureBlackChange
)
}
EnumListPreference(
title = { Text(stringResource(R.string.default_open_tab)) },
icon = { Icon(painterResource(R.drawable.tab), null) },
selectedValue = defaultOpenTab,
onValueSelected = onDefaultOpenTabChange,
valueText = {
when (it) {
NavigationTab.HOME -> stringResource(R.string.home)
NavigationTab.SONG -> stringResource(R.string.songs)
NavigationTab.ARTIST -> stringResource(R.string.artists)
NavigationTab.ALBUM -> stringResource(R.string.albums)
NavigationTab.PLAYLIST -> stringResource(R.string.playlists)
}
}

PreferenceGroupTitle(
title = stringResource(R.string.player)
)

EnumListPreference(
title = { Text(stringResource(R.string.player_text_alignment)) },
icon = { Icon(painterResource(R.drawable.format_align_left), null) },
icon = {
Icon(
painter = painterResource(
when (playerTextAlignment) {
PlayerTextAlignment.CENTER -> R.drawable.format_align_center
PlayerTextAlignment.SIDED -> R.drawable.format_align_left
}
),
contentDescription = null
)
},
selectedValue = playerTextAlignment,
onValueSelected = onPlayerTextAlignmentChange,
valueText = {
Expand All @@ -237,18 +244,26 @@ fun AppearanceSettings(
showSliderOptionDialog = true
}
)
// EnumListPreference(
// title = { Text(stringResource(R.string.slider_style)) },
// icon = { Icon(painterResource(R.drawable.sliders), null) },
// selectedValue = sliderStyle,
// onValueSelected = onSliderStyleChange,
// valueText = {
// when (it) {
// SliderStyle.DEFAULT -> stringResource(R.string.default_)
// SliderStyle.SQUIGGLY -> stringResource(R.string.squiggly)
// }
// }
// )

PreferenceGroupTitle(
title = stringResource(R.string.misc)
)

EnumListPreference(
title = { Text(stringResource(R.string.default_open_tab)) },
icon = { Icon(painterResource(R.drawable.tab), null) },
selectedValue = defaultOpenTab,
onValueSelected = onDefaultOpenTabChange,
valueText = {
when (it) {
NavigationTab.HOME -> stringResource(R.string.home)
NavigationTab.SONG -> stringResource(R.string.songs)
NavigationTab.ARTIST -> stringResource(R.string.artists)
NavigationTab.ALBUM -> stringResource(R.string.albums)
NavigationTab.PLAYLIST -> stringResource(R.string.playlists)
}
}
)
}

TopAppBar(
Expand Down
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/format_align_center.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M120,840L120,760L840,760L840,840L120,840ZM280,680L280,600L680,600L680,680L280,680ZM120,520L120,440L840,440L840,520L120,520ZM280,360L280,280L680,280L680,360L280,360ZM120,200L120,120L840,120L840,200L120,200Z" />
</vector>
5 changes: 4 additions & 1 deletion app/src/main/res/values-zh-rTW/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -198,14 +198,15 @@
<!-- Settings -->
<string name="settings">設定</string>
<string name="appearance">外觀</string>
<string name="theme">主題</string>
<string name="enable_dynamic_theme">使用動態主題</string>
<string name="dark_theme">深色主題</string>
<string name="dark_theme_on">開</string>
<string name="dark_theme_off">關</string>
<string name="dark_theme_follow_system">跟隨系統</string>
<string name="pure_black">純黑</string>
<string name="default_open_tab">預設啟動標籤</string>
<string name="customize_navigation_tabs">自訂導覽列</string>
<string name="player">播放器</string>
<string name="player_text_alignment">播放器文字對齊</string>
<string name="lyrics_text_position">歌詞文字位置</string>
<string name="sided">靠邊</string>
Expand All @@ -215,6 +216,8 @@
<string name="player_slider_style">播放器滑桿樣式</string>
<string name="default_">預設</string>
<string name="squiggly">波浪</string>
<string name="misc">其他</string>
<string name="default_open_tab">預設啟動標籤</string>

<string name="content">內容</string>
<string name="login">登入</string>
Expand Down
5 changes: 4 additions & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -206,14 +206,15 @@
<!-- Settings -->
<string name="settings">Settings</string>
<string name="appearance">Appearance</string>
<string name="theme">Theme</string>
<string name="enable_dynamic_theme">Enable dynamic theme</string>
<string name="dark_theme">Dark theme</string>
<string name="dark_theme_on">On</string>
<string name="dark_theme_off">Off</string>
<string name="dark_theme_follow_system">Follow system</string>
<string name="pure_black">Pure black</string>
<string name="default_open_tab">Default open tab</string>
<string name="customize_navigation_tabs">Customize navigation tabs</string>
<string name="player">Player</string>
<string name="player_text_alignment">Player text alignment</string>
<string name="lyrics_text_position">Lyrics text position</string>
<string name="sided">Sided</string>
Expand All @@ -223,6 +224,8 @@
<string name="player_slider_style">Player slider style</string>
<string name="default_">Default</string>
<string name="squiggly">Squiggly</string>
<string name="misc">Misc</string>
<string name="default_open_tab">Default open tab</string>

<string name="content">Content</string>
<string name="login">Login</string>
Expand Down

0 comments on commit 2db68e2

Please sign in to comment.