diff options
| author | Léo Lam <leo@leolam.fr> | 2020-04-27 17:13:57 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-27 17:13:57 +0200 |
| commit | d040f91c3ac9fe03614ec96beac86066749e5d86 (patch) | |
| tree | 06dfebaa3833c8697668b4f9f43b3d8b101ecfed /Source/Android/app/src/main/java | |
| parent | e6351e1d4bc928194a694bd23c894b6fad27ea9d (diff) | |
| parent | 4e0fc6cfe59ac2f2a8ca189da8d9d50699013af5 (diff) | |
Merge pull request #8709 from Ebola16/AS
Android: Split General settings
Diffstat (limited to 'Source/Android/app/src/main/java')
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 +} |
