cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bowser <>
Subject Re: [Android] Working with M - An update
Date Wed, 15 Jul 2015 23:21:29 GMT
On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <> wrote:

> Thanks for looking into this Joe! The runtime permissions is quite a big
> change!
> M is still in preview, so if you find any webview bugs, please feel free to
> send me a repro app and I'll do my best to get it fixed.
> In terms of Cordova API changes, here's some thoughts on your branch:
> - Plugins may want to request different perms at different times, so I'd
> remove new functions from CordovaPlugin except onRequestPermissionResult

I disagree.  At most any plugin should be requesting only one group of
permissions, and not different permissions at different times.  If the
plugin needs that many permissions, maybe it should be broken up into
multiple plugins.

> - Might be better to copy how CordovaInterfaceImpl does
> startActivityForResult/onActivityResponse rather than have PluginManager
> do it.
That might make a bit more sense, except we can't guarantee that
CordovaInterfaceImpl is being used.  We still have applications that embed
the webview where the CordovaActivity is implementing the CordovaInterface,
and the permission code could get lost.

However, since should be for 5.0, we could always change the API and rid
ourselves of the weirdness of having a CordovaInterface entirely and just
have a Delegate or something.  (And change CordovaWebView to
CordovaWebInterface, so that it's easier for people to know what's going
on, etc.)

The number of changes we can get away with w.r.t. the API is directly
proportionate to the gap between releases, and I think we want 5.0.x to be
released when M actually becomes real, which isn't the same as the release
date of M (because a lot of people don't own Nexus devices and instead use
Samsung, HTC or Moto).

Does anyone else have any thoughts on this?

> On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <> wrote:
> > So, since Cordova-Android wasn't completely killed off by Google at the
> > last Google IO like I thought it would be, we're going to have to make
> sure
> > it's compatible with Android M (Marshmellow? Marzipan?).  The good news
> is
> > that this only affects the following plugins:
> >
> > MediaRecorder
> > Contacts
> > File
> > FileTransfer
> > Geolocation
> >
> > Now, for the really bad news.  We might have to write a Geolocation
> plugin
> > for Android again, because Google's Android WebView doesn't play nice
> with
> > Android's new permission system, and even when you do grant the
> application
> > containing the process permission to use geolocation, you still get a
> > location error.  I still have to test this further, but it also may be
> > possible that file URIs no longer have the ability to get the geolocation
> > either, which would be weird, since this would be a Chrome thing and not
> an
> > Android thing.
> >
> > Given our poor track record of maintaining plugins in general, and the
> > weird errors with Geolocation, I'm not really wanting to bring back the
> > code, so I'm hoping that this gets resolved in M3 with the next dev
> version
> > of M.
> >
> > But so far, I have the changes that I made to Cordova on a private branch
> > on Github that people can see here:
> >
> >
> >
> > Let me know if you have any questions.  I'm not sure whether this makes
> > perfect sense yet, but I think these API changes indicate that we should
> > probably bump the version to 5.0 once M comes out.
> >
> > Thoughts? Questions?
> >

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