amugofjava / anytime_podcast_player

Simple, easy to use Podcast player app written in Flutter and Dart.
BSD 3-Clause "New" or "Revised" License
376 stars 99 forks source link

Swipe from left edge to go back on iOS #115

Closed BionicBison05 closed 2 weeks ago

BionicBison05 commented 4 months ago

Is your feature request related to a problem? Please describe. Most native apps on iOS feature the ability to swipe from the left edge to go back, so it's jarring to not be able to do that here, especially considering how high up the back button itself can be on larger screens (which isn't any different in other apps but is mitigated by swipe to go back).

Describe the solution you'd like Add ability to swipe to go back, ideally as a 1-to-1 gesture (page moves with your finger rather than simply triggering a full "back" action upon any amount of swipe).

Describe alternatives you've considered Nothing I can think of would really replace this as it's equal parts ergonomics and the specific swipe implementation itself to match other iOS apps.

Additional context What I mean by 1-to-1: https://github.com/amugofjava/anytime_podcast_player/assets/93722725/35eed8ef-5983-4db5-9f7f-54b62dfb909c

amugofjava commented 4 months ago

Hi @BionicBison05,

Thanks for bringing this to my attention. I've found that the search screen is not following the swipe back gesture so I will fix that, but the remaining screens look OK. Which version of iOS are you running, and can you let me know which screens are not working correctly for you?

I've taken a recording of Anytime using the swipe back gesture:

https://github.com/amugofjava/anytime_podcast_player/assets/5526902/bce42490-6eed-4ac4-b007-588f9b35c444

BionicBison05 commented 4 months ago

It's most of them for me, which is why I just assumed it hadn't really been implemented 😅

I'm on iOS 17.3.1, here's a short screen recording showing what works and what doesn't:

https://github.com/amugofjava/anytime_podcast_player/assets/93722725/c7faff8e-fd20-43b3-b9c3-910ada798d18

amugofjava commented 4 months ago

Thanks for the video. I'll take another look at iOS 17.

What version of Anytime are you running?

BionicBison05 commented 4 months ago

I'm running version 1.3.5.

Chralu commented 4 months ago

Hi,

Edit : I reproduce that behavior with Anytime v1.3.5 b103 on a real iPhone8, iOS16.7.4.

Commit 90e671e55d103fc9c62f488e436449b366159bf1 (available in v1.3.7 b115) fixed the issue on the PodcastDetail view.

amugofjava commented 4 months ago

Thank you very much @Chralu for investigating this.

@BionicBison05 v1.3.7 is currently in Beta and will be rolled out soon. If you would like to try it now via TestFlight, please drop me an email at support@anytimeplayer.app and I'll send you the necessary link. Thanks.

Chralu commented 4 months ago

After more tests, routes using custom transitions (Search page for instance) encounter the same issue.

As explained here, it is because the iOS swipe back gesture is created by MaterialPageRoute.buildTransitions, which we override in SlideRightRoute.

I see two solutions :

BionicBison05 commented 4 months ago

Can confirm the beta fixes everything but the search page! Great work!

amugofjava commented 4 months ago

Thanks for testing that @BionicBison05

amugofjava commented 2 weeks ago

Closing this issue as this has now been pushed to production.