You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Joe Bowser <bo...@gmail.com> on 2015/07/15 00:07:50 UTC

[Android] Working with M - An update

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:

https://github.com/infil00p/cordova-android/tree/m-compat

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?

Re: [Android] Working with M - An update

Posted by Carlos Santana <cs...@gmail.com>.
So far permissions is the only thing we saw that would require some
thinking for Android M, other features are OK.  I would prefer to open a
bug and push very hard and get Andrew to fix geolocation thant bringing the
geo plugin from the dead.

With Android M, we should try to follow what the platform thinks is best
when handling permissions, plugins should only ask for the minimum they
need, and trigger the permission prompt at the plugin usage, not plugin
loading/booting webview.



On Wed, Jul 15, 2015 at 7:21 PM Joe Bowser <bo...@gmail.com> wrote:

> On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <ag...@chromium.org>
> 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 <bo...@gmail.com> 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:
> > >
> > > https://github.com/infil00p/cordova-android/tree/m-compat
> > >
> > > 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?
> > >
> >
>

Re: [Android] Working with M - An update

Posted by Joe Bowser <bo...@gmail.com>.
On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <ag...@chromium.org> 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 <bo...@gmail.com> 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:
> >
> > https://github.com/infil00p/cordova-android/tree/m-compat
> >
> > 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?
> >
>

Re: [Android] Working with M - An update

Posted by Andrew Grieve <ag...@chromium.org>.
Yes! It's fixed :) Great work Joe on finding this!

On Tue, Aug 18, 2015 at 10:51 AM, Karen Tran <kt...@gmail.com> wrote:

> I just tried the manual geolocation tests on mobilespec with the 3rd
> preview and I am able to get location data now.
> Thanks for the help Andrew!
>
> On Mon, Aug 17, 2015 at 11:29 AM, Carlos Santana <cs...@gmail.com>
> wrote:
>
> > Hey Andrew any update on this, Do you have a link we can track progress?
> Or
> > do you know if latest preview dropped contains this fix?
> >
> > By the way when is Android M suppose to be General Available?
> >
> >
> > On Fri, Jul 24, 2015 at 1:56 PM Andrew Grieve <ag...@chromium.org>
> > wrote:
> >
> > > Was out last week, but did manage to escalate the geolocation bug. Will
> > > hopefully be fixed for official M release :)
> > >
> > > On Thu, Jul 16, 2015 at 1:31 PM, Joe Bowser <bo...@gmail.com> wrote:
> > >
> > > > Sent you the test app off-list.
> > > >
> > > > On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <agrieve@chromium.org
> >
> > > > 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
> > > > > - Might be better to copy how CordovaInterfaceImpl does
> > > > > startActivityForResult/onActivityResponse rather than have
> > > PluginManager
> > > > do
> > > > > it.
> > > > >
> > > > >
> > > > > On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <bo...@gmail.com>
> > 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:
> > > > > >
> > > > > > https://github.com/infil00p/cordova-android/tree/m-compat
> > > > > >
> > > > > > 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?
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [Android] Working with M - An update

Posted by Karen Tran <kt...@gmail.com>.
I just tried the manual geolocation tests on mobilespec with the 3rd
preview and I am able to get location data now.
Thanks for the help Andrew!

On Mon, Aug 17, 2015 at 11:29 AM, Carlos Santana <cs...@gmail.com>
wrote:

> Hey Andrew any update on this, Do you have a link we can track progress? Or
> do you know if latest preview dropped contains this fix?
>
> By the way when is Android M suppose to be General Available?
>
>
> On Fri, Jul 24, 2015 at 1:56 PM Andrew Grieve <ag...@chromium.org>
> wrote:
>
> > Was out last week, but did manage to escalate the geolocation bug. Will
> > hopefully be fixed for official M release :)
> >
> > On Thu, Jul 16, 2015 at 1:31 PM, Joe Bowser <bo...@gmail.com> wrote:
> >
> > > Sent you the test app off-list.
> > >
> > > On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <ag...@chromium.org>
> > > 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
> > > > - Might be better to copy how CordovaInterfaceImpl does
> > > > startActivityForResult/onActivityResponse rather than have
> > PluginManager
> > > do
> > > > it.
> > > >
> > > >
> > > > On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <bo...@gmail.com>
> 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:
> > > > >
> > > > > https://github.com/infil00p/cordova-android/tree/m-compat
> > > > >
> > > > > 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?
> > > > >
> > > >
> > >
> >
>

Re: [Android] Working with M - An update

Posted by Carlos Santana <cs...@gmail.com>.
Hey Andrew any update on this, Do you have a link we can track progress? Or
do you know if latest preview dropped contains this fix?

By the way when is Android M suppose to be General Available?


On Fri, Jul 24, 2015 at 1:56 PM Andrew Grieve <ag...@chromium.org> wrote:

> Was out last week, but did manage to escalate the geolocation bug. Will
> hopefully be fixed for official M release :)
>
> On Thu, Jul 16, 2015 at 1:31 PM, Joe Bowser <bo...@gmail.com> wrote:
>
> > Sent you the test app off-list.
> >
> > On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <ag...@chromium.org>
> > 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
> > > - Might be better to copy how CordovaInterfaceImpl does
> > > startActivityForResult/onActivityResponse rather than have
> PluginManager
> > do
> > > it.
> > >
> > >
> > > On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <bo...@gmail.com> 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:
> > > >
> > > > https://github.com/infil00p/cordova-android/tree/m-compat
> > > >
> > > > 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?
> > > >
> > >
> >
>

Re: [Android] Working with M - An update

Posted by Andrew Grieve <ag...@chromium.org>.
Was out last week, but did manage to escalate the geolocation bug. Will
hopefully be fixed for official M release :)

On Thu, Jul 16, 2015 at 1:31 PM, Joe Bowser <bo...@gmail.com> wrote:

> Sent you the test app off-list.
>
> On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <ag...@chromium.org>
> 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
> > - Might be better to copy how CordovaInterfaceImpl does
> > startActivityForResult/onActivityResponse rather than have PluginManager
> do
> > it.
> >
> >
> > On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <bo...@gmail.com> 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:
> > >
> > > https://github.com/infil00p/cordova-android/tree/m-compat
> > >
> > > 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?
> > >
> >
>

Re: [Android] Working with M - An update

Posted by Joe Bowser <bo...@gmail.com>.
Sent you the test app off-list.

On Wed, Jul 15, 2015 at 11:12 AM Andrew Grieve <ag...@chromium.org> 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
> - Might be better to copy how CordovaInterfaceImpl does
> startActivityForResult/onActivityResponse rather than have PluginManager do
> it.
>
>
> On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <bo...@gmail.com> 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:
> >
> > https://github.com/infil00p/cordova-android/tree/m-compat
> >
> > 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?
> >
>

Re: [Android] Working with M - An update

Posted by Andrew Grieve <ag...@chromium.org>.
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
- Might be better to copy how CordovaInterfaceImpl does
startActivityForResult/onActivityResponse rather than have PluginManager do
it.


On Tue, Jul 14, 2015 at 6:07 PM, Joe Bowser <bo...@gmail.com> 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:
>
> https://github.com/infil00p/cordova-android/tree/m-compat
>
> 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?
>