mirror of
https://github.com/azahar-emu/azahar
synced 2025-11-06 23:19:57 +01:00
android: Only use Boolean value type for SwitchSettings (#821)
* android: Only use `Boolean` value type for `SwitchSetting`s * SwitchSetting.kt: Updated license header
This commit is contained in:
parent
f771952e62
commit
f3c63abd30
@ -27,7 +27,25 @@ enum class BooleanSetting(
|
||||
OVERLAY_BACKGROUND("overlay_background", Settings.SECTION_LAYOUT, false),
|
||||
DELAY_START_LLE_MODULES("delay_start_for_lle_modules", Settings.SECTION_DEBUG, true),
|
||||
DETERMINISTIC_ASYNC_OPERATIONS("deterministic_async_operations", Settings.SECTION_DEBUG, false),
|
||||
REQUIRED_ONLINE_LLE_MODULES("enable_required_online_lle_modules", Settings.SECTION_SYSTEM, false);
|
||||
REQUIRED_ONLINE_LLE_MODULES("enable_required_online_lle_modules", Settings.SECTION_SYSTEM, false),
|
||||
LLE_APPLETS("lle_applets", Settings.SECTION_SYSTEM, false),
|
||||
NEW_3DS("is_new_3ds", Settings.SECTION_SYSTEM, true),
|
||||
LINEAR_FILTERING("filter_mode", Settings.SECTION_RENDERER, true),
|
||||
SHADERS_ACCURATE_MUL("shaders_accurate_mul", Settings.SECTION_RENDERER, false),
|
||||
DISK_SHADER_CACHE("use_disk_shader_cache", Settings.SECTION_RENDERER, true),
|
||||
DUMP_TEXTURES("dump_textures", Settings.SECTION_UTILITY, false),
|
||||
CUSTOM_TEXTURES("custom_textures", Settings.SECTION_UTILITY, false),
|
||||
ASYNC_CUSTOM_LOADING("async_custom_loading", Settings.SECTION_UTILITY, true),
|
||||
PRELOAD_TEXTURES("preload_textures", Settings.SECTION_UTILITY, false),
|
||||
ENABLE_AUDIO_STRETCHING("enable_audio_stretching", Settings.SECTION_AUDIO, true),
|
||||
ENABLE_REALTIME_AUDIO("enable_realtime_audio", Settings.SECTION_AUDIO, false),
|
||||
CPU_JIT("use_cpu_jit", Settings.SECTION_CORE, true),
|
||||
HW_SHADER("use_hw_shader", Settings.SECTION_RENDERER, true),
|
||||
VSYNC("use_vsync_new", Settings.SECTION_RENDERER, true),
|
||||
USE_FRAME_LIMIT("use_frame_limit", Settings.SECTION_RENDERER, true),
|
||||
DEBUG_RENDERER("renderer_debug", Settings.SECTION_DEBUG, false),
|
||||
DISABLE_RIGHT_EYE_RENDER("disable_right_eye_render", Settings.SECTION_RENDERER, false),
|
||||
USE_ARTIC_BASE_CONTROLLER("use_artic_base_controller", Settings.SECTION_CONTROLS, false);
|
||||
|
||||
override var boolean: Boolean = defaultValue
|
||||
|
||||
@ -52,6 +70,14 @@ enum class BooleanSetting(
|
||||
DELAY_START_LLE_MODULES,
|
||||
DETERMINISTIC_ASYNC_OPERATIONS,
|
||||
REQUIRED_ONLINE_LLE_MODULES,
|
||||
NEW_3DS,
|
||||
LLE_APPLETS,
|
||||
VSYNC,
|
||||
DEBUG_RENDERER,
|
||||
CPU_JIT,
|
||||
ASYNC_CUSTOM_LOADING,
|
||||
SHADERS_ACCURATE_MUL,
|
||||
USE_ARTIC_BASE_CONTROLLER
|
||||
)
|
||||
|
||||
fun from(key: String): BooleanSetting? =
|
||||
|
||||
@ -44,29 +44,12 @@ enum class IntSetting(
|
||||
PORTRAIT_BOTTOM_WIDTH("custom_portrait_bottom_width",Settings.SECTION_LAYOUT,640),
|
||||
PORTRAIT_BOTTOM_HEIGHT("custom_portrait_bottom_height",Settings.SECTION_LAYOUT,480),
|
||||
AUDIO_INPUT_TYPE("input_type", Settings.SECTION_AUDIO, 0),
|
||||
NEW_3DS("is_new_3ds", Settings.SECTION_SYSTEM, 1),
|
||||
LLE_APPLETS("lle_applets", Settings.SECTION_SYSTEM, 1),
|
||||
CPU_CLOCK_SPEED("cpu_clock_percentage", Settings.SECTION_CORE, 100),
|
||||
LINEAR_FILTERING("filter_mode", Settings.SECTION_RENDERER, 1),
|
||||
SHADERS_ACCURATE_MUL("shaders_accurate_mul", Settings.SECTION_RENDERER, 0),
|
||||
DISK_SHADER_CACHE("use_disk_shader_cache", Settings.SECTION_RENDERER, 1),
|
||||
DUMP_TEXTURES("dump_textures", Settings.SECTION_UTILITY, 0),
|
||||
CUSTOM_TEXTURES("custom_textures", Settings.SECTION_UTILITY, 0),
|
||||
ASYNC_CUSTOM_LOADING("async_custom_loading", Settings.SECTION_UTILITY, 1),
|
||||
PRELOAD_TEXTURES("preload_textures", Settings.SECTION_UTILITY, 0),
|
||||
ENABLE_AUDIO_STRETCHING("enable_audio_stretching", Settings.SECTION_AUDIO, 1),
|
||||
ENABLE_REALTIME_AUDIO("enable_realtime_audio", Settings.SECTION_AUDIO, 0),
|
||||
CPU_JIT("use_cpu_jit", Settings.SECTION_CORE, 1),
|
||||
HW_SHADER("use_hw_shader", Settings.SECTION_RENDERER, 1),
|
||||
VSYNC("use_vsync_new", Settings.SECTION_RENDERER, 1),
|
||||
DEBUG_RENDERER("renderer_debug", Settings.SECTION_DEBUG, 0),
|
||||
TEXTURE_FILTER("texture_filter", Settings.SECTION_RENDERER, 0),
|
||||
TEXTURE_SAMPLING("texture_sampling", Settings.SECTION_RENDERER, 0),
|
||||
USE_FRAME_LIMIT("use_frame_limit", Settings.SECTION_RENDERER, 1),
|
||||
DELAY_RENDER_THREAD_US("delay_game_render_thread_us", Settings.SECTION_RENDERER, 0),
|
||||
USE_ARTIC_BASE_CONTROLLER("use_artic_base_controller", Settings.SECTION_CONTROLS, 0),
|
||||
ORIENTATION_OPTION("screen_orientation", Settings.SECTION_LAYOUT, 2),
|
||||
DISABLE_RIGHT_EYE_RENDER("disable_right_eye_render", Settings.SECTION_RENDERER, 0),
|
||||
TURBO_LIMIT("turbo_limit", Settings.SECTION_CORE, 200),
|
||||
PERFORMANCE_OVERLAY_POSITION("performance_overlay_position", Settings.SECTION_LAYOUT, 0),
|
||||
ASPECT_RATIO("aspect_ratio", Settings.SECTION_LAYOUT, 0);
|
||||
@ -90,16 +73,8 @@ enum class IntSetting(
|
||||
private val NOT_RUNTIME_EDITABLE = listOf(
|
||||
EMULATED_REGION,
|
||||
INIT_CLOCK,
|
||||
NEW_3DS,
|
||||
LLE_APPLETS,
|
||||
GRAPHICS_API,
|
||||
VSYNC,
|
||||
DEBUG_RENDERER,
|
||||
CPU_JIT,
|
||||
ASYNC_CUSTOM_LOADING,
|
||||
AUDIO_INPUT_TYPE,
|
||||
USE_ARTIC_BASE_CONTROLLER,
|
||||
SHADERS_ACCURATE_MUL
|
||||
)
|
||||
|
||||
fun from(key: String): IntSetting? = IntSetting.values().firstOrNull { it.key == key }
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2023 Citra Emulator Project
|
||||
// Copyright Citra Emulator Project / Azahar Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
@ -9,11 +9,11 @@ import org.citra.citra_emu.features.settings.model.AbstractIntSetting
|
||||
import org.citra.citra_emu.features.settings.model.AbstractSetting
|
||||
|
||||
class SwitchSetting(
|
||||
setting: AbstractSetting,
|
||||
setting: AbstractBooleanSetting,
|
||||
titleId: Int,
|
||||
descriptionId: Int,
|
||||
val key: String? = null,
|
||||
val defaultValue: Any? = null,
|
||||
val defaultValue: Boolean = false,
|
||||
override var isEnabled: Boolean = true
|
||||
) : SettingsItem(setting, titleId, descriptionId) {
|
||||
override val type = TYPE_SWITCH
|
||||
@ -21,42 +21,19 @@ class SwitchSetting(
|
||||
val isChecked: Boolean
|
||||
get() {
|
||||
if (setting == null) {
|
||||
return defaultValue as Boolean
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
// Try integer setting
|
||||
try {
|
||||
val setting = setting as AbstractIntSetting
|
||||
return setting.int == 1
|
||||
} catch (_: ClassCastException) {
|
||||
}
|
||||
|
||||
// Try boolean setting
|
||||
try {
|
||||
val setting = setting as AbstractBooleanSetting
|
||||
return setting.boolean
|
||||
} catch (_: ClassCastException) {
|
||||
}
|
||||
return defaultValue as Boolean
|
||||
val setting = setting as AbstractBooleanSetting
|
||||
return setting.boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Write a value to the backing boolean. If that boolean was previously null,
|
||||
* initializes a new one and returns it, so it can be added to the Hashmap.
|
||||
* Write a value to the backing boolean.
|
||||
*
|
||||
* @param checked Pretty self explanatory.
|
||||
* @return the existing setting with the new value applied.
|
||||
*/
|
||||
fun setChecked(checked: Boolean): AbstractSetting {
|
||||
// Try integer setting
|
||||
try {
|
||||
val setting = setting as AbstractIntSetting
|
||||
setting.int = if (checked) 1 else 0
|
||||
return setting
|
||||
} catch (_: ClassCastException) {
|
||||
}
|
||||
|
||||
// Try boolean setting
|
||||
fun setChecked(checked: Boolean): AbstractBooleanSetting {
|
||||
val setting = setting as AbstractBooleanSetting
|
||||
setting.boolean = checked
|
||||
return setting
|
||||
|
||||
@ -220,11 +220,11 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
sl.apply {
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.USE_FRAME_LIMIT,
|
||||
BooleanSetting.USE_FRAME_LIMIT,
|
||||
R.string.frame_limit_enable,
|
||||
R.string.frame_limit_enable_description,
|
||||
IntSetting.USE_FRAME_LIMIT.key,
|
||||
IntSetting.USE_FRAME_LIMIT.defaultValue
|
||||
BooleanSetting.USE_FRAME_LIMIT.key,
|
||||
BooleanSetting.USE_FRAME_LIMIT.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
@ -295,20 +295,20 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
add(HeaderSetting(R.string.emulation_settings))
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.NEW_3DS,
|
||||
BooleanSetting.NEW_3DS,
|
||||
R.string.new_3ds,
|
||||
0,
|
||||
IntSetting.NEW_3DS.key,
|
||||
IntSetting.NEW_3DS.defaultValue
|
||||
BooleanSetting.NEW_3DS.key,
|
||||
BooleanSetting.NEW_3DS.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.LLE_APPLETS,
|
||||
BooleanSetting.LLE_APPLETS,
|
||||
R.string.lle_applets,
|
||||
0,
|
||||
IntSetting.LLE_APPLETS.key,
|
||||
IntSetting.LLE_APPLETS.defaultValue
|
||||
BooleanSetting.LLE_APPLETS.key,
|
||||
BooleanSetting.LLE_APPLETS.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
@ -788,11 +788,11 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
add(HeaderSetting(R.string.miscellaneous))
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.USE_ARTIC_BASE_CONTROLLER,
|
||||
BooleanSetting.USE_ARTIC_BASE_CONTROLLER,
|
||||
R.string.use_artic_base_controller,
|
||||
R.string.use_artic_base_controller_description,
|
||||
IntSetting.USE_ARTIC_BASE_CONTROLLER.key,
|
||||
IntSetting.USE_ARTIC_BASE_CONTROLLER.defaultValue
|
||||
BooleanSetting.USE_ARTIC_BASE_CONTROLLER.key,
|
||||
BooleanSetting.USE_ARTIC_BASE_CONTROLLER.defaultValue
|
||||
)
|
||||
)
|
||||
}
|
||||
@ -861,29 +861,29 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.LINEAR_FILTERING,
|
||||
BooleanSetting.LINEAR_FILTERING,
|
||||
R.string.linear_filtering,
|
||||
R.string.linear_filtering_description,
|
||||
IntSetting.LINEAR_FILTERING.key,
|
||||
IntSetting.LINEAR_FILTERING.defaultValue
|
||||
BooleanSetting.LINEAR_FILTERING.key,
|
||||
BooleanSetting.LINEAR_FILTERING.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.SHADERS_ACCURATE_MUL,
|
||||
BooleanSetting.ASYNC_SHADERS,
|
||||
R.string.shaders_accurate_mul,
|
||||
R.string.shaders_accurate_mul_description,
|
||||
IntSetting.SHADERS_ACCURATE_MUL.key,
|
||||
IntSetting.SHADERS_ACCURATE_MUL.defaultValue
|
||||
BooleanSetting.SHADERS_ACCURATE_MUL.key,
|
||||
BooleanSetting.SHADERS_ACCURATE_MUL.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.DISK_SHADER_CACHE,
|
||||
BooleanSetting.DISK_SHADER_CACHE,
|
||||
R.string.use_disk_shader_cache,
|
||||
R.string.use_disk_shader_cache_description,
|
||||
IntSetting.DISK_SHADER_CACHE.key,
|
||||
IntSetting.DISK_SHADER_CACHE.defaultValue
|
||||
BooleanSetting.DISK_SHADER_CACHE.key,
|
||||
BooleanSetting.DISK_SHADER_CACHE.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
@ -936,11 +936,11 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.DISABLE_RIGHT_EYE_RENDER,
|
||||
BooleanSetting.DISABLE_RIGHT_EYE_RENDER,
|
||||
R.string.disable_right_eye_render,
|
||||
R.string.disable_right_eye_render_description,
|
||||
IntSetting.DISABLE_RIGHT_EYE_RENDER.key,
|
||||
IntSetting.DISABLE_RIGHT_EYE_RENDER.defaultValue
|
||||
BooleanSetting.DISABLE_RIGHT_EYE_RENDER.key,
|
||||
BooleanSetting.DISABLE_RIGHT_EYE_RENDER.defaultValue
|
||||
)
|
||||
)
|
||||
|
||||
@ -985,29 +985,29 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
add(HeaderSetting(R.string.utility))
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.DUMP_TEXTURES,
|
||||
BooleanSetting.DUMP_TEXTURES,
|
||||
R.string.dump_textures,
|
||||
R.string.dump_textures_description,
|
||||
IntSetting.DUMP_TEXTURES.key,
|
||||
IntSetting.DUMP_TEXTURES.defaultValue
|
||||
BooleanSetting.DUMP_TEXTURES.key,
|
||||
BooleanSetting.DUMP_TEXTURES.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.CUSTOM_TEXTURES,
|
||||
BooleanSetting.CUSTOM_TEXTURES,
|
||||
R.string.custom_textures,
|
||||
R.string.custom_textures_description,
|
||||
IntSetting.CUSTOM_TEXTURES.key,
|
||||
IntSetting.CUSTOM_TEXTURES.defaultValue
|
||||
BooleanSetting.CUSTOM_TEXTURES.key,
|
||||
BooleanSetting.CUSTOM_TEXTURES.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.ASYNC_CUSTOM_LOADING,
|
||||
BooleanSetting.ASYNC_CUSTOM_LOADING,
|
||||
R.string.async_custom_loading,
|
||||
R.string.async_custom_loading_description,
|
||||
IntSetting.ASYNC_CUSTOM_LOADING.key,
|
||||
IntSetting.ASYNC_CUSTOM_LOADING.defaultValue
|
||||
BooleanSetting.ASYNC_CUSTOM_LOADING.key,
|
||||
BooleanSetting.ASYNC_CUSTOM_LOADING.defaultValue
|
||||
)
|
||||
)
|
||||
|
||||
@ -1494,20 +1494,20 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.ENABLE_AUDIO_STRETCHING,
|
||||
BooleanSetting.ENABLE_AUDIO_STRETCHING,
|
||||
R.string.audio_stretch,
|
||||
R.string.audio_stretch_description,
|
||||
IntSetting.ENABLE_AUDIO_STRETCHING.key,
|
||||
IntSetting.ENABLE_AUDIO_STRETCHING.defaultValue
|
||||
BooleanSetting.ENABLE_AUDIO_STRETCHING.key,
|
||||
BooleanSetting.ENABLE_AUDIO_STRETCHING.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.ENABLE_REALTIME_AUDIO,
|
||||
BooleanSetting.ENABLE_REALTIME_AUDIO,
|
||||
R.string.realtime_audio,
|
||||
R.string.realtime_audio_description,
|
||||
IntSetting.ENABLE_REALTIME_AUDIO.key,
|
||||
IntSetting.ENABLE_REALTIME_AUDIO.defaultValue
|
||||
BooleanSetting.ENABLE_REALTIME_AUDIO.key,
|
||||
BooleanSetting.ENABLE_REALTIME_AUDIO.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
@ -1562,38 +1562,38 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.CPU_JIT,
|
||||
BooleanSetting.CPU_JIT,
|
||||
R.string.cpu_jit,
|
||||
R.string.cpu_jit_description,
|
||||
IntSetting.CPU_JIT.key,
|
||||
IntSetting.CPU_JIT.defaultValue
|
||||
BooleanSetting.CPU_JIT.key,
|
||||
BooleanSetting.CPU_JIT.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.HW_SHADER,
|
||||
BooleanSetting.HW_SHADER,
|
||||
R.string.hw_shaders,
|
||||
R.string.hw_shaders_description,
|
||||
IntSetting.HW_SHADER.key,
|
||||
IntSetting.HW_SHADER.defaultValue
|
||||
BooleanSetting.HW_SHADER.key,
|
||||
BooleanSetting.HW_SHADER.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.VSYNC,
|
||||
BooleanSetting.VSYNC,
|
||||
R.string.vsync,
|
||||
R.string.vsync_description,
|
||||
IntSetting.VSYNC.key,
|
||||
IntSetting.VSYNC.defaultValue
|
||||
BooleanSetting.VSYNC.key,
|
||||
BooleanSetting.VSYNC.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
IntSetting.DEBUG_RENDERER,
|
||||
BooleanSetting.DEBUG_RENDERER,
|
||||
R.string.renderer_debug,
|
||||
R.string.renderer_debug_description,
|
||||
IntSetting.DEBUG_RENDERER.key,
|
||||
IntSetting.DEBUG_RENDERER.defaultValue
|
||||
BooleanSetting.DEBUG_RENDERER.key,
|
||||
BooleanSetting.DEBUG_RENDERER.defaultValue
|
||||
)
|
||||
)
|
||||
add(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user