summaryrefslogtreecommitdiff
path: root/Source/Android
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java14
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java8
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java7
4 files changed, 9 insertions, 25 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java
index 15b69c5e0d..8a6890d019 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java
@@ -20,6 +20,11 @@ public final class FilePicker extends SettingsItem
return settings.getSection(getFile(), getSection()).getString(getKey(), mDefaultValue);
}
+ public void setSelectedValue(Settings settings, String selection)
+ {
+ settings.getSection(getFile(), getSection()).setString(getKey(), selection);
+ }
+
public int getRequestType()
{
return mRequestType;
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
index 837024c2ab..830f0d5539 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
@@ -171,26 +171,12 @@ public final class SettingsActivity extends AppCompatActivity implements Setting
{
super.onActivityResult(requestCode, resultCode, result);
- // Save modified non-FilePicker settings beforehand since finish() won't save them.
- // onStop() must come before handling the resultCode to properly save FilePicker selection.
- mPresenter.onStop(true);
-
// If the user picked a file, as opposed to just backing out.
if (resultCode == MainActivity.RESULT_OK)
{
String path = FileBrowserHelper.getSelectedPath(result);
getFragment().getAdapter().onFilePickerConfirmation(path);
-
- // Prevent duplicate Toasts.
- if (!mPresenter.shouldSave())
- {
- Toast.makeText(this, "Saved settings to INI files", Toast.LENGTH_SHORT).show();
- }
}
-
- // TODO: After result of FilePicker, duplicate SettingsActivity appears.
- // Finish to avoid this. Is there a better method?
- finish();
}
@Override
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 a640c843bf..6daa5b2052 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
@@ -310,12 +310,10 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{
FilePicker filePicker = (FilePicker) mClickedItem;
- File file = SettingsFile.getSettingsFile(filePicker.getFile());
- IniFile ini = new IniFile(file);
- ini.setString(filePicker.getSection(), filePicker.getKey(), selectedFile);
- ini.save(file);
+ if (!filePicker.getSelectedValue(mView.getSettings()).equals(selectedFile))
+ mView.onSettingChanged(filePicker.getKey());
- NativeLibrary.ReloadConfig();
+ filePicker.setSelectedValue(mView.getSettings(), selectedFile);
mClickedItem = null;
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java
index e47c40248f..e887fe4afb 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java
@@ -7,9 +7,7 @@ import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.features.settings.model.view.FilePicker;
import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem;
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter;
-import org.dolphinemu.dolphinemu.features.settings.utils.SettingsFile;
import org.dolphinemu.dolphinemu.ui.main.MainPresenter;
-import org.dolphinemu.dolphinemu.utils.IniFile;
public final class FilePickerViewHolder extends SettingViewHolder
{
@@ -45,10 +43,7 @@ public final class FilePickerViewHolder extends SettingViewHolder
}
else
{
- // TODO: Reopening INI files all the time is slow
- IniFile ini = new IniFile(SettingsFile.getSettingsFile(mFilePicker.getFile()));
- mTextSettingDescription.setText(ini.getString(item.getSection(), item.getKey(),
- mFilePicker.getSelectedValue(getAdapter().getSettings())));
+ mTextSettingDescription.setText(mFilePicker.getSelectedValue(getAdapter().getSettings()));
}
}