Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] Rewrite settings UI. #3547

Merged
merged 6 commits into from Jan 23, 2016

Conversation

sigmabeta
Copy link
Contributor

The old settings UI uses Android's SharedPreferences & PreferenceFragment components. While this had the nice benefit of giving us easy, canned UI, it had some drawbacks:

-The canned UI isn't very flexible (so for example, there couldn't really be a different version for Android TV)
-We had to duplicate every setting we modified in android's SharedPreference database, which caused problems for users who frequently switched between older builds and newer ones.
-The writing / reading of the ini files used by the emulation backend was done in native code, which doesn't work on emulators, complicating testing / iteration of any UI.

So this PR reimplements the writing/reading in Java, and implements a UI system for displaying these settings.

There's more or less feature parity with the previous settings UI (I haven't tested all the settings yet, many of them have special cases that need to be handled, hopefully I got them all) with the major exception of input configuration, which is actually completely disabled as of this PR. However, I plan to write a better UI for that - one that doesn't require a scrolling list, and more closely resembles the user friendliness of the desktop configuration interface.

Review on Reviewable

@@ -0,0 +1,25 @@
package org.dolphinemu.dolphinemu.model.settings;

public abstract class Setting

This comment was marked as off-topic.

@sigmabeta sigmabeta force-pushed the android-config-rewrite branch 2 times, most recently from 5781ed7 to fb29d31 Compare January 23, 2016 13:56
@Sonicadvance1
Copy link
Contributor

Reviewed 56 of 71 files at r1, 12 of 12 files at r2, 3 of 3 files at r3.
Review status: all files reviewed at latest revision, 7 unresolved discussions, some commit checks failed.


Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java, line 212 [r3] (raw file):
Users are able to change the configuration directory via passing in an intent option.
It would be nice if this still supported that.


Comments from the review on Reviewable.io

@sigmabeta sigmabeta force-pushed the android-config-rewrite branch 4 times, most recently from 9afefaf to 79dbd2b Compare January 23, 2016 17:07
@Sonicadvance1
Copy link
Contributor

Reviewed 7 of 7 files at r4.
Review status: all files reviewed at latest revision, 7 unresolved discussions, some commit checks failed.


Comments from the review on Reviewable.io

Sonicadvance1 added a commit that referenced this pull request Jan 23, 2016
@Sonicadvance1 Sonicadvance1 merged commit df5bdbe into dolphin-emu:master Jan 23, 2016
@sigmabeta sigmabeta deleted the android-config-rewrite branch January 23, 2016 22:09
@eddiebrook
Copy link

I respect your work but I have some doubts @sigmabeta

It has been a long time since this change. dolphin 5.0 stable is done.

there is no point to keep this change if it will never be completed.

any update on input configuration, please?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants