anytime_podcast_player icon indicating copy to clipboard operation
anytime_podcast_player copied to clipboard

Swipe from left edge to go back on iOS

Open gitgizmo7 opened this issue 1 year ago • 9 comments

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

gitgizmo7 avatar Feb 16 '24 17:02 gitgizmo7

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

amugofjava avatar Feb 18 '24 11:02 amugofjava

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

gitgizmo7 avatar Feb 18 '24 16:02 gitgizmo7

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

What version of Anytime are you running?

amugofjava avatar Feb 18 '24 19:02 amugofjava

I'm running version 1.3.5.

gitgizmo7 avatar Feb 18 '24 20:02 gitgizmo7

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.

Chralu avatar Feb 25 '24 15:02 Chralu

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 [email protected] and I'll send you the necessary link. Thanks.

amugofjava avatar Feb 25 '24 17:02 amugofjava

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 :

  • Add the swipe back gesture to SlideRightRoute
  • try to use the default Transition when TargetPlatform is not Android

Chralu avatar Feb 25 '24 18:02 Chralu

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

gitgizmo7 avatar Feb 26 '24 18:02 gitgizmo7

Thanks for testing that @BionicBison05

amugofjava avatar Feb 26 '24 20:02 amugofjava

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

amugofjava avatar Jun 22 '24 15:06 amugofjava