diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java index 8a89cc83b588..a57b116e2a6b 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java @@ -336,6 +336,11 @@ else if ((current != null)) } } + if (fileName.equals(SettingsFile.FILE_NAME_DOLPHIN)) + { + addGcPadSettingsIfTheyDontExist(sections); + } + return sections; } @@ -398,6 +403,23 @@ private static SettingSection sectionFromLine(String line) return new SettingSection(sectionName); } + private static void addGcPadSettingsIfTheyDontExist(HashMap sections) + { + SettingSection coreSection = sections.get(SettingsFile.SECTION_CORE); + + for (int i = 0; i < 4; i++) + { + String key = SettingsFile.KEY_GCPAD_TYPE + i; + if (coreSection.getSetting(key) == null) + { + Setting gcPadSetting = new IntSetting(key, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, 0); + coreSection.putSetting(gcPadSetting); + } + } + + sections.put(SettingsFile.SECTION_CORE, coreSection); + } + /** * For a line of text, determines what type of data is being represented, and returns * a Setting object containing this data.