incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon MacDonald <simon.macdon...@gmail.com>
Subject Re: [Android] Back Key events and Reality
Date Thu, 19 Apr 2012 19:22:48 GMT
That's ominous.

Simon Mac Donald
http://hi.im/simonmacdonald


On Thu, Apr 19, 2012 at 3:20 PM, Joe Bowser <bowserj@gmail.com> wrote:

> 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