From 1e34cde400cde06e031f2a9586fc47d19ad8e061 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 1 Jun 2020 16:46:57 -0400 Subject: [PATCH] android: CheckBoxSetting: Fix a ClassCastException exception with isChecked. --- .../settings/model/view/CheckBoxSetting.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java index 793346728..baf40709f 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java @@ -2,6 +2,7 @@ package org.citra.citra_emu.features.settings.model.view; import org.citra.citra_emu.CitraApplication; import org.citra.citra_emu.R; +import org.citra.citra_emu.features.settings.model.BooleanSetting; import org.citra.citra_emu.features.settings.model.IntSetting; import org.citra.citra_emu.features.settings.model.Setting; import org.citra.citra_emu.features.settings.ui.SettingsFragmentView; @@ -31,8 +32,21 @@ public final class CheckBoxSetting extends SettingsItem { return mDefaultValue; } - IntSetting setting = (IntSetting) getSetting(); - return setting.getValue() == 1; + // Try integer setting + try { + IntSetting setting = (IntSetting) getSetting(); + return setting.getValue() == 1; + } catch (ClassCastException exception) { + } + + // Try boolean setting + try { + BooleanSetting setting = (BooleanSetting) getSetting(); + return setting.getValue() == true; + } catch (ClassCastException exception) { + } + + return mDefaultValue; } /**