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: App redesign with multi-theme system #10725
Conversation
|
@MayImilae and @JosJuice Let me know if there's anything I could improve here |
|
Just adjusted the colors to more closely follow the generated ones. The changes are reflected in the top comment. |
94b2527
to
daa3f56
Compare
|
I like it! A few quibbles here and there (like the text colour already mentioned) but overall I think this is an improvement. However, I have a request. Could we include a Blue theme to bring back a little bit of the old strong blue for those that want it? |
I'm interested, but let me show you a walkthrough in the light theme as well. The dark version of the default theme has been tweaked to have better contrast with the dark text. Most of the original color is preserved in the light theme though. But if you still think it should be changed, let me know. Here's the dark theme for a side by side comparison. |
|
So to be more specific with my previous comment, it's the pastel-ness. See the below example. I know that's the current trend for android, but it's very different from how we have presented thus far and is just not aligned with Dolphin's aesthetic. IMO, that screen should be white with strong (not pastel) blue text at the bottom. Though of course, that as a default with pastel as an option would be great. Or at least an option to get that kind of non-pastel look. I'm wanting something like that. |
|
Ah ok, I could make the default follow the previous colors with less of a pastel look but offer the the pastel one as an additional option. |
Just to clarify, would you like to do that only for the light theme or get the strong blue back for light and dark |
|
Light and dark theorectically, in the sense of making a dark theme for the new design that looks kind of like the old dark theme. Though, honestly the dark theme doesn't seem to need it the same way IMO. What do you think? |
|
I really like how the new dark theme colors look and as long as I remove the pastel color from dialogs, I would keep it as is. |
|
I'm very happy with the updates. Material You support looks good, dark theme looks good, and the classic light theme is great for those wanting a more Dolphin-y look as well as our own publications showcasing Dolphin on Android. So design wise, LGTM. |
|
Just quickly brought this PR up-to-date again with the new addition of XLink Kai in #10625 and their contribution of InputStringSettings. |
0e8f7c2
to
8f137ee
Compare
|
After getting some much-needed polish in, I feel much more confident about this PR going up for review. After some discussion with @JosJuice I've also worked out a plan for working with both shared preferences and our config system. Whenever the theme value is saved to our config it is also saved to shared preferences as well. To account for config changes outside of dolphin, I have implemented a check for whenever MainActivity opens from a cold start. If there is a mismatch between our config and shared preferences, shared preferences will save the data from our config and the activity will be recreated. This allows a user to restore from a backup and we keep the benefit of using shared preferences to load the theme value before our UI is loaded. Additionally, I have cleaned up the code used to create every alert dialog while I was going through changing AlertDialog.Builders to MaterialAlertDialogBuilders. Things are much more consistent now. So between the dialogs and colors/theme attributes, that is the bulk of this PR in lines of code. The parts concerning the theme system are very small in comparison. Visually, this PR is the same as it has been for the past month, I just need feedback on the settings implementation. |
|
I get that, I'll push that soon EDIT - The medium layout is how it already exists in this PR |
7b77790
to
84c2f7d
Compare
|
The new slider layouts are way better. Having the value in the middle made no sense to me. |
...ndroid/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
Show resolved
Hide resolved
...droid/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
Outdated
Show resolved
Hide resolved
Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ThreadUtil.java
Show resolved
Hide resolved
...droid/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
Outdated
Show resolved
Hide resolved
Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ThreadUtil.java
Outdated
Show resolved
Hide resolved
|
The code looks good, but there's one thing that bothers me about the design: The menu in EmulationActivity looks really plain now that its background is just white. Is there some reason why the old blue background isn't appropriate for this kind of theme? If so, do you think there's anything else we could do to make it look less plain? (Giving it the same background color as dialogs, maybe?) |
|
I'll put together a sample with the dialog colors |
|
The reason I changed the Emulation Fragment menu was because surfaces should have the most muted colors and the primary color should show itself more prominently through widgets and dialogs that appear on top of these surfaces. But here is what both options look like. Any thoughts on this, @MayImilae? |
|
Additionally, I used the code from Google's MaterialAlertDialogBuilder on our MotionAlertDialog so it could be even closer to the real thing. Hopefully I could get it to be perfect in a future PR, but for now this is the best we've got. The only issue is slightly different colors than MaterialAlertDialogs when using the Material You theme. This is what they look like in the Material Default theme. And here's the issue I mentioned on the Material You theme (Wallpaper color is purple) |
Personally I prefer the current images you provided over the suggestion, as I don't super care for the pastely look that Material You is going for. I don't think it will last very long (especially since it still doesn't let you just select the colours, ugh). But, if that is what you want and it is closer to what other Android apps are doing with material you, I will not oppose it. I asked for the classic theme specifically to give an alternative from Android's current look, so there's a refuge from the pastel storm. |
|
I could still provide the option to remove the pastel look. But that would mean we would use either the look I have currently for the default theme or make an additional case with a look closer to the original. It starts to fragment things a bit though. Edit - What colors were you thinking about changing? I can change the colors however I want. |
Well, it is kind of like a dialog in a sense. Not that it's exactly like a normal dialog, but it's something that gets shown on top of the normal surface, for a limited period of time and on a limited portion of the screen. But if May thinks plain white looks fine, I'm going to trust her design chops over mine. Because from experience, she tends to make better choices for visual design than me :)
Sounds reasonable. |
|
Noted, I'll keep the plain look then. Otherwise, everything is done. |



























Top-level look at changes
Dark Theme Breakdown
Click to expand
AlertDialog
Home Screen
Progress Bar
Settings Menu
Note - The action bar now collapses on every settings page when scrolling
Radio Buttons
Sliders
Buttons
Emulation Menu
Game Properties
Game Details
Edit Cheats
Cheats downloading dialog
Input Binding dialog
Light Theme Breakdown
Click to expand
AlertDialog
Home Screen
Progress Bar
Settings Menu
Radio Buttons
Sliders
Buttons
Emulation Menu
Same as dark theme
Game Properties
Game Details
Edit Cheats
Cheats downloading dialog
Input Binding dialog
Runtime theme change demo

Note - This highlights how the default theme will stick to the strong background brand colors and how the new Material You pastel colors are shown.
Home navigation animation demo

Material Default Theme (Conversion of Dolphin colors to Material You ones)
Material You Theme (With purple wallpaper)
Green Theme
Pink Theme