skmp / reicast-emulator

Reicast was a multiplatform Sega Dreamcast emulator
https://reicast.emudev.org
Other
1.1k stars 344 forks source link

Android UI & Build improvements #1093

Closed skmp closed 6 years ago

skmp commented 6 years ago

Opening this to coordinate work (see #1091, skmp/android-studio, tolis764/android-refactor)

Sub-items I can think of right now. I've filled in the stuff I've worked on so far with [x]

Purely Android Studio specific

Code modernization

Android UI Improvements

Core Improvements

@LoungeKatt We had discussions w/ @tolis764 to drop android <4.2 to simplify the code base, as well as general UI/UX improvements. That also touches many of the core parts, especially around android -> jni -> core path, and application lifetime management (which is totally FUBAR'd from the native site atm). Making API 17 minimum sounds good to you as well?

I'm not fully aware of what needs to happen to move to newer android versions so it'd be great if you can both chip in with your expertise :)

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/56380507-android-ui-build-improvements?utm_campaign=plugin&utm_content=tracker%2F500311&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F500311&utm_medium=issues&utm_source=github).
AbandonedCart commented 6 years ago

I currently have search integrated into the error logs, but would love moving logging to an "official" server. I had mentioned that long ago but there was no movement on it because of other issues popping up that took priority.

The biggest missing part is building a local database to integrate disk search. If you have a way to get disk images from the file, that is great. If not, I already started converting the old gamesdb code into something a bit more reliable as an option and a bit less "when it works"

skmp commented 6 years ago

Getting the game images will need a couple of days of work at least, see if I have time over the weekend to look at it

AbandonedCart commented 6 years ago

Sounds good. I think the core UI should probably wait on that to see what it will need before committing to a specific layout. That could drastically change how and when things are loaded.

AbandonedCart commented 6 years ago

(outdated screenshot)

Here is how it looks so far. I left the popup visible, but it can be dismissed. That is running on the x86_64 (labeled, but seemingly x86 only) Phoenix OS

skmp commented 6 years ago

Another thing to look at. Apart from libdc, those look like system libs (ffmpeg/libav)

AbandonedCart commented 6 years ago

ffmpeg had know relocation issues, which I think have been fixed. Actually, they are the ones that sparked the whole text relocations as a widespread concern. Those are probably from Phoenix OS, but it was more showing that it was no longer a crash and now just a popup that could be dismissed. After the conversion, it isn't completely preventing the app from running anymore.

tolis764 commented 6 years ago

On my part, this is the list of changes which I have implemented:

AbandonedCart commented 6 years ago

@tolis764 Did you have further plans for the navigation drawer / file browser or was it just converting the existing code to the current support library version?

When you refactor MainActivity, try to make sure you don't end up completely removing notes unless they are redundant. In usage info, tagging the variable by type (@param string) can just be replaced by tagging it with the variable name (@param url).

Are you creating a java color class or just moving them to an individual resource?

AbandonedCart commented 6 years ago

We had a really long list of issues, some smaller issues that were duplicates, and an unused project. I broke this down into the individual parts, merged in the other issues, and added it to the project to actually track progress.

https://github.com/reicast/reicast-emulator/issues/1129 https://github.com/reicast/reicast-emulator/issues/1128 https://github.com/reicast/reicast-emulator/issues/1127 https://github.com/reicast/reicast-emulator/issues/1126

It seemed silly to open another issue just for submission

This is more or less the understood final step

skmp commented 6 years ago

@LoungeKatt can you go over and see which things need to be split for follow up tasks? I'll do my part tomorrows.

AbandonedCart commented 6 years ago

Joysticks still need work and axis config support Icons from disk is still only theoretical Build targets and debug configuration are WIP All the core stuff is still pending

AbandonedCart commented 6 years ago

Closed in favor of https://github.com/reicast/reicast-emulator/issues/1297