jarnedemeulemeester / findroid

Third-party native Jellyfin Android app
GNU General Public License v3.0
2.15k stars 137 forks source link

Fix(nav): Avoid navigation crashes #767

Open Natanel-Shitrit opened 1 month ago

Natanel-Shitrit commented 1 month ago

Introduce a safeNavigate function for navigation controller, to prevent crashes when a navigation fails.

Related Issues:

Natanel-Shitrit commented 1 month ago

Basically this: https://github.com/jarnedemeulemeester/findroid/blob/e3e1a60001d2e7137a2b9b99c4575b9ccea989a4/app/phone/src/main/java/dev/jdtech/jellyfin/utils/Extensions.kt#L20-L26 And replace all navigate calls to safeNavigate.

Natanel-Shitrit commented 1 month ago

I've reverted the changes for the TV version since I can't really test if the original problem also consists in the TV version.

jarnedemeulemeester commented 1 month ago

This looks like a good improvement.

However, I've been slowely rewriting the UI in Jetpack Compose and I'm not sure the same problem appears in that framework. The plan is to have all UI (except the player) be rewritten in Compose by the next release. If that were to fail, I will merge this for the next release.

One more question, are we sure this fixed the issue where the app crashes when exiting the player?

Natanel-Shitrit commented 1 month ago

I'm all for Jetpack compose 😁

About the player - according to the the person who opened the issue, yes.

It also looks like the crash didn't really happen because he closed the player but managed to click on an episode while it was loading another episode already.