Skip to content
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: Back button not dismissing modals #8692

Closed
infinnie opened this issue Oct 14, 2016 · 76 comments
Closed

Android: Back button not dismissing modals #8692

infinnie opened this issue Oct 14, 2016 · 76 comments
Assignees
Milestone

Comments

@infinnie
Copy link

infinnie commented Oct 14, 2016

Short description of the problem:

I wrote an app with a modal that is expected to be dismissed with either its own “cancel” button or the hardware back button. However since an upgrade to Ionic 2.0.0 RC 1, it couldn’t be dismissed with the hardware button, but will quit within several presses with the modal present instead. If I manually dismiss the modal after pressing the back button, I could find that the page present is different from the one I opened the modal with, but some previous page.

Nor do hardware back buttons dismiss loading indicators.

What behavior are you expecting?

As in Ionic 2.0.0 Beta 10 and 11 (forgotten what happened on RC 0), the modal is dismissed with the hardware back button pressed.

Steps to reproduce:

  1. Write an app with a modal
  2. Build and run it
  3. Open that modal
  4. Press the hardware back button and see what would happen.

Which Ionic Version? 1.x or 2.x
2.0.0 RC 1

Run ionic info from terminal/cmd prompt: (paste output below)

Your system information: 

Cordova CLI: 6.3.0
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
OS:
Node Version: v6.3.1

Android 4.4.4

@comfortme
Copy link

i think it is related with modal not having a ion-nav of its own again.

@infinnie
Copy link
Author

infinnie commented Oct 14, 2016

@comfortme What did you mean by “again”? Just curious.

@comfortme
Copy link

there are couple of issues about modals navigation and i think they might be related to yours. #8151 (comment)

@jgw96
Copy link
Contributor

jgw96 commented Oct 14, 2016

@manucorporat should this be fixed by your modal navigation stuff you working on? @infinnie could you provide a repo we could use to reproduce this issue? Thanks!

@infinnie
Copy link
Author

@jgw96 Just build anything that contains a modal for Android.

@laserus
Copy link

laserus commented Oct 19, 2016

Here is one example of register back button, that handles everything:
#6982 (comment)

@daveshirman
Copy link

@laserus That's not a solution though, that's a workaround. This is definitely a regression bug in the framework.

@laserus
Copy link

laserus commented Oct 19, 2016

@daveshirman yes and no. For modals it is a regression bug, for not-closing-menu-on-back-button it is how driftyco guys see it, for custom alert confirmation on particular pages it is not a bug, but customization (what the backbutton handler is in the first place for).

If you will need to have a custom back button you will end up with similar approach independently of weather there is a bug in modal or not. Unless ionic2 will have some more generic mixing action handling back button (current priority on back button actions does not work for this at all).

@moldstadt
Copy link

I have the same issue when pushing a page onto the app root. I have a tabs application, and what seems to happen is that after pushing a page onto the root with this.app.getRootNav().push(NewPage); pressing the back button moves back through the previously selected tabs (in the background). Only after all the tab history is done, does the new page get dismissed, showing the first tab in the app.

@dgroh
Copy link

dgroh commented Oct 19, 2016

This has nothing to do with back button, but I'm also not able to dismiss the modal, I have issued this (#8776) and created a demo repo, so anyone can have a loot at it, this is really a nightmare for us now.

@infinnie
Copy link
Author

@dgroh That would be another thing.

@lincolnthree
Copy link

lincolnthree commented Oct 25, 2016

I can confirm that my modals are also not closing via the back-button, on a pretty vanilla (no plugins or JS/css customizations) RC.1 app.

Google Nexus 6. Android 6.0.1

@martin-eberle
Copy link

I can confirm this as well. Ionic 2 RC.1 on latest Android N.

@dylanvdmerwe
Copy link
Contributor

dylanvdmerwe commented Oct 25, 2016

We are also experiencing this on Android. Any ideas on resolution @manucorporat or @jgw96?

Cordova CLI: 6.3.1
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
Ionic App Scripts Version: 0.0.36
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v6.8.0
Xcode version: Xcode 7.3.1 Build version 7D1014

@akaamitgupta
Copy link

I can confirm this as well. Ionic 2 RC.1 on Android devices.

@infinnie
Copy link
Author

infinnie commented Nov 7, 2016

Not fixed even in RC2…

@jgw96
Copy link
Contributor

jgw96 commented Nov 7, 2016

@manucorporat any ideas what may be causing this? Is this expected behavior with modals being separate from the main nav?

@infinnie
Copy link
Author

infinnie commented Nov 8, 2016

@jgw96 Certainly not, if you mean “conforming to the corresponding platform’s recommended behavior for apps” by “expected”. In native Android/WP apps, the hardware back button is intended to be used to dismiss modals if present. Popping up the underlying page without dismissing the modal only makes the whole app confusing.

@jonatastrafaniuc
Copy link

Same problem here. RC 2

@Gp2mv3
Copy link

Gp2mv3 commented Nov 13, 2016

Same for me with RC 2.

@marcusforsberg
Copy link

marcusforsberg commented Nov 13, 2016

Is this expected behavior with modals being separate from the main nav?

This is definitely not expected behaviour, it's really confusing behaviour! 😄

@yannbf
Copy link
Contributor

yannbf commented Nov 17, 2016

Is this ever going to be discussed for a fix? RC2 at the moment, and this behavior is the same since I started developing, back in Beta11.
I personally think it's not supposed to be an expected behavior, it's rather weird. I have tested every app in my phone and used back button on modals and they all dismissed, rather than popping the nav of the page underneath it.

@peterpeterparker
Copy link
Contributor

The system Back button is used to navigate, in reverse chronological order, through the history of screens the user has recently worked with. It is generally based on the temporal relationships between screens, rather than the app's hierarchy.

Android source: https://developer.android.com/design/patterns/navigation.html

If we agree that a modal is a "screen", than it means that the hardware back button should close modals too.

Furthermore, in all the examples listed in the above listed documentation, the hardware back button is never displayed as triggering backs in the background of an opened screen.

So more than just the UIX behavior I may have been excepted, I think that this should be improved to fits the Android guidelines.

Thx in advance for finding an awesome solution as you always do Ionic team ;)

@infinnie
Copy link
Author

infinnie commented Nov 18, 2016

@manucorporat assign a milestone and fix the problem please. This behavior is annoying and confusing as everybody here reporting the problem knows.

@infinnie
Copy link
Author

Not fixed even in RC3…

@infinnie
Copy link
Author

@adamdbradley @brandyscarney @manucorporat @danbucholtz @jgw96

Just do something please. If this issue were not solved, I’m afraid that nobody would be willing to use Ionic 2.

@yannbf
Copy link
Contributor

yannbf commented Dec 2, 2016

@manucorporat On behalf of humanity, we love you!

One thing though, what happens now when you press back button and you are on home? I noticed at the end of the video that you press and nothing happens. Thanks!!

@dylanvdmerwe
Copy link
Contributor

@yannbf In ionic serve the app obviously won't close. On a device though it will.

@manucorporat
Copy link
Contributor

manucorporat commented Dec 2, 2016

Exactly, on device it will close the app depending if 'navExitApp' config is true. But in the browser it just does nothing.
BTW, here's the commit: 8de253a

It is already in master, expecting to release a new nightly today.

@yannbf
Copy link
Contributor

yannbf commented Dec 2, 2016

It makes a lot of sense. For some reason I didn't notice the inspector. Thanks once again!

@Fdom92
Copy link

Fdom92 commented Dec 2, 2016

@manucorporat thans to you for make this really. I know you will do this so perfecto cause you are from spain right? Ole jajaja thanks for tour job. I will be waiting this, it will be on the RC4 right?

@manucorporat
Copy link
Contributor

@Fdom92 olee! that's right! I am from Spain :)

Yeah! It was already merged in master, so it will part of the next release!

@Fdom92
Copy link

Fdom92 commented Dec 3, 2016

@manucorporat muchas gracias por tu trabajo de verdad tío :) i cant wait for it :)

@yannbf
Copy link
Contributor

yannbf commented Dec 9, 2016

@manucorporat I'm sorry for briging this up again, but in your fix, does the back button also happen to dismiss an ion-date picker? I just noticed that if I bring up the date picker and press back, it pops the page rather than dismiss the picker.

I know it's not related to modal, but still, perhaps it's an easy thing using the fix you've developed for modals/sidemenu.

Thanks!

@Kobzol
Copy link

Kobzol commented Dec 9, 2016

@yannbf That sounds like a regression, it did this in beta, but in RC.2 the date picker was being dismissed by the back button if I recall correctly.

@manucorporat
Copy link
Contributor

@yannbf @Kobzol please read my comments: #7824 (comment)

Also, can you try the latest nightly? it should not pop the page behind the picker.

@AleFons
Copy link

AleFons commented Dec 16, 2016

I'm using rc4 and I'm still facing this bug when on a modal.

@OmarHassan25
Copy link

This issue still exists on rc4

@naveedahmed1
Copy link

I can confirm it has been fixed and working properly.

@Fdom92
Copy link

Fdom92 commented Dec 18, 2016

I confirm that its resolved on RC4, now my sidemenu its closed when i press on hardware back button, and modals too! :)

@OmarHassan25
Copy link

OmarHassan25 commented Dec 18, 2016 via email

@dylanvdmerwe
Copy link
Contributor

dylanvdmerwe commented Dec 18, 2016

@OmarHassan25 please output your ionic info.

@AleFons
Copy link

AleFons commented Dec 18, 2016

@dylanvdmerwe
Well since I also have the same issue, I'll also post my ionic info here:

Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.4
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.47
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.7.0
Xcode version: Not installed

@OmarHassan25
Copy link

OmarHassan25 commented Dec 18, 2016 via email

@AleFons
Copy link

AleFons commented Dec 22, 2016

The problem has solved itself for me; I don't know how, exactly.

I believe it may have been an error with plugin inconsistency. Or maybe it was that I changed the version number.

@heyconor
Copy link

Is this definitely fixed? I seem to have encountered this issue today. My ionic info is as follows:

Cordova CLI: 6.5.0
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0
ios-deploy version: Not installed
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.10.2
Xcode version: Xcode 8.2.1 Build version 8C1002

@amility
Copy link

amility commented Mar 7, 2018

I am facing this problem too.

@daveshirman
Copy link

@amility: no one from Ionic team will reply to you here. They stopped addressing the community ages ago. Advice is to work around the bug as they clearly won't fix it. Even better, choose a different framework like Flutter before you get too far down dev in your app.

@amility
Copy link

amility commented Mar 7, 2018

Really? Ionic team stopped supporting their project. Its quite unbelievable as I can still see their recent replies on latest closed issues.

@daveshirman
Copy link

daveshirman commented Mar 7, 2018 via email

@amility
Copy link

amility commented Mar 7, 2018

Its strange. Its the widely known framework for hybrid apps and many apps are based on it. It will create problem in future if team will leave to support it.

@mhartington
Copy link
Contributor

Hey there folks! Just to chime in on this.

We’re sorry that the team has been quiet lately. The fact is, we've been going through the entire core of the framework and rewriting it to use web components. This has been our main focus for the past few months and I’m confident you are going to love it when it’s ready (soon!).

While the rework is going well, we do notice that issues keep coming through at a rate that makes it hard to triage and focus on work on the framework at the same time. So we've made the decision to "freeze" ionic until we can get V4 out. While this is a tough thing to do and is a difficult decision, it is needed as we the team need to focus on the new release, which will address many of the outstanding issue (like virtual scroll).

Ok, so what are you going to do about this in the future?

Great question 😄 ! We're reworking our process of dealing with issues and introducing a Bot to help automate a lot of this. This means that we'll get to a point where we can respond to issues and have all of the information/data needed in order to debug and fix the issue. This so far has been the biggest pain point when dealing with Github's current issue process. We're very hopeful that this bot will improve our process and help resolve issues much quicker!

We'll be releasing our updates on the whole process on our blog, so please keep an eye out for it.

To wrap up...

  • We're sorry we've been silent and not responding to issues. We're actively working to improve this process.
  • We're NOT abandoning the project. We're doubling down on our efforts to better manage things!

If you have any question/concerns, please feel free to send me an email. mike at ionic dot io

Cheers!

@amility
Copy link

amility commented Mar 7, 2018

Nice to hear that Mike. Its such a great relief that you people are gonna make it much better soon. Dying to see new version soon. I hope one day we will be able to make hybrid apps using ionic which is not behind native apps. Best of luck !

@ionitron-bot
Copy link

ionitron-bot bot commented Sep 1, 2018

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.

@ionitron-bot ionitron-bot bot locked and limited conversation to collaborators Sep 1, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests