incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bowser <bows...@gmail.com>
Subject Re: [Android] Back Key events and Reality
Date Thu, 19 Apr 2012 19:20:40 GMT
OK, let's revert the changes.  It looks like I'm going to have to change
how I work on this project.

On Thu, Apr 19, 2012 at 12:15 PM, Filip Maj <fil@adobe.com> wrote:

> Actually the latest master breaks back button on my galaxy nexus too.
>
> I'll run through the tests and help out with this.
>
> On 4/19/12 12:07 PM, "Joe Bowser" <bowserj@gmail.com> wrote:
>
> >There's a problem with the log statement that you provided, namely the
> >fact
> >that this.backHistory() actually goes back in the history before it
> >returns
> >true or false. This was causing the app to constantly exit when we were
> >running mobile-spec, which was similar to the original bug.   I removed it
> >because I wanted the log statements to just log, and here's what I got
> >from
> >the Motorola Device:
> >
> >04-20 02:56:14.187 19771 19771 D BackPressed: in onBackPressed
> >04-20 02:56:14.187 19771 19771 D BackPressed: bound = false
> >04-20 02:56:14.187 19771 19771 D BackPressed: exiting
> >04-20 02:56:14.234  1032  1032 D ActivitityRenderTarget: onResume
> >04-20 02:56:14.257 19771 19771 D BackButton: I got an up from KEYCODE_BACK
> >04-20 02:56:14.265 19771 19771 D BackButton: I'm doing nothing
> >04-20 02:56:14.265 19771 19771 D BackPressed: returning false
> >
> >So, here we're exiting the app on the keyDown, and the keyUp is also
> >happening which is exactly what I would expect since you have to do a
> >onKeyDown before an onKeyUp.  Here's the same thing on the Samsung Galaxy
> >S2:
> >
> >D/BackPressed(17630): in onBackPressed
> >D/BackPressed(17630): bound = false
> >D/BackPressed(17630): exiting
> >I/InputDispatcher( 2704): Delivering key to current input target: action:
> >1, channel '409de9f8 org.apache.cordova/org.apache.cordova.StandAlone
> >(server)'
> >
> >...A bunch of crap about widgets not being drawn right on the home screen
> >which is resuming...
> >
> >D/BackButton(17630): I got an up from KEYCODE_BACK
> >D/BackButton(17630): I'm doing nothing
> >D/BackPressed(17630): returning false
> >
> >I should remove the crap Samsung puts on their default build, but this
> >does
> >illustrate my point more clearly.  Once we remove the extra backHistory
> >call, things seem to work properly on this end and the app does exit.  It
> >seems incredibly strange that the Note would fail.
> >
> >On Thu, Apr 19, 2012 at 11:48 AM, Simon MacDonald
> ><simon.macdonald@gmail.com
> >> wrote:
> >
> >> Oh, and here is the dirt simple .html I was using. I was checking a
> >> possible camera bug and found I couldn't exit the app.
> >>
> >> http://dl.dropbox.com/u/887989/camera.html
> >>
> >> Simon Mac Donald
> >> http://hi.im/simonmacdonald
> >>
> >>
> >> On Thu, Apr 19, 2012 at 2:44 PM, Simon MacDonald
> >> <simon.macdonald@gmail.com>wrote:
> >>
> >> > You can get my version of DroidGap with the extra logs from:
> >> >
> >> > http://dl.dropbox.com/u/887989/DroidGap.java
> >> >
> >> > Did you clone the 1.6.1 tag or the bleeding edge?
> >> >
> >> > Simon Mac Donald
> >> > http://hi.im/simonmacdonald
> >> >
> >> >
> >> > On Thu, Apr 19, 2012 at 2:38 PM, Joe Bowser <bowserj@gmail.com>
> wrote:
> >> >
> >> >> I cloned a fresh repo, and what's in DroidGap.java works on this end,
> >> and
> >> >> matches what I have in my working tree.  We don't have your attached
> >> >> DroidGap.java, can you send it again?
> >> >>
> >> >> On Thu, Apr 19, 2012 at 11:28 AM, Simon MacDonald <
> >> >> simon.macdonald@gmail.com
> >> >> > wrote:
> >> >>
> >> >> > When I pull the latest from incubator-cordova-android and build
it
> >> into
> >> >> my
> >> >> > app the back key does not work. I've verified this on my samsung
> >>note
> >> >> and
> >> >> > on the emulator.
> >> >> >
> >> >> > Please take a look at the attached DroidGap.java file which I've
> >> added a
> >> >> > few logs. When I click on the back button on the note or on the
> >> >> emulator I
> >> >> > see these logs:
> >> >> >
> >> >> > 04-19 14:16:49.373: D/BackButton(390): I got an up from
> >>KEYCODE_BACK
> >> >> > 04-19 14:16:49.373: D/BackButton(390): I'm doing nothing
> >> >> > 04-19 14:16:49.373: D/BackPressed(390): returning false
> >> >> >
> >> >> > I'm not seeing the onBackPressed method being called at all. Can
> >> Joe/Fil
> >> >> > try my DroidGap.java to see if they get a different set of logs?
> >> >> >
> >> >> > Note that the .html I'm loading has one and only one file and
does
> >>not
> >> >> > call 'document.addEventListener("backbutton", onBackKey, true)".
> >>It is
> >> >> just
> >> >> > a plain vanilla .html file.
> >> >> >
> >> >> > Simon Mac Donald
> >> >> > http://hi.im/simonmacdonald
> >> >> >
> >> >> >
> >> >> > On Thu, Apr 19, 2012 at 2:17 PM, Filip Maj <fil@adobe.com>
wrote:
> >> >> >
> >> >> >> We definitely cannot revert that commit Joe put in. Back button
> >> didn't
> >> >> >> work at all (just exited) before that commit.
> >> >> >>
> >> >> >> Sucks that the note is broken but it works as expected on
other
> >> devices
> >> >> >> (as Joe points out).
> >> >> >>
> >> >> >> Simon can you try to debug the issue on the Note and see how
the
> >> >> execution
> >> >> >> flow differs from the other Android devices?
> >> >> >>
> >> >> >> On 4/19/12 10:58 AM, "Joe Bowser" <bowserj@gmail.com>
wrote:
> >> >> >>
> >> >> >> >OK, I just went through Mobile Spec's manual tests on
the
> >>following
> >> >> >> >devices:
> >> >> >> >
> >> >> >> >Galaxy Nexus
> >> >> >> >Nexus S
> >> >> >> >Motorola RAZR
> >> >> >> >Samsung Galaxy S2
> >> >> >> >LG Optimus One
> >> >> >> >
> >> >> >> >Currently, if you don't override the back button, the
backPressed
> >> >> event
> >> >> >> >fires on the keyDown.  If we override the event, the backbutton
> >> >> doesn't
> >> >> >> >work on the keydown, but the event fires on the keyup
instead.
> >>  This I
> >> >> >> >think is the proper behaviour since we're intercepting
the back
> >> button
> >> >> >> and
> >> >> >> >making it the users' responsibility to handle this event.
> >> >> >> >
> >> >> >> >The old method had the default behaviour for the back
button
> >>(where
> >> it
> >> >> >> >quits on keydown) occur, as well as the keyUp behaviour
happen.
> >>Of
> >> >> >> >course,
> >> >> >> >since the app is exited and is in the background whatever
happens
> >> with
> >> >> >> the
> >> >> >> >back button at that point is moot.  The fact is that I
expect the
> >> back
> >> >> >> >button to work when I press it, and I don't consciously
think
> >>about
> >> >> key
> >> >> >> up
> >> >> >> >or key down when I do so.  I also think that Google put
it on
> >> keydown
> >> >> for
> >> >> >> >a
> >> >> >> >reason, especially since it's not really a key anymore.
> >> >> >> >
> >> >> >> >On Thu, Apr 19, 2012 at 10:48 AM, Joe Bowser <bowserj@gmail.com>
> >> >> wrote:
> >> >> >> >
> >> >> >> >> You're saying that the behaviour is different on
the Note? I'll
> >> run
> >> >> >> >> through our device bank here, but the fact is that
the Back
> >>Button
> >> >> >> would
> >> >> >> >> ALWAYS exit, not progress through the history but
just
> >>straight up
> >> >> exit
> >> >> >> >> regardless of where in the app you were.  What I
added was
> >> >> backPressed
> >> >> >> >> which would only exit if you were at the top of the
history.
> >>  Also,
> >> >> >> >> backPressed should be supported for Android versions
higher
> >>than
> >> >> >> Android
> >> >> >> >> 2.0, and since we're only supporting 2.1+, we should
have been
> >> fine.
> >> >> >> >>
> >> >> >> >> I'll investigate this, but honestly if it's not consistent
> >>across
> >> >> >> >>devices,
> >> >> >> >> what do we do then?
> >> >> >> >>
> >> >> >> >> On Thu, Apr 19, 2012 at 10:26 AM, Simon MacDonald
<
> >> >> >> >> simon.macdonald@gmail.com> wrote:
> >> >> >> >>
> >> >> >> >>> The reason we switched to keyUp is so you could
slide your
> >>finger
> >> >> off
> >> >> >> >>>the
> >> >> >> >>> up button in case you changed your mind about
clicking on the
> >> back
> >> >> >> >>>button.
> >> >> >> >>>
> >> >> >> >>> I noticed that you checked in:
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >>
> >> >>
> >>https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git
> >> ;
> >> >> >> >>>a=commit;h=180696baec28d6e6b67e8bb23a5302f21bce6b79
> >> >> >> >>>
> >> >> >> >>> On my Samsung Galaxy Note running Android 2.3.6
the back
> >>button
> >> >> does
> >> >> >> >>>not
> >> >> >> >>> work. That is when I do not regisiter for a "backbutton"
> >>listener
> >> >> and
> >> >> >> I
> >> >> >> >>> expect that when I click the back key that my
app would exit.
> >> With
> >> >> our
> >> >> >> >>>fix
> >> >> >> >>> the back button doesn't exit the app. I have
to click the home
> >> >> button
> >> >> >> >>>to
> >> >> >> >>> exit.
> >> >> >> >>>
> >> >> >> >>> Reverting your change returns the back button
behaviour to
> >> normal.
> >> >> So
> >> >> >> >>> something is still janky. I haven't been able
to test it on my
> >> >> phone
> >> >> >> >>>as I
> >> >> >> >>> can't convince it to be recognized on my laptop.
> >> >> >> >>>
> >> >> >> >>> Simon Mac Donald
> >> >> >> >>> http://hi.im/simonmacdonald
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>> On Tue, Apr 17, 2012 at 8:46 PM, Joe Bowser
> >><bowserj@gmail.com>
> >> >> >> wrote:
> >> >> >> >>>
> >> >> >> >>> > Hey
> >> >> >> >>> >
> >> >> >> >>> > Remember this issue:
> >> >> >> >>> > https://issues.apache.org/jira/browse/CB-367
> >> >> >> >>> >
> >> >> >> >>> > I'm surprised that I'm catching it now,
but the Back Button
> >>is
> >> >> >> really
> >> >> >> >>> janky
> >> >> >> >>> > on my Nexus S running 2.3.6, and I'm working
on a fix now.
> >>  What
> >> >> was
> >> >> >> >>>the
> >> >> >> >>> > reasoning behind the Back Button being on
the keyUp instead
> >>of
> >> >> the
> >> >> >> >>> keyDown?
> >> >> >> >>> > I don't remember.
> >> >> >> >>> >
> >> >> >> >>> > Joe
> >> >> >> >>> >
> >> >> >> >>>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >
> >> >>
> >> >
> >> >
> >>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message