mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 03:18:55 +02:00
huge set of interface fixes so background can make sense
This commit is contained in:
parent
529b069499
commit
1f7c48769e
56 changed files with 1066 additions and 327 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
|
|
@ -10,6 +10,8 @@ import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.core.content.res.ResourcesCompat
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import androidx.lifecycle.LifecycleOwner
|
import androidx.lifecycle.LifecycleOwner
|
||||||
|
import com.google.android.material.button.MaterialButton
|
||||||
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.yuzu.yuzu_emu.databinding.CardInstallableIconBinding
|
import org.yuzu.yuzu_emu.databinding.CardInstallableIconBinding
|
||||||
import org.yuzu.yuzu_emu.databinding.CardSimpleOutlinedBinding
|
import org.yuzu.yuzu_emu.databinding.CardSimpleOutlinedBinding
|
||||||
import org.yuzu.yuzu_emu.model.GameProperty
|
import org.yuzu.yuzu_emu.model.GameProperty
|
||||||
|
|
@ -89,29 +91,33 @@ class GamePropertiesAdapter(
|
||||||
|
|
||||||
|
|
||||||
val hasVisibleActions = submenuProperty.secondaryActions?.any { it.isShown } == true
|
val hasVisibleActions = submenuProperty.secondaryActions?.any { it.isShown } == true
|
||||||
|
binding.layoutSecondaryActions.removeAllViews()
|
||||||
|
binding.dividerSecondaryActions.setVisible(false)
|
||||||
|
|
||||||
if (hasVisibleActions) {
|
if (hasVisibleActions) {
|
||||||
binding.dividerSecondaryActions.setVisible(true)
|
|
||||||
binding.layoutSecondaryActions.setVisible(true)
|
binding.layoutSecondaryActions.setVisible(true)
|
||||||
|
|
||||||
submenuProperty.secondaryActions!!.forEach { secondaryAction ->
|
val visibleActions = submenuProperty.secondaryActions!!.filter { it.isShown }
|
||||||
if (secondaryAction.isShown) {
|
val inflater = LayoutInflater.from(binding.root.context)
|
||||||
val button = com.google.android.material.button.MaterialButton(
|
visibleActions.forEachIndexed { index, secondaryAction ->
|
||||||
binding.root.context,
|
val button = inflater.inflate(
|
||||||
null,
|
R.layout.item_secondary_action_button,
|
||||||
com.google.android.material.R.attr.materialButtonOutlinedStyle
|
binding.layoutSecondaryActions,
|
||||||
).apply {
|
false
|
||||||
setIconResource(secondaryAction.iconId)
|
) as MaterialButton
|
||||||
iconSize = (18 * binding.root.context.resources.displayMetrics.density).toInt()
|
button.setIconResource(secondaryAction.iconId)
|
||||||
text = binding.root.context.getString(secondaryAction.descriptionId)
|
button.text = ""
|
||||||
contentDescription = binding.root.context.getString(secondaryAction.descriptionId)
|
button.contentDescription = binding.root.context
|
||||||
setOnClickListener { secondaryAction.action.invoke() }
|
.getString(secondaryAction.descriptionId)
|
||||||
}
|
button.tooltipText = binding.root.context
|
||||||
binding.layoutSecondaryActions.addView(button)
|
.getString(secondaryAction.descriptionId)
|
||||||
|
if (index == visibleActions.lastIndex) {
|
||||||
|
(button.layoutParams as ViewGroup.MarginLayoutParams).marginEnd = 0
|
||||||
}
|
}
|
||||||
|
button.setOnClickListener { secondaryAction.action.invoke() }
|
||||||
|
binding.layoutSecondaryActions.addView(button)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
binding.dividerSecondaryActions.setVisible(false)
|
|
||||||
binding.layoutSecondaryActions.setVisible(false)
|
binding.layoutSecondaryActions.setVisible(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.dialogs
|
package org.yuzu.yuzu_emu.dialogs
|
||||||
|
|
@ -30,6 +30,7 @@ import org.yuzu.yuzu_emu.databinding.DialogLobbyBrowserBinding
|
||||||
import org.yuzu.yuzu_emu.databinding.ItemLobbyRoomBinding
|
import org.yuzu.yuzu_emu.databinding.ItemLobbyRoomBinding
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.StringSetting
|
import org.yuzu.yuzu_emu.features.settings.model.StringSetting
|
||||||
import org.yuzu.yuzu_emu.network.NetPlayManager
|
import org.yuzu.yuzu_emu.network.NetPlayManager
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
class LobbyBrowser(context: Context) : BottomSheetDialog(context) {
|
class LobbyBrowser(context: Context) : BottomSheetDialog(context) {
|
||||||
|
|
@ -46,6 +47,7 @@ class LobbyBrowser(context: Context) : BottomSheetDialog(context) {
|
||||||
|
|
||||||
binding = DialogLobbyBrowserBinding.inflate(layoutInflater)
|
binding = DialogLobbyBrowserBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, context)
|
||||||
|
|
||||||
binding.emptyRefreshButton.setOnClickListener {
|
binding.emptyRefreshButton.setOnClickListener {
|
||||||
binding.progressBar.visibility = View.VISIBLE
|
binding.progressBar.visibility = View.VISIBLE
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
@ -27,7 +27,7 @@ object Settings {
|
||||||
SECTION_APP_SETTINGS(R.string.app_settings),
|
SECTION_APP_SETTINGS(R.string.app_settings),
|
||||||
SECTION_CUSTOM_PATHS(R.string.preferences_custom_paths),
|
SECTION_CUSTOM_PATHS(R.string.preferences_custom_paths),
|
||||||
SECTION_DEBUG(R.string.preferences_debug),
|
SECTION_DEBUG(R.string.preferences_debug),
|
||||||
SECTION_FREEDRENO(R.string.gpu_driver_settings),
|
SECTION_FREEDRENO(R.string.freedreno_settings_title),
|
||||||
SECTION_APPLETS(R.string.applets_menu);
|
SECTION_APPLETS(R.string.applets_menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -105,6 +105,14 @@ object Settings {
|
||||||
const val PREF_BLACK_BACKGROUNDS = "BlackBackgrounds"
|
const val PREF_BLACK_BACKGROUNDS = "BlackBackgrounds"
|
||||||
const val PREF_STATIC_THEME_COLOR = "StaticThemeColor"
|
const val PREF_STATIC_THEME_COLOR = "StaticThemeColor"
|
||||||
|
|
||||||
|
// App background preference keys
|
||||||
|
const val PREF_HOME_BACKGROUND_STYLE = "HomeBackgroundStyle"
|
||||||
|
const val HOME_BACKGROUND_STYLE_NONE = 0
|
||||||
|
const val HOME_BACKGROUND_STYLE_EDEN = 1
|
||||||
|
const val HOME_BACKGROUND_STYLE_DEFAULT = HOME_BACKGROUND_STYLE_NONE
|
||||||
|
const val PREF_HOME_BACKGROUND_ALPHA = "HomeBackgroundAlpha"
|
||||||
|
const val HOME_BACKGROUND_ALPHA_DEFAULT = 40
|
||||||
|
|
||||||
enum class EmulationOrientation(val int: Int) {
|
enum class EmulationOrientation(val int: Int) {
|
||||||
Unspecified(0),
|
Unspecified(0),
|
||||||
SensorLandscape(5),
|
SensorLandscape(5),
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
|
|
@ -33,6 +33,7 @@ import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.view.PathSetting
|
import org.yuzu.yuzu_emu.features.settings.model.view.PathSetting
|
||||||
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
|
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.PathUtil
|
import org.yuzu.yuzu_emu.utils.PathUtil
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.utils.*
|
import org.yuzu.yuzu_emu.utils.*
|
||||||
|
|
@ -98,23 +99,8 @@ class SettingsFragment : Fragment() {
|
||||||
activity
|
activity
|
||||||
)
|
)
|
||||||
|
|
||||||
binding.toolbarSettingsLayout.title = if (args.menuTag == Settings.MenuTag.SECTION_ROOT &&
|
val toolbarTitle = resolveToolbarTitle()
|
||||||
args.game != null
|
configureToolbar(toolbarTitle)
|
||||||
) {
|
|
||||||
args.game!!.title
|
|
||||||
} else {
|
|
||||||
when (args.menuTag) {
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_ONE -> Settings.getPlayerString(1)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_TWO -> Settings.getPlayerString(2)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_THREE -> Settings.getPlayerString(3)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_FOUR -> Settings.getPlayerString(4)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_FIVE -> Settings.getPlayerString(5)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_SIX -> Settings.getPlayerString(6)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_SEVEN -> Settings.getPlayerString(7)
|
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_EIGHT -> Settings.getPlayerString(8)
|
|
||||||
else -> getString(args.menuTag.titleId)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.listSettings.apply {
|
binding.listSettings.apply {
|
||||||
adapter = settingsAdapter
|
adapter = settingsAdapter
|
||||||
|
|
@ -193,10 +179,16 @@ class SettingsFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
presenter.onViewCreated()
|
presenter.onViewCreated()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
setInsets()
|
setInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun getPlayerIndex(): Int =
|
private fun getPlayerIndex(): Int =
|
||||||
when (args.menuTag) {
|
when (args.menuTag) {
|
||||||
Settings.MenuTag.SECTION_INPUT_PLAYER_ONE -> 0
|
Settings.MenuTag.SECTION_INPUT_PLAYER_ONE -> 0
|
||||||
|
|
@ -210,6 +202,27 @@ class SettingsFragment : Fragment() {
|
||||||
else -> -1
|
else -> -1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun resolveToolbarTitle(): String {
|
||||||
|
if (args.menuTag == Settings.MenuTag.SECTION_ROOT && args.game != null) {
|
||||||
|
return args.game!!.title
|
||||||
|
}
|
||||||
|
return when (args.menuTag) {
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_ONE -> Settings.getPlayerString(1)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_TWO -> Settings.getPlayerString(2)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_THREE -> Settings.getPlayerString(3)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_FOUR -> Settings.getPlayerString(4)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_FIVE -> Settings.getPlayerString(5)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_SIX -> Settings.getPlayerString(6)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_SEVEN -> Settings.getPlayerString(7)
|
||||||
|
Settings.MenuTag.SECTION_INPUT_PLAYER_EIGHT -> Settings.getPlayerString(8)
|
||||||
|
else -> getString(args.menuTag.titleId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun configureToolbar(title: String) {
|
||||||
|
binding.toolbarSettings.title = title
|
||||||
|
}
|
||||||
|
|
||||||
private fun setInsets() {
|
private fun setInsets() {
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
binding.root
|
binding.root
|
||||||
|
|
@ -228,6 +241,10 @@ class SettingsFragment : Fragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
|
|
||||||
private fun hasAllFilesPermission(): Boolean {
|
private fun hasAllFilesPermission(): Boolean {
|
||||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
Environment.isExternalStorageManager()
|
Environment.isExternalStorageManager()
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ package org.yuzu.yuzu_emu.features.settings.ui
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.preference.PreferenceManager
|
|
||||||
import org.yuzu.yuzu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
import org.yuzu.yuzu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.yuzu.yuzu_emu.YuzuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
|
|
@ -27,11 +26,10 @@ import org.yuzu.yuzu_emu.features.settings.model.Settings.MenuTag
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.ShortSetting
|
import org.yuzu.yuzu_emu.features.settings.model.ShortSetting
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.StringSetting
|
import org.yuzu.yuzu_emu.features.settings.model.StringSetting
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.view.*
|
import org.yuzu.yuzu_emu.features.settings.model.view.*
|
||||||
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
|
||||||
import org.yuzu.yuzu_emu.utils.InputHandler
|
import org.yuzu.yuzu_emu.utils.InputHandler
|
||||||
import org.yuzu.yuzu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
||||||
import androidx.core.content.edit
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
|
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
|
||||||
|
|
||||||
|
|
@ -183,16 +181,6 @@ class SettingsFragmentPresenter(
|
||||||
menuKey = MenuTag.SECTION_DEBUG
|
menuKey = MenuTag.SECTION_DEBUG
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if (GpuDriverHelper.isAdrenoGpu() && !NativeConfig.isPerGameConfigLoaded()) {
|
|
||||||
add(
|
|
||||||
SubmenuSetting(
|
|
||||||
titleId = R.string.gpu_driver_settings,
|
|
||||||
descriptionId = R.string.freedreno_settings_title,
|
|
||||||
iconId = R.drawable.ic_graphics,
|
|
||||||
menuKey = MenuTag.SECTION_FREEDRENO
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
add(
|
add(
|
||||||
SubmenuSetting(
|
SubmenuSetting(
|
||||||
titleId = R.string.applets_menu,
|
titleId = R.string.applets_menu,
|
||||||
|
|
@ -1084,27 +1072,6 @@ class SettingsFragmentPresenter(
|
||||||
|
|
||||||
add(HeaderSetting(R.string.theme_and_color))
|
add(HeaderSetting(R.string.theme_and_color))
|
||||||
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
||||||
add(
|
|
||||||
SingleChoiceSetting(
|
|
||||||
theme,
|
|
||||||
titleId = R.string.change_app_theme,
|
|
||||||
choicesId = R.array.themeEntriesA12,
|
|
||||||
valuesId = R.array.themeValuesA12
|
|
||||||
)
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
add(
|
|
||||||
SingleChoiceSetting(
|
|
||||||
theme,
|
|
||||||
titleId = R.string.change_app_theme,
|
|
||||||
choicesId = R.array.themeEntries,
|
|
||||||
valuesId = R.array.themeValues
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
val themeMode: AbstractIntSetting = object : AbstractIntSetting {
|
val themeMode: AbstractIntSetting = object : AbstractIntSetting {
|
||||||
override fun getInt(needsGlobal: Boolean): Int = IntSetting.THEME_MODE.getInt()
|
override fun getInt(needsGlobal: Boolean): Int = IntSetting.THEME_MODE.getInt()
|
||||||
override fun setInt(value: Int) {
|
override fun setInt(value: Int) {
|
||||||
|
|
@ -1126,6 +1093,35 @@ class SettingsFragmentPresenter(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add(
|
||||||
|
SingleChoiceSetting(
|
||||||
|
themeMode,
|
||||||
|
titleId = R.string.change_theme_mode,
|
||||||
|
choicesId = R.array.themeModeEntries,
|
||||||
|
valuesId = R.array.themeModeValues
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
|
add(
|
||||||
|
SingleChoiceSetting(
|
||||||
|
theme,
|
||||||
|
titleId = R.string.change_app_theme,
|
||||||
|
choicesId = R.array.themeEntriesA12,
|
||||||
|
valuesId = R.array.themeValuesA12
|
||||||
|
)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
add(
|
||||||
|
SingleChoiceSetting(
|
||||||
|
theme,
|
||||||
|
titleId = R.string.change_app_theme,
|
||||||
|
choicesId = R.array.themeEntries,
|
||||||
|
valuesId = R.array.themeValues
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
val staticThemeColor: AbstractIntSetting = object : AbstractIntSetting {
|
val staticThemeColor: AbstractIntSetting = object : AbstractIntSetting {
|
||||||
override fun getInt(needsGlobal: Boolean): Int =
|
override fun getInt(needsGlobal: Boolean): Int =
|
||||||
IntSetting.STATIC_THEME_COLOR.getInt(needsGlobal)
|
IntSetting.STATIC_THEME_COLOR.getInt(needsGlobal)
|
||||||
|
|
@ -1149,15 +1145,6 @@ class SettingsFragmentPresenter(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
add(
|
|
||||||
SingleChoiceSetting(
|
|
||||||
themeMode,
|
|
||||||
titleId = R.string.change_theme_mode,
|
|
||||||
choicesId = R.array.themeModeEntries,
|
|
||||||
valuesId = R.array.themeModeValues
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if (IntSetting.THEME.getInt() != 1) {
|
if (IntSetting.THEME.getInt() != 1) {
|
||||||
add(
|
add(
|
||||||
SingleChoiceSetting(
|
SingleChoiceSetting(
|
||||||
|
|
@ -1201,6 +1188,79 @@ class SettingsFragmentPresenter(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val backgroundStyleSetting: AbstractIntSetting = object : AbstractIntSetting {
|
||||||
|
override fun getInt(needsGlobal: Boolean): Int =
|
||||||
|
BackgroundHelper.getBackgroundStyle(context)
|
||||||
|
|
||||||
|
override fun setInt(value: Int) {
|
||||||
|
BackgroundHelper.setBackgroundStyle(context, value)
|
||||||
|
settingsViewModel.setShouldRecreate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
override val key: String = Settings.PREF_HOME_BACKGROUND_STYLE
|
||||||
|
override val isRuntimeModifiable: Boolean = true
|
||||||
|
override val pairedSettingKey: String = ""
|
||||||
|
override val isSwitchable: Boolean = false
|
||||||
|
override var global: Boolean = true
|
||||||
|
override val isSaveable: Boolean = true
|
||||||
|
override val defaultValue: Int = Settings.HOME_BACKGROUND_STYLE_DEFAULT
|
||||||
|
|
||||||
|
override fun getValueAsString(needsGlobal: Boolean): String =
|
||||||
|
getInt(needsGlobal).toString()
|
||||||
|
|
||||||
|
override fun reset() {
|
||||||
|
setInt(defaultValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add(
|
||||||
|
// SingleChoiceSetting(
|
||||||
|
// backgroundStyleSetting,
|
||||||
|
// titleId = R.string.home_background,
|
||||||
|
// descriptionId = R.string.home_background_description,
|
||||||
|
// choicesId = R.array.homeBackgroundEntries,
|
||||||
|
// valuesId = R.array.homeBackgroundValues
|
||||||
|
// )
|
||||||
|
// )
|
||||||
|
|
||||||
|
val backgroundAlphaSetting: AbstractIntSetting = object : AbstractIntSetting {
|
||||||
|
override fun getInt(needsGlobal: Boolean): Int =
|
||||||
|
(BackgroundHelper.getBackgroundAlpha(context) * 100).toInt()
|
||||||
|
|
||||||
|
override fun setInt(value: Int) {
|
||||||
|
BackgroundHelper.setBackgroundAlpha(context, value)
|
||||||
|
settingsViewModel.setShouldRecreate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
override val key: String = Settings.PREF_HOME_BACKGROUND_ALPHA
|
||||||
|
override val isRuntimeModifiable: Boolean = true
|
||||||
|
override val pairedSettingKey: String = ""
|
||||||
|
override val isSwitchable: Boolean = false
|
||||||
|
override var global: Boolean = true
|
||||||
|
override val isSaveable: Boolean = true
|
||||||
|
override val defaultValue: Int = Settings.HOME_BACKGROUND_ALPHA_DEFAULT
|
||||||
|
|
||||||
|
override fun getValueAsString(needsGlobal: Boolean): String =
|
||||||
|
getInt(needsGlobal).toString()
|
||||||
|
|
||||||
|
override fun reset() {
|
||||||
|
setInt(defaultValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (BackgroundHelper.getBackgroundStyle(context) != Settings.HOME_BACKGROUND_STYLE_NONE) {
|
||||||
|
// add(
|
||||||
|
// SliderSetting(
|
||||||
|
// backgroundAlphaSetting,
|
||||||
|
// titleId = R.string.home_background_opacity,
|
||||||
|
// descriptionId = R.string.home_background_opacity_description,
|
||||||
|
// min = 0,
|
||||||
|
// max = 100,
|
||||||
|
// units = "%"
|
||||||
|
// )
|
||||||
|
// )
|
||||||
|
}
|
||||||
|
|
||||||
add(HeaderSetting(R.string.buttons))
|
add(HeaderSetting(R.string.buttons))
|
||||||
add(BooleanSetting.ENABLE_FOLDER_BUTTON.key)
|
add(BooleanSetting.ENABLE_FOLDER_BUTTON.key)
|
||||||
add(BooleanSetting.ENABLE_QLAUNCH_BUTTON.key)
|
add(BooleanSetting.ENABLE_QLAUNCH_BUTTON.key)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -28,6 +25,7 @@ import org.yuzu.yuzu_emu.BuildConfig
|
||||||
import org.yuzu.yuzu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.yuzu.yuzu_emu.databinding.FragmentAboutBinding
|
import org.yuzu.yuzu_emu.databinding.FragmentAboutBinding
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
|
|
||||||
|
|
@ -54,7 +52,9 @@ class AboutFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarAbout.setNavigationOnClickListener {
|
binding.toolbarAbout.setNavigationOnClickListener {
|
||||||
binding.root.findNavController().popBackStack()
|
binding.root.findNavController().popBackStack()
|
||||||
|
|
@ -108,6 +108,11 @@ class AboutFragment : Fragment() {
|
||||||
setInsets()
|
setInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun openLink(link: String) {
|
private fun openLink(link: String) {
|
||||||
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(link))
|
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(link))
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
|
|
@ -130,4 +135,8 @@ class AboutFragment : Fragment() {
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -26,6 +26,7 @@ import org.yuzu.yuzu_emu.databinding.FragmentAddonsBinding
|
||||||
import org.yuzu.yuzu_emu.model.AddonViewModel
|
import org.yuzu.yuzu_emu.model.AddonViewModel
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.yuzu.yuzu_emu.utils.AddonUtil
|
import org.yuzu.yuzu_emu.utils.AddonUtil
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.FileUtil.copyFilesTo
|
import org.yuzu.yuzu_emu.utils.FileUtil.copyFilesTo
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
|
|
@ -60,6 +61,7 @@ class AddonsFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(false)
|
homeViewModel.setStatusBarShadeVisibility(false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarAddons.setNavigationOnClickListener {
|
binding.toolbarAddons.setNavigationOnClickListener {
|
||||||
binding.root.findNavController().popBackStack()
|
binding.root.findNavController().popBackStack()
|
||||||
|
|
@ -122,6 +124,7 @@ class AddonsFragment : Fragment() {
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
addonViewModel.refreshAddons()
|
addonViewModel.refreshAddons()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -201,4 +204,8 @@ class AddonsFragment : Fragment() {
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -21,6 +21,7 @@ import org.yuzu.yuzu_emu.databinding.FragmentAppletLauncherBinding
|
||||||
import org.yuzu.yuzu_emu.model.Applet
|
import org.yuzu.yuzu_emu.model.Applet
|
||||||
import org.yuzu.yuzu_emu.model.AppletInfo
|
import org.yuzu.yuzu_emu.model.AppletInfo
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
|
|
||||||
class AppletLauncherFragment : Fragment() {
|
class AppletLauncherFragment : Fragment() {
|
||||||
|
|
@ -48,6 +49,7 @@ class AppletLauncherFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarApplets.setNavigationOnClickListener {
|
binding.toolbarApplets.setNavigationOnClickListener {
|
||||||
binding.root.findNavController().popBackStack()
|
binding.root.findNavController().popBackStack()
|
||||||
|
|
@ -91,6 +93,11 @@ class AppletLauncherFragment : Fragment() {
|
||||||
setInsets()
|
setInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun setInsets() =
|
private fun setInsets() =
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
binding.root
|
binding.root
|
||||||
|
|
@ -108,4 +115,8 @@ class AppletLauncherFragment : Fragment() {
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@ import org.yuzu.yuzu_emu.R
|
||||||
import org.yuzu.yuzu_emu.databinding.FragmentDriverFetcherBinding
|
import org.yuzu.yuzu_emu.databinding.FragmentDriverFetcherBinding
|
||||||
import org.yuzu.yuzu_emu.features.fetcher.DriverGroupAdapter
|
import org.yuzu.yuzu_emu.features.fetcher.DriverGroupAdapter
|
||||||
import org.yuzu.yuzu_emu.model.DriverViewModel
|
import org.yuzu.yuzu_emu.model.DriverViewModel
|
||||||
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
@ -87,6 +89,7 @@ class DriverFetcherFragment : Fragment() {
|
||||||
|
|
||||||
private lateinit var driverGroupAdapter: DriverGroupAdapter
|
private lateinit var driverGroupAdapter: DriverGroupAdapter
|
||||||
private val driverViewModel: DriverViewModel by activityViewModels()
|
private val driverViewModel: DriverViewModel by activityViewModels()
|
||||||
|
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||||
|
|
||||||
private fun parseAdrenoModel(): Int {
|
private fun parseAdrenoModel(): Int {
|
||||||
if (gpuModel == null) {
|
if (gpuModel == null) {
|
||||||
|
|
@ -138,6 +141,8 @@ class DriverFetcherFragment : Fragment() {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarDrivers.setNavigationOnClickListener {
|
binding.toolbarDrivers.setNavigationOnClickListener {
|
||||||
binding.root.findNavController().popBackStack()
|
binding.root.findNavController().popBackStack()
|
||||||
|
|
@ -152,6 +157,11 @@ class DriverFetcherFragment : Fragment() {
|
||||||
fetchDrivers()
|
fetchDrivers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun fetchDrivers() {
|
private fun fetchDrivers() {
|
||||||
binding.loadingIndicator.isVisible = true
|
binding.loadingIndicator.isVisible = true
|
||||||
|
|
||||||
|
|
@ -240,6 +250,10 @@ class DriverFetcherFragment : Fragment() {
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
|
|
||||||
data class Artifact(val url: URL, val name: String)
|
data class Artifact(val url: URL, val name: String)
|
||||||
|
|
||||||
data class Release(
|
data class Release(
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -33,6 +33,7 @@ import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.yuzu.yuzu_emu.utils.FileUtil
|
import org.yuzu.yuzu_emu.utils.FileUtil
|
||||||
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
||||||
import org.yuzu.yuzu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
@ -66,6 +67,7 @@ class DriverManagerFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
driverViewModel.onOpenDriverManager(args.game)
|
driverViewModel.onOpenDriverManager(args.game)
|
||||||
if (NativeConfig.isPerGameConfigLoaded()) {
|
if (NativeConfig.isPerGameConfigLoaded()) {
|
||||||
|
|
@ -138,6 +140,11 @@ class DriverManagerFragment : Fragment() {
|
||||||
driverViewModel.onCloseDriverManager(args.game)
|
driverViewModel.onCloseDriverManager(args.game)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun setInsets() =
|
private fun setInsets() =
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
binding.root
|
binding.root
|
||||||
|
|
@ -256,4 +263,8 @@ class DriverManagerFragment : Fragment() {
|
||||||
.setCancelable(false)
|
.setCancelable(false)
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,10 @@ import org.yuzu.yuzu_emu.adapters.FreedrenoPresetAdapter
|
||||||
import org.yuzu.yuzu_emu.adapters.FreedrenoVariableAdapter
|
import org.yuzu.yuzu_emu.adapters.FreedrenoVariableAdapter
|
||||||
import org.yuzu.yuzu_emu.databinding.FragmentFreedrenoSettingsBinding
|
import org.yuzu.yuzu_emu.databinding.FragmentFreedrenoSettingsBinding
|
||||||
import org.yuzu.yuzu_emu.model.Game
|
import org.yuzu.yuzu_emu.model.Game
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.NativeFreedrenoConfig
|
import org.yuzu.yuzu_emu.utils.NativeFreedrenoConfig
|
||||||
import org.yuzu.yuzu_emu.utils.FreedrenoPresets
|
import org.yuzu.yuzu_emu.utils.FreedrenoPresets
|
||||||
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
|
|
||||||
|
|
||||||
class FreedrenoSettingsFragment : Fragment() {
|
class FreedrenoSettingsFragment : Fragment() {
|
||||||
|
|
@ -67,6 +69,7 @@ class FreedrenoSettingsFragment : Fragment() {
|
||||||
setupAdapters()
|
setupAdapters()
|
||||||
loadCurrentSettings()
|
loadCurrentSettings()
|
||||||
setupButtonListeners()
|
setupButtonListeners()
|
||||||
|
applyBackgroundPreference()
|
||||||
setupWindowInsets()
|
setupWindowInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -74,10 +77,15 @@ class FreedrenoSettingsFragment : Fragment() {
|
||||||
binding.toolbarFreedreno.setNavigationOnClickListener {
|
binding.toolbarFreedreno.setNavigationOnClickListener {
|
||||||
requireActivity().onBackPressedDispatcher.onBackPressed()
|
requireActivity().onBackPressedDispatcher.onBackPressed()
|
||||||
}
|
}
|
||||||
if (isPerGameConfig) {
|
|
||||||
binding.toolbarFreedreno.title = getString(R.string.freedreno_per_game_title)
|
binding.toolbarFreedreno.title = getString(
|
||||||
binding.toolbarFreedreno.subtitle = game!!.title
|
if (isPerGameConfig) {
|
||||||
}
|
R.string.freedreno_per_game_title
|
||||||
|
} else {
|
||||||
|
R.string.freedreno_settings_title
|
||||||
|
}
|
||||||
|
)
|
||||||
|
binding.toolbarFreedreno.subtitle = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupAdapters() {
|
private fun setupAdapters() {
|
||||||
|
|
@ -175,16 +183,28 @@ class FreedrenoSettingsFragment : Fragment() {
|
||||||
|
|
||||||
private fun setupWindowInsets() {
|
private fun setupWindowInsets() {
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
|
||||||
val systemInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
val barInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
binding.root.updatePadding(
|
val cutoutInsets = insets.getInsets(WindowInsetsCompat.Type.displayCutout())
|
||||||
left = systemInsets.left,
|
|
||||||
right = systemInsets.right,
|
val leftInsets = barInsets.left + cutoutInsets.left
|
||||||
bottom = systemInsets.bottom
|
val rightInsets = barInsets.right + cutoutInsets.right
|
||||||
)
|
|
||||||
|
binding.appbarFreedreno.updateMargins(left = leftInsets, right = rightInsets)
|
||||||
|
binding.scrollFreedreno.updateMargins(left = leftInsets, right = rightInsets)
|
||||||
|
binding.scrollFreedreno.updatePadding(bottom = barInsets.bottom)
|
||||||
insets
|
insets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
|
|
||||||
private fun showSnackbar(message: String) {
|
private fun showSnackbar(message: String) {
|
||||||
Snackbar.make(binding.root, message, Snackbar.LENGTH_SHORT).show()
|
Snackbar.make(binding.root, message, Snackbar.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ import org.yuzu.yuzu_emu.model.GameDir
|
||||||
import org.yuzu.yuzu_emu.model.GamesViewModel
|
import org.yuzu.yuzu_emu.model.GamesViewModel
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
|
|
||||||
|
|
@ -57,6 +58,7 @@ class GameFoldersFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarFolders.setNavigationOnClickListener {
|
binding.toolbarFolders.setNavigationOnClickListener {
|
||||||
binding.root.findNavController().popBackStack()
|
binding.root.findNavController().popBackStack()
|
||||||
|
|
@ -100,6 +102,11 @@ class GameFoldersFragment : Fragment() {
|
||||||
setInsets()
|
setInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
super.onStop()
|
super.onStop()
|
||||||
gamesViewModel.onCloseGameFoldersFragment()
|
gamesViewModel.onCloseGameFoldersFragment()
|
||||||
|
|
@ -133,4 +140,8 @@ class GameFoldersFragment : Fragment() {
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -26,6 +26,7 @@ import org.yuzu.yuzu_emu.R
|
||||||
import org.yuzu.yuzu_emu.databinding.FragmentGameInfoBinding
|
import org.yuzu.yuzu_emu.databinding.FragmentGameInfoBinding
|
||||||
import org.yuzu.yuzu_emu.model.GameVerificationResult
|
import org.yuzu.yuzu_emu.model.GameVerificationResult
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.GameMetadata
|
import org.yuzu.yuzu_emu.utils.GameMetadata
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
|
|
@ -60,6 +61,7 @@ class GameInfoFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(false)
|
homeViewModel.setStatusBarShadeVisibility(false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.apply {
|
binding.apply {
|
||||||
toolbarInfo.title = args.game.title
|
toolbarInfo.title = args.game.title
|
||||||
|
|
@ -143,6 +145,11 @@ class GameInfoFragment : Fragment() {
|
||||||
setInsets()
|
setInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun copyToClipboard(label: String, body: String) {
|
private fun copyToClipboard(label: String, body: String) {
|
||||||
val clipBoard =
|
val clipBoard =
|
||||||
requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||||
|
|
@ -175,4 +182,8 @@ class GameInfoFragment : Fragment() {
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -48,6 +48,7 @@ import org.yuzu.yuzu_emu.utils.FileUtil
|
||||||
import org.yuzu.yuzu_emu.utils.GameIconUtils
|
import org.yuzu.yuzu_emu.utils.GameIconUtils
|
||||||
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
||||||
import org.yuzu.yuzu_emu.utils.MemoryUtil
|
import org.yuzu.yuzu_emu.utils.MemoryUtil
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
|
|
@ -83,6 +84,7 @@ class GamePropertiesFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(true)
|
homeViewModel.setStatusBarShadeVisibility(true)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.buttonBack.setOnClickListener {
|
binding.buttonBack.setOnClickListener {
|
||||||
view.findNavController().popBackStack()
|
view.findNavController().popBackStack()
|
||||||
|
|
@ -310,6 +312,21 @@ class GamePropertiesFragment : Fragment() {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (!args.game.isHomebrew) {
|
||||||
|
add(
|
||||||
|
SubmenuProperty(
|
||||||
|
R.string.add_ons,
|
||||||
|
R.string.add_ons_description,
|
||||||
|
R.drawable.ic_edit,
|
||||||
|
action = {
|
||||||
|
val action = GamePropertiesFragmentDirections
|
||||||
|
.actionPerGamePropertiesFragmentToAddonsFragment(args.game)
|
||||||
|
binding.root.findNavController().navigate(action)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
if (GpuDriverHelper.supportsCustomDriverLoading()) {
|
if (GpuDriverHelper.supportsCustomDriverLoading()) {
|
||||||
add(
|
add(
|
||||||
SubmenuProperty(
|
SubmenuProperty(
|
||||||
|
|
@ -341,18 +358,6 @@ class GamePropertiesFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!args.game.isHomebrew) {
|
if (!args.game.isHomebrew) {
|
||||||
add(
|
|
||||||
SubmenuProperty(
|
|
||||||
R.string.add_ons,
|
|
||||||
R.string.add_ons_description,
|
|
||||||
R.drawable.ic_edit,
|
|
||||||
action = {
|
|
||||||
val action = GamePropertiesFragmentDirections
|
|
||||||
.actionPerGamePropertiesFragmentToAddonsFragment(args.game)
|
|
||||||
binding.root.findNavController().navigate(action)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
add(
|
add(
|
||||||
InstallableProperty(
|
InstallableProperty(
|
||||||
R.string.save_data,
|
R.string.save_data,
|
||||||
|
|
@ -484,6 +489,7 @@ class GamePropertiesFragment : Fragment() {
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
driverViewModel.updateDriverNameForGame(args.game)
|
driverViewModel.updateDriverNameForGame(args.game)
|
||||||
getPlayTime()
|
getPlayTime()
|
||||||
reloadList()
|
reloadList()
|
||||||
|
|
@ -708,4 +714,8 @@ class GamePropertiesFragment : Fragment() {
|
||||||
).show()
|
).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
|
|
@ -43,8 +40,11 @@ import org.yuzu.yuzu_emu.model.DriverViewModel
|
||||||
import org.yuzu.yuzu_emu.model.HomeSetting
|
import org.yuzu.yuzu_emu.model.HomeSetting
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.FileUtil
|
import org.yuzu.yuzu_emu.utils.FileUtil
|
||||||
|
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
||||||
import org.yuzu.yuzu_emu.utils.Log
|
import org.yuzu.yuzu_emu.utils.Log
|
||||||
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
|
|
||||||
class HomeSettingsFragment : Fragment() {
|
class HomeSettingsFragment : Fragment() {
|
||||||
private var _binding: FragmentHomeSettingsBinding? = null
|
private var _binding: FragmentHomeSettingsBinding? = null
|
||||||
|
|
@ -71,8 +71,13 @@ class HomeSettingsFragment : Fragment() {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = true)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
mainActivity = requireActivity() as MainActivity
|
mainActivity = requireActivity() as MainActivity
|
||||||
|
applyBackgroundPreference()
|
||||||
|
binding.toolbarHomeSettings.setNavigationOnClickListener {
|
||||||
|
findNavController().popBackStack()
|
||||||
|
}
|
||||||
|
binding.toolbarHomeSettings.title = getString(R.string.preferences_settings)
|
||||||
|
|
||||||
val optionsList: MutableList<HomeSetting> = mutableListOf<HomeSetting>().apply {
|
val optionsList: MutableList<HomeSetting> = mutableListOf<HomeSetting>().apply {
|
||||||
add(
|
add(
|
||||||
|
|
@ -144,6 +149,18 @@ class HomeSettingsFragment : Fragment() {
|
||||||
driverViewModel.selectedDriverTitle
|
driverViewModel.selectedDriverTitle
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
if (GpuDriverHelper.isAdrenoGpu()) {
|
||||||
|
add(
|
||||||
|
HomeSetting(
|
||||||
|
R.string.freedreno_settings_title,
|
||||||
|
R.string.gpu_driver_settings,
|
||||||
|
R.drawable.ic_graphics,
|
||||||
|
{
|
||||||
|
binding.root.findNavController().navigate(R.id.freedrenoSettingsFragment)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
add(
|
add(
|
||||||
HomeSetting(
|
HomeSetting(
|
||||||
R.string.multiplayer,
|
R.string.multiplayer,
|
||||||
|
|
@ -300,6 +317,7 @@ class HomeSettingsFragment : Fragment() {
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
driverViewModel.updateDriverNameForGame(null)
|
driverViewModel.updateDriverNameForGame(null)
|
||||||
|
applyBackgroundPreference()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
|
@ -465,21 +483,28 @@ class HomeSettingsFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setInsets() =
|
private fun setInsets() =
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { view, windowInsets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, windowInsets ->
|
||||||
val barInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
val barInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
val cutoutInsets = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout())
|
val cutoutInsets = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout())
|
||||||
|
|
||||||
|
binding.appbarHomeSettings.updateMargins(
|
||||||
|
left = barInsets.left + cutoutInsets.left,
|
||||||
|
right = barInsets.right + cutoutInsets.right
|
||||||
|
)
|
||||||
|
|
||||||
binding.scrollViewSettings.updatePadding(
|
binding.scrollViewSettings.updatePadding(
|
||||||
top = barInsets.top
|
bottom = barInsets.bottom
|
||||||
)
|
)
|
||||||
|
|
||||||
binding.homeSettingsList.updatePadding(
|
binding.homeSettingsList.updatePadding(
|
||||||
left = barInsets.left + cutoutInsets.left,
|
left = barInsets.left + cutoutInsets.left,
|
||||||
top = cutoutInsets.top,
|
right = barInsets.right + cutoutInsets.right
|
||||||
right = barInsets.right + cutoutInsets.right,
|
|
||||||
bottom = barInsets.bottom
|
|
||||||
)
|
)
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.logoImage, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
package org.yuzu.yuzu_emu.fragments
|
package org.yuzu.yuzu_emu.fragments
|
||||||
|
|
@ -32,6 +32,7 @@ import org.yuzu.yuzu_emu.ui.main.MainActivity
|
||||||
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
||||||
import org.yuzu.yuzu_emu.utils.FileUtil
|
import org.yuzu.yuzu_emu.utils.FileUtil
|
||||||
import org.yuzu.yuzu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
|
||||||
import org.yuzu.yuzu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
import java.io.BufferedOutputStream
|
import java.io.BufferedOutputStream
|
||||||
|
|
@ -68,6 +69,7 @@ class InstallableFragment : Fragment() {
|
||||||
val mainActivity = requireActivity() as MainActivity
|
val mainActivity = requireActivity() as MainActivity
|
||||||
|
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarInstallables.setNavigationOnClickListener {
|
binding.toolbarInstallables.setNavigationOnClickListener {
|
||||||
binding.root.findNavController().popBackStack()
|
binding.root.findNavController().popBackStack()
|
||||||
|
|
@ -162,6 +164,11 @@ class InstallableFragment : Fragment() {
|
||||||
setInsets()
|
setInsets()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun setInsets() =
|
private fun setInsets() =
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
binding.root
|
binding.root
|
||||||
|
|
@ -325,4 +332,8 @@ class InstallableFragment : Fragment() {
|
||||||
}
|
}
|
||||||
}.show(parentFragmentManager, ProgressDialogFragment.TAG)
|
}.show(parentFragmentManager, ProgressDialogFragment.TAG)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import org.yuzu.yuzu_emu.adapters.ProfileAdapter
|
||||||
import org.yuzu.yuzu_emu.databinding.FragmentProfileManagerBinding
|
import org.yuzu.yuzu_emu.databinding.FragmentProfileManagerBinding
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.yuzu.yuzu_emu.model.UserProfile
|
import org.yuzu.yuzu_emu.model.UserProfile
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
|
|
||||||
class ProfileManagerFragment : Fragment() {
|
class ProfileManagerFragment : Fragment() {
|
||||||
|
|
@ -49,6 +50,7 @@ class ProfileManagerFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
homeViewModel.setStatusBarShadeVisibility(visible = false)
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
binding.toolbarProfiles.setNavigationOnClickListener {
|
binding.toolbarProfiles.setNavigationOnClickListener {
|
||||||
findNavController().popBackStack()
|
findNavController().popBackStack()
|
||||||
|
|
@ -75,6 +77,7 @@ class ProfileManagerFragment : Fragment() {
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
loadProfiles()
|
loadProfiles()
|
||||||
|
applyBackgroundPreference()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupRecyclerView() {
|
private fun setupRecyclerView() {
|
||||||
|
|
@ -187,4 +190,8 @@ class ProfileManagerFragment : Fragment() {
|
||||||
NativeConfig.saveGlobalConfig()
|
NativeConfig.saveGlobalConfig()
|
||||||
_binding = null
|
_binding = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ import org.yuzu.yuzu_emu.model.Game
|
||||||
import org.yuzu.yuzu_emu.model.GamesViewModel
|
import org.yuzu.yuzu_emu.model.GamesViewModel
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
||||||
|
import org.yuzu.yuzu_emu.utils.BackgroundHelper
|
||||||
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.yuzu.yuzu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
import info.debatty.java.stringsimilarity.Jaccard
|
import info.debatty.java.stringsimilarity.Jaccard
|
||||||
|
|
@ -106,6 +107,7 @@ class GamesFragment : Fragment() {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
homeViewModel.setStatusBarShadeVisibility(true)
|
homeViewModel.setStatusBarShadeVisibility(true)
|
||||||
mainActivity = requireActivity() as MainActivity
|
mainActivity = requireActivity() as MainActivity
|
||||||
|
applyBackgroundPreference()
|
||||||
|
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
binding.searchText.setText(savedInstanceState.getString(SEARCH_TEXT))
|
binding.searchText.setText(savedInstanceState.getString(SEARCH_TEXT))
|
||||||
|
|
@ -252,6 +254,7 @@ class GamesFragment : Fragment() {
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
applyBackgroundPreference()
|
||||||
if (getCurrentViewType() == GameAdapter.VIEW_TYPE_CAROUSEL) {
|
if (getCurrentViewType() == GameAdapter.VIEW_TYPE_CAROUSEL) {
|
||||||
(binding.gridGames as? CarouselRecyclerView)?.setupCarousel(true)
|
(binding.gridGames as? CarouselRecyclerView)?.setupCarousel(true)
|
||||||
(binding.gridGames as? CarouselRecyclerView)?.restoreScrollState(gamesViewModel.lastScrollPosition)
|
(binding.gridGames as? CarouselRecyclerView)?.restoreScrollState(gamesViewModel.lastScrollPosition)
|
||||||
|
|
@ -497,6 +500,10 @@ class GamesFragment : Fragment() {
|
||||||
binding.addDirectory.visibility = if (showFolder) View.VISIBLE else View.GONE
|
binding.addDirectory.visibility = if (showFolder) View.VISIBLE else View.GONE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyBackgroundPreference() {
|
||||||
|
BackgroundHelper.applyBackground(binding.backgroundLogo, requireContext())
|
||||||
|
}
|
||||||
|
|
||||||
private fun setInsets() =
|
private fun setInsets() =
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
binding.root
|
binding.root
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
package org.yuzu.yuzu_emu.utils
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.view.View
|
||||||
|
import androidx.core.content.edit
|
||||||
|
import androidx.preference.PreferenceManager
|
||||||
|
import org.yuzu.yuzu_emu.R
|
||||||
|
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
||||||
|
|
||||||
|
object BackgroundHelper {
|
||||||
|
fun getBackgroundStyle(context: Context): Int {
|
||||||
|
return PreferenceManager.getDefaultSharedPreferences(context).getInt(
|
||||||
|
Settings.PREF_HOME_BACKGROUND_STYLE,
|
||||||
|
Settings.HOME_BACKGROUND_STYLE_DEFAULT
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setBackgroundStyle(context: Context, style: Int) {
|
||||||
|
PreferenceManager.getDefaultSharedPreferences(context).edit {
|
||||||
|
putInt(Settings.PREF_HOME_BACKGROUND_STYLE, style)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getBackgroundAlpha(context: Context): Float {
|
||||||
|
val alphaPercent = PreferenceManager.getDefaultSharedPreferences(context).getInt(
|
||||||
|
Settings.PREF_HOME_BACKGROUND_ALPHA,
|
||||||
|
Settings.HOME_BACKGROUND_ALPHA_DEFAULT
|
||||||
|
).coerceIn(0, 100)
|
||||||
|
return alphaPercent / 100f
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setBackgroundAlpha(context: Context, alphaPercent: Int) {
|
||||||
|
PreferenceManager.getDefaultSharedPreferences(context).edit {
|
||||||
|
putInt(Settings.PREF_HOME_BACKGROUND_ALPHA, alphaPercent.coerceIn(0, 100))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun applyBackground(view: View, context: Context) {
|
||||||
|
val isEnabled = getBackgroundStyle(context) != Settings.HOME_BACKGROUND_STYLE_NONE
|
||||||
|
val visibilityStrength = getBackgroundAlpha(context)
|
||||||
|
|
||||||
|
val parent = view.parent as? View
|
||||||
|
val scrim = parent?.findViewById<View>(R.id.background_scrim)
|
||||||
|
|
||||||
|
view.visibility = if (isEnabled) View.VISIBLE else View.GONE
|
||||||
|
|
||||||
|
if (!isEnabled) {
|
||||||
|
scrim?.visibility = View.GONE
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (scrim != null) {
|
||||||
|
// Keep background image opaque; control perceived intensity through a cheap flat-color scrim.
|
||||||
|
view.alpha = 1f
|
||||||
|
scrim.visibility = View.VISIBLE
|
||||||
|
scrim.alpha = (1f - visibilityStrength).coerceIn(0f, 1f)
|
||||||
|
} else {
|
||||||
|
view.alpha = visibilityStrength
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
src/android/app/src/main/res/drawable-nodpi/eden_background.webp
Normal file
BIN
src/android/app/src/main/res/drawable-nodpi/eden_background.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<solid android:color="?attr/colorSurface" />
|
<solid android:color="@android:color/transparent" />
|
||||||
<stroke
|
<stroke
|
||||||
android:width="1dp"
|
android:width="1dp"
|
||||||
android:color="?attr/colorOutline" />
|
android:color="?attr/colorOutline" />
|
||||||
|
|
@ -11,4 +11,4 @@
|
||||||
android:top="12dp"
|
android:top="12dp"
|
||||||
android:right="12dp"
|
android:right="12dp"
|
||||||
android:bottom="12dp" />
|
android:bottom="12dp" />
|
||||||
</shape>
|
</shape>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,29 @@
|
||||||
android:clipChildren="false"
|
android:clipChildren="false"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/background_scrim"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/header"
|
android:id="@+id/header"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -44,7 +67,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="24dp"
|
app:cardCornerRadius="24dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="4dp"
|
android:padding="4dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -103,7 +131,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="21dp"
|
app:cardCornerRadius="21dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -127,7 +160,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="21dp"
|
app:cardCornerRadius="21dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -151,7 +189,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="21dp"
|
app:cardCornerRadius="21dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -239,4 +282,4 @@
|
||||||
app:rippleColor="#99FFFFFF"
|
app:rippleColor="#99FFFFFF"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
||||||
|
|
@ -12,70 +12,83 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:orientation="horizontal"
|
android:orientation="vertical"
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:paddingHorizontal="24dp"
|
android:paddingHorizontal="24dp"
|
||||||
android:paddingVertical="16dp">
|
android:paddingVertical="16dp">
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/icon"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
android:layout_marginEnd="20dp"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
app:tint="?attr/colorOnSurface"
|
|
||||||
tools:src="@drawable/ic_settings" />
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="16dp"
|
android:gravity="center_vertical"
|
||||||
android:layout_weight="1"
|
android:orientation="horizontal">
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<ImageView
|
||||||
android:id="@+id/title"
|
android:id="@+id/icon"
|
||||||
style="@style/TextAppearance.Material3.TitleMedium"
|
android:layout_width="24dp"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="24dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginEnd="20dp"
|
||||||
android:text="@string/user_data"
|
android:layout_gravity="center_vertical"
|
||||||
android:textAlignment="viewStart" />
|
app:tint="?attr/colorOnSurface"
|
||||||
|
tools:src="@drawable/ic_settings" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<LinearLayout
|
||||||
android:id="@+id/description"
|
android:layout_width="0dp"
|
||||||
style="@style/TextAppearance.Material3.BodyMedium"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_weight="1"
|
||||||
android:text="@string/user_data_description"
|
android:orientation="vertical">
|
||||||
android:textAlignment="viewStart" />
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/title"
|
||||||
|
style="@style/TextAppearance.Material3.TitleMedium"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/user_data"
|
||||||
|
android:textAlignment="viewStart" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/description"
|
||||||
|
style="@style/TextAppearance.Material3.BodyMedium"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:text="@string/user_data_description"
|
||||||
|
android:textAlignment="viewStart" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<Button
|
<LinearLayout
|
||||||
android:id="@+id/button_export"
|
android:layout_width="match_parent"
|
||||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_marginTop="10dp"
|
||||||
android:contentDescription="@string/export"
|
android:gravity="end|center_vertical"
|
||||||
android:tooltipText="@string/export"
|
android:orientation="horizontal">
|
||||||
android:visibility="gone"
|
|
||||||
app:icon="@drawable/ic_export"
|
|
||||||
tools:visibility="visible" />
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_install"
|
android:id="@+id/button_install"
|
||||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:contentDescription="@string/string_import"
|
||||||
android:layout_marginStart="12dp"
|
android:tooltipText="@string/string_import"
|
||||||
android:contentDescription="@string/string_import"
|
android:visibility="gone"
|
||||||
android:tooltipText="@string/string_import"
|
app:icon="@drawable/ic_import"
|
||||||
android:visibility="gone"
|
tools:visibility="visible" />
|
||||||
app:icon="@drawable/ic_import"
|
|
||||||
tools:visibility="visible" />
|
<Button
|
||||||
|
android:id="@+id/button_export"
|
||||||
|
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:contentDescription="@string/export"
|
||||||
|
android:tooltipText="@string/export"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:icon="@drawable/ic_export"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,20 @@
|
||||||
android:id="@+id/coordinator_about"
|
android:id="@+id/coordinator_about"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_about"
|
android:id="@+id/appbar_about"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,16 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_info"
|
android:id="@+id/appbar_info"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,20 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:id="@+id/list_all"
|
android:id="@+id/list_all"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,13 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginVertical="12dp"
|
android:layout_marginVertical="12dp"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:background="@android:color/transparent"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true">
|
android:focusable="true"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,15 @@
|
||||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="?attr/materialCardViewOutlinedStyle"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginVertical="12dp">
|
android:layout_marginVertical="12dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,10 @@
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="14dp"
|
android:paddingTop="4dp"
|
||||||
android:paddingLeft="6dp"
|
android:paddingLeft="4dp"
|
||||||
android:paddingRight="6dp"
|
android:paddingRight="4dp"
|
||||||
android:paddingBottom="6dp">
|
android:paddingBottom="2dp">
|
||||||
|
|
||||||
<com.google.android.material.imageview.ShapeableImageView
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
android:id="@+id/image_game_screen"
|
android:id="@+id/image_game_screen"
|
||||||
|
|
@ -48,11 +48,14 @@
|
||||||
style="@style/SynthwaveText.Body"
|
style="@style/SynthwaveText.Body"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="2dp"
|
||||||
|
android:gravity="center"
|
||||||
android:requiresFadingEdge="horizontal"
|
android:requiresFadingEdge="horizontal"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/image_game_screen"
|
app:layout_constraintEnd_toEndOf="@+id/image_game_screen"
|
||||||
app:layout_constraintStart_toStartOf="@+id/image_game_screen"
|
app:layout_constraintStart_toStartOf="@+id/image_game_screen"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/image_game_screen"
|
app:layout_constraintTop_toBottomOf="@+id/image_game_screen"
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,10 @@
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="14dp"
|
android:paddingTop="3dp"
|
||||||
android:paddingLeft="6dp"
|
android:paddingLeft="4dp"
|
||||||
android:paddingRight="6dp"
|
android:paddingRight="4dp"
|
||||||
android:paddingBottom="6dp">
|
android:paddingBottom="3dp">
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/image_container"
|
android:id="@+id/image_container"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
android:transitionName="card_game"
|
android:transitionName="card_game"
|
||||||
app:cardCornerRadius="16dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:cardBackgroundColor="@color/eden_card_background"
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
app:strokeWidth="0dp">
|
app:strokeWidth="0dp">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|
@ -27,6 +27,8 @@
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium"
|
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium"
|
||||||
|
app:strokeColor="@color/eden_card_background"
|
||||||
|
app:strokeWidth="4dp"
|
||||||
tools:src="@drawable/default_icon" />
|
tools:src="@drawable/default_icon" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,14 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="16dp"
|
||||||
android:layout_marginHorizontal="8dp"
|
android:layout_marginHorizontal="8dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:cardCornerRadius="16dp">
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/option_layout"
|
android:id="@+id/option_layout"
|
||||||
|
|
@ -60,6 +65,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAlignment="viewStart"
|
android:textAlignment="viewStart"
|
||||||
|
android:textColor="?attr/colorPrimary"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,15 @@
|
||||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="@style/EdenCard"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginVertical="12dp">
|
android:layout_marginVertical="12dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -44,7 +48,7 @@
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_export"
|
android:id="@+id/button_export"
|
||||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
style="@style/Widget.Material3.Button.IconButton.Filled"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
|
@ -56,7 +60,7 @@
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_install"
|
android:id="@+id/button_install"
|
||||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
style="@style/Widget.Material3.Button.IconButton.Filled"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
|
|
||||||
|
|
@ -6,63 +6,75 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginVertical="12dp">
|
android:layout_marginVertical="12dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:orientation="horizontal"
|
android:orientation="vertical"
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:paddingHorizontal="24dp"
|
android:paddingHorizontal="24dp"
|
||||||
android:paddingVertical="16dp">
|
android:paddingVertical="16dp">
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/icon"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
android:layout_marginEnd="20dp"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
app:tint="?attr/colorOnSurface"
|
|
||||||
tools:src="@drawable/ic_settings" />
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="16dp"
|
android:gravity="center_vertical"
|
||||||
android:layout_weight="1"
|
android:orientation="horizontal">
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<ImageView
|
||||||
android:id="@+id/title"
|
android:id="@+id/icon"
|
||||||
style="@style/TextAppearance.Material3.TitleMedium"
|
android:layout_width="24dp"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="24dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginEnd="20dp"
|
||||||
android:text="@string/user_data"
|
android:layout_gravity="center_vertical"
|
||||||
android:textAlignment="viewStart" />
|
app:tint="?attr/colorOnSurface"
|
||||||
|
tools:src="@drawable/ic_settings" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<LinearLayout
|
||||||
android:id="@+id/description"
|
android:layout_width="0dp"
|
||||||
style="@style/TextAppearance.Material3.BodyMedium"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_weight="1"
|
||||||
android:text="@string/user_data_description"
|
android:orientation="vertical">
|
||||||
android:textAlignment="viewStart" />
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/title"
|
||||||
|
style="@style/TextAppearance.Material3.TitleMedium"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/user_data"
|
||||||
|
android:textAlignment="viewStart" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/description"
|
||||||
|
style="@style/TextAppearance.Material3.BodyMedium"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:text="@string/user_data_description"
|
||||||
|
android:textAlignment="viewStart" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:layout_marginTop="10dp"
|
||||||
|
android:gravity="end|center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_install"
|
android:id="@+id/button_install"
|
||||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
style="@style/Widget.Material3.Button.IconButton.Filled"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:contentDescription="@string/string_import"
|
android:contentDescription="@string/string_import"
|
||||||
android:tooltipText="@string/string_import"
|
android:tooltipText="@string/string_import"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
|
@ -71,11 +83,10 @@
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_export"
|
android:id="@+id/button_export"
|
||||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
style="@style/Widget.Material3.Button.IconButton.Filled"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_marginStart="12dp"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:contentDescription="@string/export"
|
android:contentDescription="@string/export"
|
||||||
android:tooltipText="@string/export"
|
android:tooltipText="@string/export"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,13 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginVertical="12dp"
|
android:layout_marginVertical="12dp"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:background="@android:color/transparent"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true">
|
android:focusable="true"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -81,14 +85,15 @@
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<com.google.android.material.chip.ChipGroup
|
<LinearLayout
|
||||||
android:id="@+id/layoutSecondaryActions"
|
android:id="@+id/layoutSecondaryActions"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="end|center_vertical"
|
||||||
|
android:orientation="horizontal"
|
||||||
android:paddingHorizontal="24dp"
|
android:paddingHorizontal="24dp"
|
||||||
android:paddingVertical="8dp"
|
android:paddingVertical="8dp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:singleLine="false"
|
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
||||||
|
|
@ -6,18 +6,27 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar"
|
android:id="@+id/appbar"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
android:background="?attr/colorSurface"
|
|
||||||
android:elevation="0dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical">
|
||||||
app:layout_scrollFlags="scroll|enterAlways|snap">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -248,4 +257,4 @@
|
||||||
style="@style/Widget.Material3.Button.ElevatedButton" />
|
style="@style/Widget.Material3.Button.ElevatedButton" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,11 @@
|
||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="16dp"
|
||||||
android:text="@string/multiplayer_public_room"
|
android:text="@string/multiplayer_public_room"
|
||||||
app:cornerRadius="16dp"
|
app:cornerRadius="16dp"
|
||||||
|
app:backgroundTint="?attr/colorPrimary"
|
||||||
app:icon="@drawable/ic_search"
|
app:icon="@drawable/ic_search"
|
||||||
app:iconPadding="12dp" />
|
app:iconPadding="12dp"
|
||||||
|
app:iconTint="?attr/colorOnPrimary"
|
||||||
|
android:textColor="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
<Space
|
<Space
|
||||||
android:layout_width="20dp"
|
android:layout_width="20dp"
|
||||||
|
|
@ -110,4 +113,4 @@
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,20 @@
|
||||||
android:id="@+id/coordinator_about"
|
android:id="@+id/coordinator_about"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_about"
|
android:id="@+id/appbar_about"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -51,12 +63,15 @@
|
||||||
android:src="@drawable/ic_yuzu" />
|
android:src="@drawable/ic_yuzu" />
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
style="@style/EdenCard"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
app:cardCornerRadius="16dp">
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
@ -84,14 +99,17 @@
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:id="@+id/button_contributors"
|
android:id="@+id/button_contributors"
|
||||||
style="@style/EdenCard"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginTop="12dp"
|
android:layout_marginTop="12dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:cardCornerRadius="16dp">
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
@ -119,14 +137,17 @@
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:id="@+id/button_licenses"
|
android:id="@+id/button_licenses"
|
||||||
style="@style/EdenCard"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginTop="12dp"
|
android:layout_marginTop="12dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:cardCornerRadius="16dp">
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp">
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
@ -161,7 +182,7 @@
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:cardCornerRadius="16dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:cardBackgroundColor="?attr/colorSurface"
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
app:strokeColor="?attr/colorOutline"
|
app:strokeColor="?attr/colorOutline"
|
||||||
app:strokeWidth="1dp"
|
app:strokeWidth="1dp"
|
||||||
app:cardElevation="0dp">
|
app:cardElevation="0dp">
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,23 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_addons"
|
android:id="@+id/appbar_addons"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
|
|
@ -18,6 +33,7 @@
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_addons"
|
android:id="@+id/toolbar_addons"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,20 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_applets"
|
android:id="@+id/appbar_applets"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
|
|
@ -15,6 +27,7 @@
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_applets"
|
android:id="@+id/toolbar_applets"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
|
|
||||||
|
|
@ -7,19 +7,36 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_drivers"
|
android:id="@+id/appbar_drivers"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
||||||
app:liftOnScrollTargetViewId="@id/list_drivers">
|
app:liftOnScrollTargetViewId="@id/list_drivers">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_drivers"
|
android:id="@+id/toolbar_drivers"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,20 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
android:id="@+id/coordinatorLayout"
|
android:id="@+id/coordinatorLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -13,14 +27,15 @@
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_drivers"
|
android:id="@+id/appbar_drivers"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false">
|
||||||
app:liftOnScrollTargetViewId="@id/list_drivers">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_drivers"
|
android:id="@+id/toolbar_drivers"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
|
|
||||||
|
|
@ -6,20 +6,35 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_folders"
|
android:id="@+id/appbar_folders"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false">
|
||||||
app:liftOnScrollTargetViewId="@id/list_folders">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_folders"
|
android:id="@+id/toolbar_folders"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
|
|
||||||
|
|
@ -6,37 +6,36 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_freedreno"
|
android:id="@+id/appbar_freedreno"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false">
|
||||||
app:elevation="0dp">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_freedreno_layout"
|
android:id="@+id/toolbar_freedreno"
|
||||||
style="?attr/collapsingToolbarLayoutMediumStyle"
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/collapsingToolbarLayoutMediumSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
android:touchscreenBlocksFocus="false"
|
||||||
app:contentScrim="?attr/colorSurface"
|
app:navigationIcon="@drawable/ic_back" />
|
||||||
app:scrimVisibleHeightTrigger="100dp">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
|
||||||
android:id="@+id/toolbar_freedreno"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?attr/actionBarSize"
|
|
||||||
android:touchscreenBlocksFocus="false"
|
|
||||||
app:layout_collapseMode="pin"
|
|
||||||
app:navigationIcon="@drawable/ic_back"
|
|
||||||
app:title="@string/gpu_driver_settings" />
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/scroll_freedreno"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
|
|
@ -63,8 +62,12 @@
|
||||||
android:id="@+id/list_freedreno_presets"
|
android:id="@+id/list_freedreno_presets"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="6dp"
|
||||||
|
android:clipToPadding="false"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
android:scrollbars="horizontal"
|
android:scrollbars="horizontal"
|
||||||
|
android:scrollbarStyle="outsideInset"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
||||||
|
|
||||||
<!-- Current Settings Section -->
|
<!-- Current Settings Section -->
|
||||||
|
|
@ -135,22 +138,23 @@
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:spacing="8dp">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_clear_all"
|
android:id="@+id/button_clear_all"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="@string/freedreno_clear_all"
|
style="?attr/materialButtonOutlinedStyle"
|
||||||
style="?attr/materialButtonOutlinedStyle" />
|
android:text="@string/freedreno_clear_all" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_save"
|
android:id="@+id/button_save"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="@string/save" />
|
android:text="@string/save" />
|
||||||
|
|
||||||
|
|
@ -161,6 +165,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="24dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:strokeWidth="1dp"
|
app:strokeWidth="1dp"
|
||||||
app:strokeColor="?attr/colorOutline">
|
app:strokeColor="?attr/colorOutline">
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,16 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_info"
|
android:id="@+id/appbar_info"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,20 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:id="@+id/list_all"
|
android:id="@+id/list_all"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -33,9 +47,12 @@
|
||||||
style="?attr/materialIconButtonStyle"
|
style="?attr/materialIconButtonStyle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:backgroundTint="@android:color/transparent"
|
||||||
app:icon="@drawable/ic_back"
|
app:icon="@drawable/ic_back"
|
||||||
app:iconSize="24dp"
|
app:iconSize="24dp"
|
||||||
app:iconTint="?attr/colorOnSurface"
|
app:iconTint="?attr/colorOnSurface"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
|
@ -44,9 +61,12 @@
|
||||||
style="?attr/materialIconButtonStyle"
|
style="?attr/materialIconButtonStyle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:backgroundTint="@android:color/transparent"
|
||||||
app:icon="@drawable/ic_shortcut"
|
app:icon="@drawable/ic_shortcut"
|
||||||
app:iconSize="24dp"
|
app:iconSize="24dp"
|
||||||
app:iconTint="?attr/colorOnSurface"
|
app:iconTint="?attr/colorOnSurface"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,29 @@
|
||||||
android:clipChildren="false"
|
android:clipChildren="false"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/background_scrim"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/header"
|
android:id="@+id/header"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
@ -37,7 +60,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="21dp"
|
app:cardCornerRadius="21dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -61,7 +89,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="21dp"
|
app:cardCornerRadius="21dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -85,7 +118,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="21dp"
|
app:cardCornerRadius="21dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -117,7 +155,12 @@
|
||||||
style="@style/EdenCard"
|
style="@style/EdenCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:cardCornerRadius="24dp"
|
app:cardCornerRadius="24dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:padding="4dp"
|
android:padding="4dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
@ -246,4 +289,4 @@
|
||||||
app:rippleColor="#99FFFFFF"
|
app:rippleColor="#99FFFFFF"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
||||||
|
|
@ -1,38 +1,78 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/scroll_view_settings"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:scrollbars="vertical"
|
android:background="?attr/colorSurface">
|
||||||
android:fadeScrollbars="false"
|
|
||||||
android:clipToPadding="false"
|
|
||||||
android:background="?attr/colorSurface"
|
|
||||||
android:defaultFocusHighlightEnabled="false">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<ImageView
|
||||||
android:id="@+id/linear_layout_settings"
|
android:id="@+id/logo_image"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.12"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/appbar_home_settings"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:fitsSystemWindows="true"
|
||||||
android:paddingHorizontal="16dp">
|
android:touchscreenBlocksFocus="false"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageView
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/logo_image"
|
android:id="@+id/toolbar_home_settings"
|
||||||
android:layout_width="120dp"
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_height="120dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_marginTop="48dp"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:layout_marginBottom="24dp"
|
android:touchscreenBlocksFocus="false"
|
||||||
android:layout_gravity="center_horizontal"
|
app:navigationIcon="@drawable/ic_back"
|
||||||
android:src="@drawable/ic_yuzu" />
|
app:title="@string/preferences_settings" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
android:id="@+id/home_settings_list"
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/scroll_view_settings"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
|
android:clipToPadding="false"
|
||||||
|
android:defaultFocusHighlightEnabled="false"
|
||||||
|
android:fadeScrollbars="false"
|
||||||
|
android:scrollbars="vertical"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/appbar_home_settings">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/linear_layout_settings"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:clipToPadding="false"
|
android:orientation="vertical"
|
||||||
android:nestedScrollingEnabled="false" />
|
android:paddingHorizontal="16dp"
|
||||||
|
android:paddingTop="16dp">
|
||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/home_settings_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:clipToPadding="false"
|
||||||
|
android:nestedScrollingEnabled="false" />
|
||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,20 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_installables"
|
android:id="@+id/appbar_installables"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
|
|
@ -15,6 +27,7 @@
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_installables"
|
android:id="@+id/toolbar_installables"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false"
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,27 @@
|
||||||
android:background="?attr/colorSurface"
|
android:background="?attr/colorSurface"
|
||||||
android:fitsSystemWindows="true">
|
android:fitsSystemWindows="true">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar"
|
android:id="@+id/appbar"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true">
|
android:fitsSystemWindows="true">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_profiles"
|
android:id="@+id/toolbar_profiles"
|
||||||
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
app:title="@string/profile_manager"
|
app:title="@string/profile_manager"
|
||||||
|
|
|
||||||
|
|
@ -6,32 +6,32 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/background_logo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:alpha="0.1"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/eden_background" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/appbar_settings"
|
android:id="@+id/appbar_settings"
|
||||||
|
style="@style/Widget.Eden.TransparentTopAppBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:touchscreenBlocksFocus="false"
|
android:touchscreenBlocksFocus="false">
|
||||||
app:elevation="0dp">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar_settings_layout"
|
android:id="@+id/toolbar_settings"
|
||||||
style="?attr/collapsingToolbarLayoutMediumStyle"
|
style="@style/Widget.Eden.TransparentTopToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/collapsingToolbarLayoutMediumSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
android:touchscreenBlocksFocus="false"
|
||||||
app:contentScrim="?attr/colorSurface"
|
app:navigationIcon="@drawable/ic_back" />
|
||||||
app:scrimVisibleHeightTrigger="100dp">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
|
||||||
android:id="@+id/toolbar_settings"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?attr/actionBarSize"
|
|
||||||
android:touchscreenBlocksFocus="false"
|
|
||||||
app:layout_collapseMode="pin"
|
|
||||||
app:navigationIcon="@drawable/ic_back" />
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.google.android.material.button.MaterialButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/Widget.Material3.Button.IconButton.Filled"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="12dp" />
|
||||||
|
|
@ -11,8 +11,11 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
app:cardCornerRadius="12dp"
|
app:cardCornerRadius="12dp"
|
||||||
app:cardElevation="2dp"
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:foreground="?attr/selectableItemBackground"
|
android:foreground="?attr/selectableItemBackground"
|
||||||
|
|
@ -78,8 +81,11 @@
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
|
app:cardBackgroundColor="@android:color/transparent"
|
||||||
app:cardCornerRadius="10dp"
|
app:cardCornerRadius="10dp"
|
||||||
app:cardElevation="2dp"
|
app:cardElevation="0dp"
|
||||||
|
app:strokeColor="?attr/colorOutline"
|
||||||
|
app:strokeWidth="1dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:foreground="?attr/selectableItemBackgroundBorderless"
|
android:foreground="?attr/selectableItemBackgroundBorderless"
|
||||||
|
|
@ -100,7 +106,7 @@
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:background="@null"
|
android:background="@null"
|
||||||
android:src="@drawable/ic_delete"
|
android:src="@drawable/ic_delete"
|
||||||
app:tint="@color/eden_border_gradient_end"
|
app:tint="?attr/colorPrimary"
|
||||||
android:contentDescription="@string/delete" />
|
android:contentDescription="@string/delete" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
|
||||||
|
|
@ -383,6 +383,15 @@
|
||||||
<item>2</item>
|
<item>2</item>
|
||||||
</integer-array>
|
</integer-array>
|
||||||
|
|
||||||
|
<string-array name="homeBackgroundEntries">
|
||||||
|
<item>@string/background_none</item>
|
||||||
|
<item>@string/background_eden_default</item>
|
||||||
|
</string-array>
|
||||||
|
<integer-array name="homeBackgroundValues">
|
||||||
|
<item>0</item>
|
||||||
|
<item>1</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
<string-array name="appLanguageNames">
|
<string-array name="appLanguageNames">
|
||||||
<item>@string/app_language_system</item>
|
<item>@string/app_language_system</item>
|
||||||
<item>@string/app_language_english</item>
|
<item>@string/app_language_english</item>
|
||||||
|
|
|
||||||
|
|
@ -1160,6 +1160,12 @@
|
||||||
<string name="theme_material_you">Material You</string>
|
<string name="theme_material_you">Material You</string>
|
||||||
<string name="app_settings">App Settings</string>
|
<string name="app_settings">App Settings</string>
|
||||||
<string name="theme_and_color">Theme And Color</string>
|
<string name="theme_and_color">Theme And Color</string>
|
||||||
|
<string name="home_background">Home background</string>
|
||||||
|
<string name="home_background_description">Show a decorative background across app screens.</string>
|
||||||
|
<string name="home_background_opacity">Background opacity</string>
|
||||||
|
<string name="home_background_opacity_description">Adjust the background visibility strength.</string>
|
||||||
|
<string name="background_none">None</string>
|
||||||
|
<string name="background_eden_default">Eden (default)</string>
|
||||||
|
|
||||||
<!-- Theme Modes -->
|
<!-- Theme Modes -->
|
||||||
<string name="change_theme_mode">Change theme mode</string>
|
<string name="change_theme_mode">Change theme mode</string>
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,22 @@
|
||||||
<item name="android:textColor">@color/eden_primary</item>
|
<item name="android:textColor">@color/eden_primary</item>
|
||||||
<item name="rippleColor">@color/eden_glow_pink</item>
|
<item name="rippleColor">@color/eden_glow_pink</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="Widget.Eden.TransparentTopAppBarLayout" parent="">
|
||||||
|
<item name="android:background">@android:color/transparent</item>
|
||||||
|
<item name="android:elevation">0dp</item>
|
||||||
|
<item name="android:stateListAnimator">@null</item>
|
||||||
|
<item name="elevation">0dp</item>
|
||||||
|
<item name="liftOnScroll">false</item>
|
||||||
|
<item name="statusBarForeground">@android:color/transparent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="Widget.Eden.TransparentTopToolbar" parent="">
|
||||||
|
<item name="android:background">@android:color/transparent</item>
|
||||||
|
<item name="android:elevation">0dp</item>
|
||||||
|
<item name="backgroundTint">@android:color/transparent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="EdenPopupMenu" parent="Widget.Material3.PopupMenu">
|
<style name="EdenPopupMenu" parent="Widget.Material3.PopupMenu">
|
||||||
<item name="android:popupBackground">@drawable/popup_menu_background</item>
|
<item name="android:popupBackground">@drawable/popup_menu_background</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue