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 Sat, 31 Mar 2012 05:20:47 GMT
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