feat: desc for every setting
This commit is contained in:
parent
e475cc5c01
commit
00758af458
15 changed files with 127 additions and 75 deletions
|
@ -61,7 +61,7 @@ class SettingsAddonActivity : AppCompatActivity() {
|
|||
type = 1,
|
||||
name = getString(R.string.anime_downloader_addon),
|
||||
desc = getString(R.string.not_installed),
|
||||
icon = R.drawable.anim_play_to_pause,
|
||||
icon = R.drawable.ic_download_24,
|
||||
isActivity = true,
|
||||
attach = {
|
||||
setStatus(
|
||||
|
@ -85,7 +85,7 @@ class SettingsAddonActivity : AppCompatActivity() {
|
|||
it.settingsIconRight.setOnClickListener { _ ->
|
||||
if (it.settingsDesc.text == getString(R.string.installed)) {
|
||||
downloadAddonManager.uninstall()
|
||||
return@setOnClickListener //uninstall logic here
|
||||
return@setOnClickListener
|
||||
} else {
|
||||
job = Job()
|
||||
val scope = CoroutineScope(Dispatchers.Main + job)
|
||||
|
@ -118,7 +118,7 @@ class SettingsAddonActivity : AppCompatActivity() {
|
|||
type = 1,
|
||||
name = getString(R.string.torrent_addon),
|
||||
desc = getString(R.string.not_installed),
|
||||
icon = R.drawable.anim_play_to_pause,
|
||||
icon = R.drawable.ic_round_magnet_24,
|
||||
isActivity = true,
|
||||
attach = {
|
||||
setStatus(
|
||||
|
@ -176,15 +176,21 @@ class SettingsAddonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.enable_torrent),
|
||||
desc = getString(R.string.enable_torrent),
|
||||
desc = getString(R.string.enable_torrent_desc),
|
||||
icon = R.drawable.ic_round_dns_24,
|
||||
isChecked = PrefManager.getVal(PrefName.TorrentEnabled),
|
||||
switch = { isChecked, _ ->
|
||||
switch = { isChecked, it ->
|
||||
if (isChecked && !torrentAddonManager.isAvailable()) {
|
||||
snackString(getString(R.string.install_torrent_addon))
|
||||
it.settingsButton.isChecked = false
|
||||
PrefManager.setVal(PrefName.TorrentEnabled, false)
|
||||
return@Settings
|
||||
}
|
||||
PrefManager.setVal(PrefName.TorrentEnabled, isChecked)
|
||||
Injekt.get<TorrentAddonManager>().extension?.let {
|
||||
if (isChecked) {
|
||||
lifecycleScope.launchIO {
|
||||
if (!ServerService.isRunning() && torrentAddonManager.isAvailable()) {
|
||||
if (!ServerService.isRunning()) {
|
||||
ServerService.start()
|
||||
}
|
||||
}
|
||||
|
@ -196,14 +202,13 @@ class SettingsAddonActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
)
|
||||
binding.settingsRecyclerView.layoutManager =
|
||||
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ class SettingsAnimeActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.player_settings),
|
||||
desc = getString(R.string.player_settings),
|
||||
desc = getString(R.string.player_settings_desc),
|
||||
icon = R.drawable.ic_round_video_settings_24,
|
||||
onClick = {
|
||||
startActivity(Intent(context, PlayerSettingsActivity::class.java))
|
||||
|
@ -54,7 +54,7 @@ class SettingsAnimeActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.purge_anime_downloads),
|
||||
desc = getString(R.string.purge_anime_downloads),
|
||||
desc = getString(R.string.purge_anime_downloads_desc),
|
||||
icon = R.drawable.ic_round_delete_24,
|
||||
onClick = {
|
||||
val dialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
|
@ -80,7 +80,7 @@ class SettingsAnimeActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.prefer_dub),
|
||||
desc = getString(R.string.prefer_dub),
|
||||
desc = getString(R.string.prefer_dub_desc),
|
||||
icon = R.drawable.ic_round_audiotrack_24,
|
||||
isChecked = PrefManager.getVal(PrefName.SettingsPreferDub),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -90,7 +90,7 @@ class SettingsAnimeActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.show_yt),
|
||||
desc = getString(R.string.show_yt),
|
||||
desc = getString(R.string.show_yt_desc),
|
||||
icon = R.drawable.ic_round_play_circle_24,
|
||||
isChecked = PrefManager.getVal(PrefName.ShowYtButton),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -100,7 +100,7 @@ class SettingsAnimeActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.include_list),
|
||||
desc = getString(R.string.include_list),
|
||||
desc = getString(R.string.include_list_anime_desc),
|
||||
icon = R.drawable.view_list_24,
|
||||
isChecked = PrefManager.getVal(PrefName.IncludeAnimeList),
|
||||
switch = { isChecked, _ ->
|
||||
|
|
|
@ -18,6 +18,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import ani.dantotsu.R
|
||||
import ani.dantotsu.connections.anilist.Anilist
|
||||
import ani.dantotsu.databinding.ActivitySettingsCommonBinding
|
||||
import ani.dantotsu.databinding.DialogUserAgentBinding
|
||||
import ani.dantotsu.download.DownloadsManager
|
||||
import ani.dantotsu.initActivity
|
||||
import ani.dantotsu.navBarHeight
|
||||
|
@ -33,7 +34,6 @@ import ani.dantotsu.themes.ThemeManager
|
|||
import ani.dantotsu.toast
|
||||
import ani.dantotsu.util.LauncherWrapper
|
||||
import ani.dantotsu.util.StoragePermissions
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
|
@ -136,7 +136,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.ui_settings),
|
||||
desc = getString(R.string.ui_settings),
|
||||
desc = getString(R.string.ui_settings_desc),
|
||||
icon = R.drawable.ic_round_auto_awesome_24,
|
||||
onClick = {
|
||||
startActivity(
|
||||
|
@ -151,7 +151,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.download_manager_select),
|
||||
desc = getString(R.string.download_manager_select),
|
||||
desc = getString(R.string.download_manager_select_desc),
|
||||
icon = R.drawable.ic_download_24,
|
||||
onClick = {
|
||||
val managers = arrayOf("Default", "1DM", "ADM")
|
||||
|
@ -172,7 +172,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.backup_restore),
|
||||
desc = getString(R.string.backup_restore),
|
||||
desc = getString(R.string.backup_restore_desc),
|
||||
icon = R.drawable.backup_restore,
|
||||
onClick = {
|
||||
StoragePermissions.downloadsPermission(context)
|
||||
|
@ -227,7 +227,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.change_download_location),
|
||||
desc = getString(R.string.change_download_location),
|
||||
desc = getString(R.string.change_download_location_desc),
|
||||
icon = R.drawable.ic_round_source_24,
|
||||
onClick = {
|
||||
val dialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
|
@ -267,7 +267,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.always_continue_content),
|
||||
desc = getString(R.string.always_continue_content),
|
||||
desc = getString(R.string.always_continue_content_desc),
|
||||
icon = R.drawable.ic_round_delete_24,
|
||||
isChecked = PrefManager.getVal(PrefName.ContinueMedia),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -277,7 +277,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.search_source_list),
|
||||
desc = getString(R.string.search_source_list),
|
||||
desc = getString(R.string.search_source_list_desc),
|
||||
icon = R.drawable.ic_round_search_sources_24,
|
||||
isChecked = PrefManager.getVal(PrefName.SearchSources),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -287,7 +287,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.recentlyListOnly),
|
||||
desc = getString(R.string.recentlyListOnly),
|
||||
desc = getString(R.string.recentlyListOnly_desc),
|
||||
icon = R.drawable.ic_round_new_releases_24,
|
||||
isChecked = PrefManager.getVal(PrefName.RecentlyListOnly),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -297,7 +297,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.adult_only_content),
|
||||
desc = getString(R.string.adult_only_content),
|
||||
desc = getString(R.string.adult_only_content_desc),
|
||||
icon = R.drawable.ic_round_nsfw_24,
|
||||
isChecked = PrefManager.getVal(PrefName.AdultOnly),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -347,14 +347,15 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
val password = CharArray(16).apply { fill('0') }
|
||||
|
||||
// Inflate the dialog layout
|
||||
val dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_user_agent, null)
|
||||
val box = dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox)
|
||||
box?.hint = getString(R.string.password)
|
||||
box?.setSingleLine()
|
||||
val dialogView = DialogUserAgentBinding.inflate(layoutInflater)
|
||||
val box = dialogView.userAgentTextBox
|
||||
box.hint = getString(R.string.password)
|
||||
box.setSingleLine()
|
||||
|
||||
val dialog =
|
||||
AlertDialog.Builder(this, R.style.MyPopup).setTitle(getString(R.string.enter_password))
|
||||
.setView(dialogView).setPositiveButton(R.string.ok, null)
|
||||
.setView(dialogView.root)
|
||||
.setPositiveButton(R.string.ok, null)
|
||||
.setNegativeButton(R.string.cancel) { dialog, _ ->
|
||||
password.fill('0')
|
||||
dialog.dismiss()
|
||||
|
@ -362,8 +363,8 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
}.create()
|
||||
|
||||
fun handleOkAction() {
|
||||
val editText = dialog.findViewById<TextInputEditText>(R.id.userAgentTextBox)
|
||||
if (editText?.text?.isNotBlank() == true) {
|
||||
val editText = dialogView.userAgentTextBox
|
||||
if (editText.text?.isNotBlank() == true) {
|
||||
editText.text?.toString()?.trim()?.toCharArray(password)
|
||||
dialog.dismiss()
|
||||
callback(password)
|
||||
|
@ -371,7 +372,7 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
toast(getString(R.string.password_cannot_be_empty))
|
||||
}
|
||||
}
|
||||
box?.setOnEditorActionListener { _, actionId, _ ->
|
||||
box.setOnEditorActionListener { _, actionId, _ ->
|
||||
if (actionId == EditorInfo.IME_ACTION_DONE) {
|
||||
handleOkAction()
|
||||
true
|
||||
|
@ -379,9 +380,8 @@ class SettingsCommonActivity : AppCompatActivity() {
|
|||
false
|
||||
}
|
||||
}
|
||||
val subtitleTextView = dialogView.findViewById<TextView>(R.id.subtitle)
|
||||
subtitleTextView?.visibility = View.VISIBLE
|
||||
if (!isExporting) subtitleTextView?.text =
|
||||
dialogView.subtitle.visibility = View.VISIBLE
|
||||
if (!isExporting) dialogView.subtitle.text =
|
||||
getString(R.string.enter_password_to_decrypt_file)
|
||||
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ class SettingsExtensionsActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.anime_add_repository),
|
||||
desc = getString(R.string.anime_add_repository),
|
||||
desc = getString(R.string.anime_add_repository_desc),
|
||||
icon = R.drawable.ic_github,
|
||||
onClick = {
|
||||
val dialogView = DialogUserAgentBinding.inflate(layoutInflater)
|
||||
|
@ -198,7 +198,7 @@ class SettingsExtensionsActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.manga_add_repository),
|
||||
desc = getString(R.string.manga_add_repository),
|
||||
desc = getString(R.string.manga_add_repository_desc),
|
||||
icon = R.drawable.ic_github,
|
||||
onClick = {
|
||||
val dialogView = DialogUserAgentBinding.inflate(layoutInflater)
|
||||
|
@ -234,7 +234,7 @@ class SettingsExtensionsActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.user_agent),
|
||||
desc = getString(R.string.NSFWExtention),
|
||||
desc = getString(R.string.user_agent_desc),
|
||||
icon = R.drawable.ic_round_video_settings_24,
|
||||
onClick = {
|
||||
val dialogView = DialogUserAgentBinding.inflate(layoutInflater)
|
||||
|
@ -263,7 +263,7 @@ class SettingsExtensionsActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.force_legacy_installer),
|
||||
desc = getString(R.string.force_legacy_installer),
|
||||
desc = getString(R.string.force_legacy_installer_desc),
|
||||
icon = R.drawable.ic_round_new_releases_24,
|
||||
isChecked = extensionInstaller.get() == BasePreferences.ExtensionInstaller.LEGACY,
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -278,7 +278,7 @@ class SettingsExtensionsActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.skip_loading_extension_icons),
|
||||
desc = getString(R.string.skip_loading_extension_icons),
|
||||
desc = getString(R.string.skip_loading_extension_icons_desc),
|
||||
icon = R.drawable.ic_round_no_icon_24,
|
||||
isChecked = PrefManager.getVal(PrefName.SkipExtensionIcons),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -288,7 +288,7 @@ class SettingsExtensionsActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.NSFWExtention),
|
||||
desc = getString(R.string.NSFWExtention),
|
||||
desc = getString(R.string.NSFWExtention_desc),
|
||||
icon = R.drawable.ic_round_nsfw_24,
|
||||
isChecked = PrefManager.getVal(PrefName.NSFWExtension),
|
||||
switch = { isChecked, _ ->
|
||||
|
|
|
@ -67,7 +67,7 @@ class SettingsMangaActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.reader_settings),
|
||||
desc = getString(R.string.reader_settings),
|
||||
desc = getString(R.string.reader_settings_desc),
|
||||
icon = R.drawable.ic_round_reader_settings,
|
||||
onClick = {
|
||||
startActivity(Intent(context, ReaderSettingsActivity::class.java))
|
||||
|
@ -77,7 +77,7 @@ class SettingsMangaActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.purge_manga_downloads),
|
||||
desc = getString(R.string.purge_manga_downloads),
|
||||
desc = getString(R.string.purge_manga_downloads_desc),
|
||||
icon = R.drawable.ic_round_delete_24,
|
||||
onClick = {
|
||||
val dialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
|
@ -103,7 +103,7 @@ class SettingsMangaActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.purge_novel_downloads),
|
||||
desc = getString(R.string.purge_novel_downloads),
|
||||
desc = getString(R.string.purge_novel_downloads_desc),
|
||||
icon = R.drawable.ic_round_delete_24,
|
||||
onClick = {
|
||||
val dialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
|
@ -128,7 +128,7 @@ class SettingsMangaActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.include_list),
|
||||
desc = getString(R.string.include_list),
|
||||
desc = getString(R.string.include_list_desc),
|
||||
icon = R.drawable.view_list_24,
|
||||
isChecked = PrefManager.getVal(PrefName.IncludeMangaList),
|
||||
switch = { isChecked, _ ->
|
||||
|
|
|
@ -105,7 +105,7 @@ class SettingsNotificationActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.anilist_notification_filters),
|
||||
desc = getString(R.string.anilist_notification_filters),
|
||||
desc = getString(R.string.anilist_notification_filters_desc),
|
||||
icon = R.drawable.ic_anilist,
|
||||
onClick = {
|
||||
val types = NotificationType.entries.map { it.name }
|
||||
|
@ -138,10 +138,7 @@ class SettingsNotificationActivity : AppCompatActivity() {
|
|||
R.string.anilist_notifications_checking_time,
|
||||
aItems[PrefManager.getVal(PrefName.AnilistNotificationInterval)]
|
||||
),
|
||||
desc = getString(
|
||||
R.string.anilist_notifications_checking_time,
|
||||
aItems[PrefManager.getVal(PrefName.AnilistNotificationInterval)]
|
||||
),
|
||||
desc = getString(R.string.anilist_notifications_checking_time_desc),
|
||||
icon = R.drawable.ic_round_notifications_none_24,
|
||||
onClick = {
|
||||
val selected =
|
||||
|
@ -173,10 +170,7 @@ class SettingsNotificationActivity : AppCompatActivity() {
|
|||
R.string.comment_notification_checking_time,
|
||||
cItems[PrefManager.getVal(PrefName.CommentNotificationInterval)]
|
||||
),
|
||||
desc = getString(
|
||||
R.string.comment_notification_checking_time,
|
||||
cItems[PrefManager.getVal(PrefName.CommentNotificationInterval)]
|
||||
),
|
||||
desc = getString(R.string.comment_notification_checking_time_desc),
|
||||
icon = R.drawable.ic_round_notifications_none_24,
|
||||
onClick = {
|
||||
val selected =
|
||||
|
@ -205,7 +199,7 @@ class SettingsNotificationActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.notification_for_checking_subscriptions),
|
||||
desc = getString(R.string.notification_for_checking_subscriptions),
|
||||
desc = getString(R.string.notification_for_checking_subscriptions_desc),
|
||||
icon = R.drawable.ic_round_smart_button_24,
|
||||
isChecked = PrefManager.getVal(PrefName.SubscriptionCheckingNotifications),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -221,7 +215,7 @@ class SettingsNotificationActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.use_alarm_manager_reliable),
|
||||
desc = getString(R.string.use_alarm_manager_reliable),
|
||||
desc = getString(R.string.use_alarm_manager_reliable_desc),
|
||||
icon = R.drawable.ic_anilist,
|
||||
isChecked = PrefManager.getVal(PrefName.UseAlarmManager),
|
||||
switch = { isChecked, view ->
|
||||
|
|
|
@ -112,7 +112,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.oled_theme_variant),
|
||||
desc = getString(R.string.oled_theme_variant),
|
||||
desc = getString(R.string.oled_theme_variant_desc),
|
||||
icon = R.drawable.ic_round_brightness_4_24,
|
||||
isChecked = PrefManager.getVal(PrefName.UseOLED),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -123,7 +123,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.use_material_you),
|
||||
desc = getString(R.string.use_material_you),
|
||||
desc = getString(R.string.use_material_you_desc),
|
||||
icon = R.drawable.ic_round_new_releases_24,
|
||||
isChecked = PrefManager.getVal(PrefName.UseMaterialYou),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -136,7 +136,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.use_unique_theme_for_each_item),
|
||||
desc = getString(R.string.use_unique_theme_for_each_item),
|
||||
desc = getString(R.string.use_unique_theme_for_each_item_desc),
|
||||
icon = R.drawable.ic_palette,
|
||||
isChecked = PrefManager.getVal(PrefName.UseSourceTheme),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -147,7 +147,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.use_custom_theme),
|
||||
desc = getString(R.string.use_custom_theme),
|
||||
desc = getString(R.string.use_custom_theme_desc),
|
||||
icon = R.drawable.ic_palette,
|
||||
isChecked = PrefManager.getVal(PrefName.UseCustomTheme),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -160,7 +160,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.color_picker),
|
||||
desc = getString(R.string.color_picker),
|
||||
desc = getString(R.string.color_picker_desc),
|
||||
icon = R.drawable.ic_palette,
|
||||
onClick = {
|
||||
val originalColor: Int = PrefManager.getVal(PrefName.CustomThemeInt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue