incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew Schulkind <mschulk...@gmail.com>
Subject Re: [Android] CordovaWebView: Moving the CallbackServer and PluginManager out of DroidGap
Date Sun, 01 Apr 2012 19:20:35 GMT
I'm new to android, so maybe I'm not looking in the right place, but the
only x86 image I see is for Android 2.3.3 (API 10).

Is there any gain with addJavascriptImplementation other than cleaning
things up? It'd be a shame to make things more difficult for a large number
of people for no material gain.

On Sun, Apr 1, 2012 at 2:52 PM, Joe Bowser <bowserj@gmail.com> wrote:

> If it only is broken on the emulator, I would argue that's not a good
> enough reason to stay away from using it.  I would recommend that people
> get a device.  It's not like the devices are prohibitively expensive.
> (Under $150 on DealExtreme was the cheapest I saw a 2.3 device, probably
> cheaper on Craigslist)
>
> Also, doesn't 4.0.3 work on kvm?  I remember hearing that it does.
> On Apr 1, 2012 11:41 AM, "Matthew Schulkind" <mschulkind@gmail.com> wrote:
>
> > Looks like addJavascriptInterface is still broken on 2.3.x emulator (not
> > sure about other versions). 2.3 seems to be the only version with an x86
> > image for using with kvm, so I expect lots of people (including me) are
> > using it for development. Probably best to stay away from
> > addJavascriptInterface for now.
> >
> > These are the first lines I get every time I try to call a method on an
> > addJavascriptInterface object:
> > W/dalvikvm( 2967): JNI WARNING: jarray 0xb75d9720 points to non-array
> > object (Ljava/lang/String;)
> > I/dalvikvm( 2967): "WebViewCoreThread" prio=5 tid=8 NATIVE
> > I/dalvikvm( 2967):   | group="main" sCount=0 dsCount=0 obj=0xb75b0d90
> > self=0x93f8410
> > I/dalvikvm( 2967):   | sysTid=2975 nice=0 sched=0/0 cgrp=[fopen-error:2]
> > handle=155168040
> > I/dalvikvm( 2967):   at
> > android.webkit.BrowserFrame.stringByEvaluatingJavaScriptFromString(Native
> > Method)
> > I/dalvikvm( 2967):   at
> > android.webkit.BrowserFrame.stringByEvaluatingJavaScriptFromString(Native
> > Method)
> >
> > On Sat, Mar 31, 2012 at 1:20 AM, Matthew Schulkind <mschulkind@gmail.com
> > >wrote:
> >
> > > What do you mean by disrupt exactly?
> > >
> > > I've seen one potential solution where you basically make the
> javascript
> > > call with loadUrl and then wait for a addJavascriptInterface method to
> be
> > > called from the result. This waiting can happen on a non-ui thread. The
> > > biggest problem is how long do you wait for the result to come back in
> > case
> > > it's never coming.
> > >
> > >
> > > On Fri, Mar 30, 2012 at 4:58 PM, Joe Bowser <bowserj@gmail.com> wrote:
> > >
> > >> The problem is that there is no mechanism for this on Android that
> > doesn't
> > >> disrupt the UI thread.
> > >>
> > >> On Fri, Mar 30, 2012 at 1:50 PM, Matthew Schulkind <
> > mschulkind@gmail.com
> > >> >wrote:
> > >>
> > >> > Works here!
> > >> >
> > >> > If exec is getting futzed with, it'd be great if at the same time,
> > >> support
> > >> > was added for synchronous return values when calling Java ->
> > JavaScript.
> > >> > I'm working on the android port of true native, and I'm either going
> > to
> > >> > need this support in cordova directly or in my own code.
> > >> >
> > >> > On Fri, Mar 30, 2012 at 12:39 PM, Joe Bowser <bowserj@gmail.com>
> > wrote:
> > >> >
> > >> > > Congrats! Your phone didn't come out of a vending machine!
> > >> > >
> > >> > > On Fri, Mar 30, 2012 at 8:22 AM, Simon MacDonald
> > >> > > <simon.macdonald@gmail.com>wrote:
> > >> > >
> > >> > > > Installed and it looks like everything worked.
> > >> > > >
> > >> > > > Simon Mac Donald
> > >> > > > http://hi.im/simonmacdonald
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > On Fri, Mar 30, 2012 at 11:02 AM, Joe Bowser <bowserj@gmail.com
> >
> > >> > wrote:
> > >> > > > > We don't have enough crap Android devices running 2.3.
 This
> is
> > to
> > >> > also
> > >> > > > > help us buy devices for the device wall.  The application
can
> be
> > >> > found
> > >> > > > here:
> > >> > > > >
> > >> > > > >
> > >> https://play.google.com/store/apps/details?id=com.infil00p.phoneTest
> > >> > > > >
> > >> > > > > On Fri, Mar 30, 2012 at 7:11 AM, Simon MacDonald
> > >> > > > > <simon.macdonald@gmail.com>wrote:
> > >> > > > >
> > >> > > > >> Great idea Joe. I've got a Samsung Galaxy S running
2.3.5 so
> > >> lemme
> > >> > > > >> know when it is up.
> > >> > > > >>
> > >> > > > >> But wait, isn't this a job for the PhoneGap Device
Wall!
> > >> > > > >>
> > >> > > > >> http://phonegap.com/2012/03/29/phonegaps-new-device-wall/
> > >> > > > >>
> > >> > > > >> Simon Mac Donald
> > >> > > > >> http://hi.im/simonmacdonald
> > >> > > > >>
> > >> > > > >>
> > >> > > > >>
> > >> > > > >> On Thu, Mar 29, 2012 at 8:18 PM, Joe Bowser <
> bowserj@gmail.com
> > >
> > >> > > wrote:
> > >> > > > >> > OK, I published a test app on Google Play.
 I'll post the
> > link
> > >> > once
> > >> > > it
> > >> > > > >> > actually shows up.  I want people to download
and run it on
> > >> their
> > >> > > > Android
> > >> > > > >> > 2.3 devices to see if we can find any that
crash!  If so,
> > >> it'll be
> > >> > > > >> recorded
> > >> > > > >> > in the Error Report.  That way we can finally
know is this
> > is a
> > >> > real
> > >> > > > bug
> > >> > > > >> or
> > >> > > > >> > something that only exists in the Emulator.
> > >> > > > >> >
> > >> > > > >> > I'll throw up the code on a repo somewhere
as well.  I made
> > >> sure
> > >> > to
> > >> > > > use
> > >> > > > >> > zero permissions so that it's clear what the
app is. (I bet
> > it
> > >> > gets
> > >> > > > >> really
> > >> > > > >> > crap ratings!).
> > >> > > > >> >
> > >> > > > >> > Joe
> > >> > > > >> >
> > >> > > > >> > On Thu, Mar 29, 2012 at 4:46 PM, Brian LeRoux
<b@brian.io>
> > >> wrote:
> > >> > > > >> >
> > >> > > > >> >> +1 science
> > >> > > > >> >>
> > >> > > > >> >> On Thu, Mar 29, 2012 at 4:33 PM, Joe Bowser
<
> > >> bowserj@gmail.com>
> > >> > > > wrote:
> > >> > > > >> >> > On Thu, Mar 29, 2012 at 2:01 PM,
Bryce Curtis <
> > >> > > > curtis.bryce@gmail.com
> > >> > > > >> >> >wrote:
> > >> > > > >> >> >
> > >> > > > >> >> >> Yes, I meant providing your own
classes that inherit
> from
> > >> our
> > >> > > > >> >> >> CordovaChrome/WebView classes.
> > >> > > > >> >> >>
> > >> > > > >> >> >> From what I've observed recently,
> addJavascriptInterface
> > is
> > >> > > still
> > >> > > > >> >> broken in
> > >> > > > >> >> >> the emulator and on some (maybe
small subset) of real
> > >> phones.
> > >> > > > >> >> >>
> > >> > > > >> >> >
> > >> > > > >> >> > I just tested it on the emulator.
 However, I don't
> think
> > >> this
> > >> > is
> > >> > > > an
> > >> > > > >> >> issue
> > >> > > > >> >> > on real phones.  When they wrote
the switch, it was
> meant
> > to
> > >> > > allow
> > >> > > > >> >> Android
> > >> > > > >> >> > 2.3 to run on crap like the Quench.
 So far, I have
> never
> > >> seen
> > >> > a
> > >> > > > phone
> > >> > > > >> >> that
> > >> > > > >> >> > has less than 256 MB of RAM produced,
not even the HTC
> > >> Wildfire
> > >> > > > (and
> > >> > > > >> that
> > >> > > > >> >> > phone sucked!).  I honestly don't
think that there's a
> > >> single
> > >> > > > Android
> > >> > > > >> 2.3
> > >> > > > >> >> > phone that has this bug.
> > >> > > > >> >> >
> > >> > > > >> >> > I think I'm going to release an application
to prove
> this
> > >> > point.
> > >> > > >  FOR
> > >> > > > >> >> > SCIENCE!
> > >> > > > >> >> >
> > >> > > > >> >> > Joe
> > >> > > > >> >> >
> > >> > > > >> >> >
> > >> > > > >> >> >> On Thu, Mar 29, 2012 at 1:53
PM, Joe Bowser <
> > >> > bowserj@gmail.com>
> > >> > > > >> wrote:
> > >> > > > >> >> >>
> > >> > > > >> >> >> > On Wed, Mar 28, 2012 at
9:09 PM, Bryce Curtis <
> > >> > > > >> curtis.bryce@gmail.com
> > >> > > > >> >> >> > >wrote:
> > >> > > > >> >> >> >
> > >> > > > >> >> >> > > I really haven't had
time to look at this in
> detail,
> > >> but
> > >> > > agree
> > >> > > > >> that
> > >> > > > >> >> >> > > anything related to
the webview should be in
> > >> > CordovaWebView.
> > >> > > >  As
> > >> > > > >> Fil
> > >> > > > >> >> >> > > mentioned, that includes
the history, plugin
> manager,
> > >> > > > >> whitelisting,
> > >> > > > >> >> &
> > >> > > > >> >> >> > > authentication + callback
server.
> > >> > > > >> >> >> > >
> > >> > > > >> >> >> > > I assume that overriding
chrome/view clients so the
> > >> user
> > >> > can
> > >> > > > >> specify
> > >> > > > >> >> >> > their
> > >> > > > >> >> >> > > own will still work.
> > >> > > > >> >> >> > >
> > >> > > > >> >> >> > >
> > >> > > > >> >> >> > What do you mean overriding
Chrome/View clients?  You
> > can
> > >> > use
> > >> > > > your
> > >> > > > >> own
> > >> > > > >> >> >> > classes if they inherit
from the CordovaChrome class
> or
> > >> > > > >> CordovaWebView
> > >> > > > >> >> >> > class, but if you just cram
a vanilla WebViewClient
> or
> > >> > > > >> >> WebChromeClient,
> > >> > > > >> >> >> > Cordova won't work at all.
 This has nothing to do
> with
> > >> > > > >> >> CordovaWebView,
> > >> > > > >> >> >> but
> > >> > > > >> >> >> > instead is a consequence
of the prompt hack that acts
> > as
> > >> our
> > >> > > > >> current
> > >> > > > >> >> >> > bridge.  If we want to make
it so that we're not
> > >> dependent
> > >> > on
> > >> > > > the
> > >> > > > >> >> >> > ChromeClient, we should
probably bring back
> > >> > > > addJavascriptInterface
> > >> > > > >> and
> > >> > > > >> >> >> put
> > >> > > > >> >> >> > it in the view itself.
> > >> > > > >> >> >> >
> > >> > > > >> >> >> > BTW: Does the emulator still
break when we do this on
> > >> > Android
> > >> > > > 2.3?
> > >> > > > >>  I
> > >> > > > >> >> >> think
> > >> > > > >> >> >> > I'll have to look into that.
> > >> > > > >> >> >> >
> > >> > > > >> >> >> > Joe
> > >> > > > >> >> >> >
> > >> > > > >> >> >> >
> > >> > > > >> >> >> > > On Wed, Mar 28, 2012
at 6:17 PM, Filip Maj <
> > >> fil@adobe.com
> > >> > >
> > >> > > > >> wrote:
> > >> > > > >> >> >> > >
> > >> > > > >> >> >> > > > Sorry for late
reply Joe!
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > > Looks great! As
for outstanding issues as per
> your
> > >> wiki
> > >> > > > article
> > >> > > > >> >> [1],
> > >> > > > >> >> >> I
> > >> > > > >> >> >> > > > would say move
everything WebView related, as
> well
> > as
> > >> > > > >> >> >> Cordova-specific
> > >> > > > >> >> >> > > > such as the plugin
manager, into
> > >> CordovaWebView.java. My
> > >> > > > >> thinking
> > >> > > > >> >> >> here
> > >> > > > >> >> >> > is
> > >> > > > >> >> >> > > > that, none of
scaffolding necessary to enable
> > device
> > >> > APIs
> > >> > > in
> > >> > > > >> the
> > >> > > > >> >> web
> > >> > > > >> >> >> > view
> > >> > > > >> >> >> > > > should be a burden
on the user - the
> CordovaWebView
> > >> > class
> > >> > > > >> should
> > >> > > > >> >> >> handle
> > >> > > > >> >> >> > > > all of that.
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > > It separates the
cordova-y bits as something the
> > >> WEbView
> > >> > > > needs
> > >> > > > >> to
> > >> > > > >> >> >> > manage
> > >> > > > >> >> >> > > > on its own, as
well, and cleans up the final
> > >> > > > Activity-extending
> > >> > > > >> >> class
> > >> > > > >> >> >> > to
> > >> > > > >> >> >> > > > be simpler. Our
end users should not have to
> worry
> > >> about
> > >> > > > that
> > >> > > > >> >> stuff,
> > >> > > > >> >> >> > nor
> > >> > > > >> >> >> > > > do they need to
see it in their own activities,
> or
> > >> the
> > >> > > > >> generated
> > >> > > > >> >> >> > > > activities the
baseline tooling within
> > >> cordova-android
> > >> > > > >> provides.
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > > IMO: history,
plugin manager, whitelisting,
> > >> > > authentication,
> > >> > > > >> should
> > >> > > > >> >> >> all
> > >> > > > >> >> >> > be
> > >> > > > >> >> >> > > > handled by CordovaWebView.
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > > [1]
> http://wiki.apache.org/cordova/CordovaWebView
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > > On 3/28/12 4:06
PM, "Joe Bowser" <
> > bowserj@gmail.com>
> > >> > > wrote:
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > > >BUMP! Are
we all on board with doing this?
> > >> > > > >> >> >> > > > >
> > >> > > > >> >> >> > > > >Joe
> > >> > > > >> >> >> > > > >
> > >> > > > >> >> >> > > > >On Tue, Mar
27, 2012 at 1:15 PM, Joe Bowser <
> > >> > > > >> bowserj@gmail.com>
> > >> > > > >> >> >> > wrote:
> > >> > > > >> >> >> > > > >
> > >> > > > >> >> >> > > > >> Hey
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > > >> I've
been working on the CordovaWebView
> branch,
> > >> and I
> > >> > > > think
> > >> > > > >> we
> > >> > > > >> >> >> need
> > >> > > > >> >> >> > to
> > >> > > > >> >> >> > > > >> discuss
where to put the CallbackServer and
> > >> > > > PluginManager in
> > >> > > > >> >> the
> > >> > > > >> >> >> new
> > >> > > > >> >> >> > > > >> implementation.
 I'm OK with it being in the
> > view,
> > >> > but
> > >> > > I
> > >> > > > did
> > >> > > > >> >> have
> > >> > > > >> >> >> it
> > >> > > > >> >> >> > > in
> > >> > > > >> >> >> > > > >>the
> > >> > > > >> >> >> > > > >> Client
before, and I'm wondering what people's
> > >> > thoughts
> > >> > > > are
> > >> > > > >> on
> > >> > > > >> >> >> that.
> > >> > > > >> >> >> > > > >>Also,
> > >> > > > >> >> >> > > > >> since
these are core pieces of Cordova on
> > Android,
> > >> > this
> > >> > > > may
> > >> > > > >> >> break
> > >> > > > >> >> >> > the
> > >> > > > >> >> >> > > > >> branch,
which is fine, but it'd be good if
> more
> > >> > people
> > >> > > > >> looked
> > >> > > > >> >> at
> > >> > > > >> >> >> > this
> > >> > > > >> >> >> > > > >> branch,
and discussed how this should work.
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > >
> > >> > > > >> >> >> >
> > >> > > > >> >> >>
> > >> > > > >> >>
> > >> > > > >>
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a
> > >> > > > >> >> >> > > > >>=shortlog;h=refs/heads/CordovaWebView
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > > >> http://wiki.apache.org/cordova/CordovaWebView
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > > >> Joe
> > >> > > > >> >> >> > > > >>
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > > >
> > >> > > > >> >> >> > >
> > >> > > > >> >> >> >
> > >> > > > >> >> >>
> > >> > > > >> >>
> > >> > > > >>
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

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