summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-04-27 17:13:57 +0200
committerGitHub <noreply@github.com>2020-04-27 17:13:57 +0200
commitd040f91c3ac9fe03614ec96beac86066749e5d86 (patch)
tree06dfebaa3833c8697668b4f9f43b3d8b101ecfed /Source/Android/app/src/main/java
parente6351e1d4bc928194a694bd23c894b6fad27ea9d (diff)
parent4e0fc6cfe59ac2f2a8ca189da8d9d50699013af5 (diff)
Merge pull request #8709 from Ebola16/AS
Android: Split General settings
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java145
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java9
6 files changed, 92 insertions, 73 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java
index a8d03d0e76..7492d30ed7 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java
@@ -7,10 +7,9 @@ public final class SubmenuSetting extends SettingsItem
{
private MenuTag mMenuKey;
- public SubmenuSetting(String key, Setting setting, int titleId, int descriptionId,
- MenuTag menuKey)
+ public SubmenuSetting(String key, Setting setting, int titleId, MenuTag menuKey)
{
- super(key, null, setting, titleId, descriptionId);
+ super(key, null, setting, titleId, 0);
mMenuKey = menuKey;
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java
index ef7aca9f04..7abb91b425 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java
@@ -5,9 +5,11 @@ public enum MenuTag
CONFIG("config"),
CONFIG_GENERAL("config_general"),
CONFIG_INTERFACE("config_interface"),
+ CONFIG_AUDIO("audio"),
CONFIG_PATHS("config_paths"),
CONFIG_GAME_CUBE("config_gamecube"),
CONFIG_WII("config_wii"),
+ CONFIG_ADVANCED("config_advanced"),
WIIMOTE("wiimote"),
WIIMOTE_EXTENSION("wiimote_extension"),
GCPAD_TYPE("gc_pad_type"),
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
index 001bba3b5e..2c2e009a44 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
@@ -105,7 +105,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
return new SliderViewHolder(view, this);
case SettingsItem.TYPE_SUBMENU:
- view = inflater.inflate(R.layout.list_item_setting, parent, false);
+ view = inflater.inflate(R.layout.list_item_setting_submenu, parent, false);
return new SubmenuViewHolder(view, this);
case SettingsItem.TYPE_INPUT_BINDING:
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
index 0fdafbb890..0828ff39c3 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
@@ -38,9 +38,11 @@ public final class SettingsFragment extends Fragment implements SettingsFragment
titles.put(MenuTag.CONFIG, R.string.preferences_settings);
titles.put(MenuTag.CONFIG_GENERAL, R.string.general_submenu);
titles.put(MenuTag.CONFIG_INTERFACE, R.string.interface_submenu);
+ titles.put(MenuTag.CONFIG_AUDIO, R.string.audio_submenu);
titles.put(MenuTag.CONFIG_PATHS, R.string.paths_submenu);
titles.put(MenuTag.CONFIG_GAME_CUBE, R.string.gamecube_submenu);
titles.put(MenuTag.CONFIG_WII, R.string.wii_submenu);
+ titles.put(MenuTag.CONFIG_ADVANCED, R.string.advanced_submenu);
titles.put(MenuTag.WIIMOTE, R.string.grid_menu_wiimote_settings);
titles.put(MenuTag.WIIMOTE_EXTENSION, R.string.wiimote_extensions);
titles.put(MenuTag.GCPAD_TYPE, R.string.grid_menu_gcpad_settings);
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
index 4c1a377376..589a87fbab 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
@@ -136,6 +136,10 @@ public final class SettingsFragmentPresenter
addInterfaceSettings(sl);
break;
+ case CONFIG_AUDIO:
+ addAudioSettings(sl);
+ break;
+
case CONFIG_PATHS:
addPathsSettings(sl);
break;
@@ -148,6 +152,10 @@ public final class SettingsFragmentPresenter
addWiiSettings(sl);
break;
+ case CONFIG_ADVANCED:
+ addAdvancedSettings(sl);
+ break;
+
case GRAPHICS:
addGraphicsSettings(sl);
break;
@@ -208,92 +216,49 @@ public final class SettingsFragmentPresenter
private void addConfigSettings(ArrayList<SettingsItem> sl)
{
- sl.add(new SubmenuSetting(null, null, R.string.general_submenu, 0, MenuTag.CONFIG_GENERAL));
- sl.add(new SubmenuSetting(null, null, R.string.interface_submenu, 0, MenuTag.CONFIG_INTERFACE));
- sl.add(new SubmenuSetting(null, null, R.string.paths_submenu, 0, MenuTag.CONFIG_PATHS));
-
- sl.add(new SubmenuSetting(null, null, R.string.gamecube_submenu, 0, MenuTag.CONFIG_GAME_CUBE));
- sl.add(new SubmenuSetting(null, null, R.string.wii_submenu, 0, MenuTag.CONFIG_WII));
- sl.add(new SubmenuSetting(null, null, R.string.debug_submenu, 0, MenuTag.DEBUG));
+ sl.add(new SubmenuSetting(null, null, R.string.general_submenu, MenuTag.CONFIG_GENERAL));
+ sl.add(new SubmenuSetting(null, null, R.string.interface_submenu, MenuTag.CONFIG_INTERFACE));
+ sl.add(new SubmenuSetting(null, null, R.string.audio_submenu, MenuTag.CONFIG_AUDIO));
+ sl.add(new SubmenuSetting(null, null, R.string.paths_submenu, MenuTag.CONFIG_PATHS));
+ sl.add(new SubmenuSetting(null, null, R.string.gamecube_submenu, MenuTag.CONFIG_GAME_CUBE));
+ sl.add(new SubmenuSetting(null, null, R.string.wii_submenu, MenuTag.CONFIG_WII));
+ sl.add(new SubmenuSetting(null, null, R.string.advanced_submenu, MenuTag.CONFIG_ADVANCED));
+ sl.add(new SubmenuSetting(null, null, R.string.debug_submenu, MenuTag.DEBUG));
sl.add(new HeaderSetting(null, null, R.string.gametdb_thanks, 0));
}
private void addGeneralSettings(ArrayList<SettingsItem> sl)
{
- Setting cpuCore = null;
Setting dualCore = null;
- Setting overclockEnable = null;
- Setting overclock = null;
- Setting speedLimit = null;
- Setting audioStretch = null;
- Setting audioVolume = null;
Setting overrideRegionSettings = null;
Setting autoDiscChange = null;
+ Setting speedLimit = null;
Setting analytics = null;
- Setting enableSaveState;
+ Setting enableSaveState = null;
SettingSection coreSection = mSettings.getSection(Settings.SECTION_INI_CORE);
- SettingSection dspSection = mSettings.getSection(Settings.SECTION_INI_DSP);
SettingSection analyticsSection = mSettings.getSection(Settings.SECTION_ANALYTICS);
- cpuCore = coreSection.getSetting(SettingsFile.KEY_CPU_CORE);
dualCore = coreSection.getSetting(SettingsFile.KEY_DUAL_CORE);
- overclockEnable = coreSection.getSetting(SettingsFile.KEY_OVERCLOCK_ENABLE);
- overclock = coreSection.getSetting(SettingsFile.KEY_OVERCLOCK_PERCENT);
- speedLimit = coreSection.getSetting(SettingsFile.KEY_SPEED_LIMIT);
- audioStretch = coreSection.getSetting(SettingsFile.KEY_AUDIO_STRETCH);
- audioVolume = dspSection.getSetting(SettingsFile.KEY_AUDIO_VOLUME);
overrideRegionSettings = coreSection.getSetting(SettingsFile.KEY_OVERRIDE_REGION_SETTINGS);
autoDiscChange = coreSection.getSetting(SettingsFile.KEY_AUTO_DISC_CHANGE);
+ speedLimit = coreSection.getSetting(SettingsFile.KEY_SPEED_LIMIT);
analytics = analyticsSection.getSetting(SettingsFile.KEY_ANALYTICS_ENABLED);
enableSaveState = coreSection.getSetting(SettingsFile.KEY_ENABLE_SAVE_STATES);
- // TODO: Having different emuCoresEntries/emuCoresValues for each architecture is annoying.
- // The proper solution would be to have one emuCoresEntries and one emuCoresValues
- // and exclude the values that aren't present in PowerPC::AvailableCPUCores().
- int defaultCpuCore = NativeLibrary.DefaultCPUCore();
- int emuCoresEntries;
- int emuCoresValues;
- if (defaultCpuCore == 1) // x86-64
- {
- emuCoresEntries = R.array.emuCoresEntriesX86_64;
- emuCoresValues = R.array.emuCoresValuesX86_64;
- }
- else if (defaultCpuCore == 4) // AArch64
- {
- emuCoresEntries = R.array.emuCoresEntriesARM64;
- emuCoresValues = R.array.emuCoresValuesARM64;
- }
- else
- {
- emuCoresEntries = R.array.emuCoresEntriesGeneric;
- emuCoresValues = R.array.emuCoresValuesGeneric;
- }
- sl.add(new SingleChoiceSetting(SettingsFile.KEY_CPU_CORE, Settings.SECTION_INI_CORE,
- R.string.cpu_core, 0, emuCoresEntries, emuCoresValues, defaultCpuCore, cpuCore));
sl.add(new CheckBoxSetting(SettingsFile.KEY_DUAL_CORE, Settings.SECTION_INI_CORE,
R.string.dual_core, R.string.dual_core_description, true, dualCore));
- sl.add(new CheckBoxSetting(SettingsFile.KEY_OVERCLOCK_ENABLE, Settings.SECTION_INI_CORE,
- R.string.overclock_enable, R.string.overclock_enable_description, false,
- overclockEnable));
- sl.add(new SliderSetting(SettingsFile.KEY_OVERCLOCK_PERCENT, Settings.SECTION_INI_CORE,
- R.string.overclock_title, R.string.overclock_title_description, 400, "%", 100,
- overclock));
- sl.add(new SliderSetting(SettingsFile.KEY_SPEED_LIMIT, Settings.SECTION_INI_CORE,
- R.string.speed_limit, 0, 200, "%", 100, speedLimit));
- sl.add(new CheckBoxSetting(SettingsFile.KEY_AUDIO_STRETCH, Settings.SECTION_INI_CORE,
- R.string.audio_stretch, R.string.audio_stretch_description, false, audioStretch));
- sl.add(new SliderSetting(SettingsFile.KEY_AUDIO_VOLUME, Settings.SECTION_INI_DSP,
- R.string.audio_volume, 0, 100, "%", 100, audioVolume));
sl.add(new CheckBoxSetting(SettingsFile.KEY_OVERRIDE_REGION_SETTINGS,
Settings.SECTION_INI_CORE, R.string.override_region_settings, 0, false,
overrideRegionSettings));
sl.add(new CheckBoxSetting(SettingsFile.KEY_AUTO_DISC_CHANGE, Settings.SECTION_INI_CORE,
R.string.auto_disc_change, 0, false, autoDiscChange));
+ sl.add(new SliderSetting(SettingsFile.KEY_SPEED_LIMIT, Settings.SECTION_INI_CORE,
+ R.string.speed_limit, 0, 200, "%", 100, speedLimit));
+ sl.add(new CheckBoxSetting(SettingsFile.KEY_ANALYTICS_ENABLED, Settings.SECTION_ANALYTICS,
+ R.string.analytics, 0, false, analytics));
sl.add(new CheckBoxSetting(SettingsFile.KEY_ENABLE_SAVE_STATES, Settings.SECTION_INI_CORE,
R.string.enable_save_states, R.string.enable_save_states_description, false,
enableSaveState));
- sl.add(new CheckBoxSetting(SettingsFile.KEY_ANALYTICS_ENABLED, Settings.SECTION_ANALYTICS,
- R.string.analytics, 0, false, analytics));
}
private void addInterfaceSettings(ArrayList<SettingsItem> sl)
@@ -313,6 +278,22 @@ public final class SettingsFragmentPresenter
onScreenDisplayMessages));
}
+ private void addAudioSettings(ArrayList<SettingsItem> sl)
+ {
+ Setting audioStretch = null;
+ Setting audioVolume = null;
+
+ SettingSection coreSection = mSettings.getSection(Settings.SECTION_INI_CORE);
+ SettingSection dspSection = mSettings.getSection(Settings.SECTION_INI_DSP);
+ audioStretch = coreSection.getSetting(SettingsFile.KEY_AUDIO_STRETCH);
+ audioVolume = dspSection.getSetting(SettingsFile.KEY_AUDIO_VOLUME);
+
+ sl.add(new CheckBoxSetting(SettingsFile.KEY_AUDIO_STRETCH, Settings.SECTION_INI_CORE,
+ R.string.audio_stretch, R.string.audio_stretch_description, false, audioStretch));
+ sl.add(new SliderSetting(SettingsFile.KEY_AUDIO_VOLUME, Settings.SECTION_INI_DSP,
+ R.string.audio_volume, 0, 100, "%", 100, audioVolume));
+ }
+
private void addPathsSettings(ArrayList<SettingsItem> sl)
{
Setting defaultISO = null;
@@ -396,6 +377,48 @@ public final class SettingsFragmentPresenter
R.string.wiimote_speaker, R.string.wiimote_speaker_description, true, wiimoteSpeaker));
}
+ private void addAdvancedSettings(ArrayList<SettingsItem> sl)
+ {
+ Setting cpuCore = null;
+ Setting overclockEnable = null;
+ Setting overclock = null;
+
+ SettingSection coreSection = mSettings.getSection(Settings.SECTION_INI_CORE);
+ cpuCore = coreSection.getSetting(SettingsFile.KEY_CPU_CORE);
+ overclockEnable = coreSection.getSetting(SettingsFile.KEY_OVERCLOCK_ENABLE);
+ overclock = coreSection.getSetting(SettingsFile.KEY_OVERCLOCK_PERCENT);
+
+ // TODO: Having different emuCoresEntries/emuCoresValues for each architecture is annoying.
+ // The proper solution would be to have one emuCoresEntries and one emuCoresValues
+ // and exclude the values that aren't present in PowerPC::AvailableCPUCores().
+ int defaultCpuCore = NativeLibrary.DefaultCPUCore();
+ int emuCoresEntries;
+ int emuCoresValues;
+ if (defaultCpuCore == 1) // x86-64
+ {
+ emuCoresEntries = R.array.emuCoresEntriesX86_64;
+ emuCoresValues = R.array.emuCoresValuesX86_64;
+ }
+ else if (defaultCpuCore == 4) // AArch64
+ {
+ emuCoresEntries = R.array.emuCoresEntriesARM64;
+ emuCoresValues = R.array.emuCoresValuesARM64;
+ }
+ else
+ {
+ emuCoresEntries = R.array.emuCoresEntriesGeneric;
+ emuCoresValues = R.array.emuCoresValuesGeneric;
+ }
+ sl.add(new SingleChoiceSetting(SettingsFile.KEY_CPU_CORE, Settings.SECTION_INI_CORE,
+ R.string.cpu_core, 0, emuCoresEntries, emuCoresValues, defaultCpuCore, cpuCore));
+ sl.add(new CheckBoxSetting(SettingsFile.KEY_OVERCLOCK_ENABLE, Settings.SECTION_INI_CORE,
+ R.string.overclock_enable, R.string.overclock_enable_description, false,
+ overclockEnable));
+ sl.add(new SliderSetting(SettingsFile.KEY_OVERCLOCK_PERCENT, Settings.SECTION_INI_CORE,
+ R.string.overclock_title, R.string.overclock_title_description, 400, "%", 100,
+ overclock));
+ }
+
private void addGcPadSettings(ArrayList<SettingsItem> sl)
{
for (int i = 0; i < 4; i++)
@@ -480,8 +503,8 @@ public final class SettingsFragmentPresenter
R.array.aspectRatioValues, 0, aspectRatio));
sl.add(new HeaderSetting(null, null, R.string.graphics_enhancements_and_hacks, 0));
- sl.add(new SubmenuSetting(null, null, R.string.enhancements_submenu, 0, MenuTag.ENHANCEMENTS));
- sl.add(new SubmenuSetting(null, null, R.string.hacks_submenu, 0, MenuTag.HACKS));
+ sl.add(new SubmenuSetting(null, null, R.string.enhancements_submenu, MenuTag.ENHANCEMENTS));
+ sl.add(new SubmenuSetting(null, null, R.string.hacks_submenu, MenuTag.HACKS));
}
private void addEnhanceSettings(ArrayList<SettingsItem> sl)
@@ -570,7 +593,7 @@ public final class SettingsFragmentPresenter
helper.SupportsExtension("GL_ANDROID_extension_pack_es31a")))
{
sl.add(new SubmenuSetting(SettingsFile.KEY_STEREO_MODE, null, R.string.stereoscopy_submenu,
- R.string.stereoscopy_submenu_description, MenuTag.STEREOSCOPY));
+ MenuTag.STEREOSCOPY));
}
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java
index 5edfb3f50a..746e2e6900 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java
@@ -13,7 +13,6 @@ public final class SubmenuViewHolder extends SettingViewHolder
private SubmenuSetting mItem;
private TextView mTextSettingName;
- private TextView mTextSettingDescription;
public SubmenuViewHolder(View itemView, SettingsAdapter adapter)
{
@@ -24,7 +23,6 @@ public final class SubmenuViewHolder extends SettingViewHolder
protected void findViews(View root)
{
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name);
- mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description);
}
@Override
@@ -33,11 +31,6 @@ public final class SubmenuViewHolder extends SettingViewHolder
mItem = (SubmenuSetting) item;
mTextSettingName.setText(item.getNameId());
-
- if (item.getDescriptionId() > 0)
- {
- mTextSettingDescription.setText(item.getDescriptionId());
- }
}
@Override
@@ -45,4 +38,4 @@ public final class SubmenuViewHolder extends SettingViewHolder
{
getAdapter().onSubmenuClick(mItem);
}
-} \ No newline at end of file
+}