incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Maj <...@adobe.com>
Subject Re: [Android] Back Key events and Reality
Date Thu, 19 Apr 2012 19:15:57 GMT
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
View raw message