Seems like we have momentum on this. So barring any negative comments from Microsoft about this approach whom do I contact to setup a new repo on Apache GIT?
Simon Mac Donald http://hi.im/simonmacdonald On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <jcesarmob...@gmail.com> wrote: > I like it too > A lot of 3rd party plugins are adding that classes too > > BTW, there is a JIRA issue to add PermissionHelper.java to cordova-android > https://issues.apache.org/jira/browse/CB-10656 > > > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <csantan...@gmail.com>: > > > Simon I like approach > > Can we move to this approach now? Yes > > Then once the downstream distro's support > > API 23 and the new API methods in CordovaInterface we can move this into > > Cordova Android proper? Yes > > > > +1 > > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bows...@gmail.com> wrote: > > > > > LGTM! > > > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald < > > > simon.macdon...@gmail.com> > > > wrote: > > > > > > > I really hate the fact we need to add that PermissionHelper.java file > > to > > > > each and every plugin that requires API 23 permission support. > > Especially > > > > since the package the class is in is different for each plugin so we > > can > > > > two, three or more copies of the same code in an app. That's just > > > wasteful. > > > > > > > > Joe responded to my bitching by saying "Maybe we should create a > > > > permissions plugin for this and make everything go through that" > which > > > set > > > > my mind a racing (perhaps I was just over caffeinated) and I decided > to > > > > prototype it this afternoon. > > > > > > > > I've created a new plugin called cordova-plugin-compat over at > > > > https://github.com/macdonst/cordova-plugin-compat and all it does > is > > > > deliver the org.apache.cordova.PermissionHelper class. I then turned > > > around > > > > and removed the class from the camera plugin and make > > > cordova-plugin-camera > > > > depend on cordova-plugin-compat. > > > > > > > > You can see that change over on my camera fork: > > > > > > > > https://github.com/macdonst > > > > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e > > > > > > > > Can we move to this approach now? Then once the downstream distro's > > > support > > > > API 23 and the new API methods in CordovaInterface we can move this > > into > > > > Cordova Android proper? > > > > > > > > Thoughts? Are there use cases this approach doesn't work for? > > > > > > > > > > > > Simon Mac Donald > > > > http://hi.im/simonmacdonald > > > > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll <rikn...@microsoft.com > > > > > > wrote: > > > > > > > > > Yep, I left it out of the first round by mistake; I was looking at > an > > > out > > > > > of date version of cordova-plugin-media at the time. I've got a PR > > open > > > > > that adds the helper here: > > > > > > > > > > https://github.com/apache/cordova-plugin-media/pull/79 > > > > > > > > > > Thanks, > > > > > Richard > > > > > > > > > > -----Original Message----- > > > > > From: julio cesar sanchez [mailto:jcesarmob...@gmail.com] > > > > > Sent: Friday, February 5, 2016 7:20 AM > > > > > To: dev@cordova.apache.org > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23 > > > > > > > > > > Yeah, that one. > > > > > > > > > > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony < > tony.ho...@intel.com> > > > > > escribió: > > > > > > > > > > > It took me a while to find it, but I guess you mean CB-10455? > > > > > > > > > > > > > > > > > > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" < > jcesarmob...@gmail.com > > > > > > <javascript:;>> wrote: > > > > > > > > > > > > >I think we just forgot, somebody mentioned this on slack and > there > > > is > > > > > > >an issue open on JIRA. > > > > > > > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.ho...@intel.com > > > > > > <javascript:;>>: > > > > > > > > > > > > > >> Earlier in this thread, Richard stated: > > > > > > >> >> This change has been merged into the file, camera, > > geolocation, > > > > > > >> >> and > > > > > > >> contacts plugins (media did not actually require any change). > > > > > > >> > > > > > > >> > > > > > > >> Media was updated on 1/15 but it still has a "cordova-android > > > > > > >=5.0.0-dev" > > > > > > >> engine tag. > > > > > > >> I couldn't find any other discussion about this on the list > and > > > > > > >> wondered why it was retained for media. > > > > > > >> Was this an oversight? > > > > > > >> > > > > > > >> > > > > > > >> Thanks! > > > > > > >> Tony > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" < > > simon.macdon...@gmail.com > > > > > > <javascript:;>> wrote: > > > > > > >> > > > > > > >> >LGTM > > > > > > >> > > > > > > > >> >+1 > > > > > > >> > > > > > > > >> >Simon Mac Donald > > > > > > >> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi > > > > > > >> > > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c > > > > > > >> > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0 > > > > > > >> > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d > > > > > > >> > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser < > bows...@gmail.com > > > > > > <javascript:;>> wrote: > > > > > > >> > > > > > > > >> >> Sorry, wrong PR: > > > > > > >> >> > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136 > > > > > > >> >> > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser < > > > bows...@gmail.com > > > > > > <javascript:;>> wrote: > > > > > > >> >> > > > > > > >> >> > So, what does the timeline look like for a Plugins > release. > > > I > > > > > > >> >> > just > > > > > > >> did a > > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms: > URIs > > so > > > > > > >> >> > they > > > > > > do > > > > > > >> >> > stuff, and it'd be cool if this also made if this got > > looked > > > > > > >> >> > over > > > > > > and > > > > > > >> >> > landed before the next release. > > > > > > >> >> > > > > > > > >> >> > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135 > > > > > > >> >> > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana < > > > > > > csantan...@gmail.com <javascript:;> > > > > > > >> > > > > > > > >> >> > wrote: > > > > > > >> >> > > > > > > > >> >> >> I agree with final compromise, I also had a discussion > > with > > > > > > >> >> >> Nikhil > > > > > > >> >> during > > > > > > >> >> >> holiday break offline and understood the situation, some > > 3rd > > > > > > >> >> >> party > > > > > > >> >> plugins > > > > > > >> >> >> are not open source and customers/devs don't move as > fast > > as > > > > > > >> >> >> we > > > > > > wish, > > > > > > >> >> but > > > > > > >> >> >> having a CLI 6 with latest plugins being backwards > > > compatible > > > > > > >> >> >> with > > > > > > >> lower > > > > > > >> >> >> Android API is good base for developers to start > > upgrading. > > > > > > >> >> >> > > > > > > >> >> >> > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill < > > > > > > stevengil...@gmail.com <javascript:;>> > > > > > > >> >> >> wrote: > > > > > > >> >> >> > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread > > > > > > >> >> >> > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll < > > > > > > >> rikn...@microsoft.com <javascript:;> > > > > > > >> >> > > > > > > > >> >> >> > wrote: > > > > > > >> >> >> > > > > > > > >> >> >> > > Hey all, > > > > > > >> >> >> > > > > > > > > >> >> >> > > This change has been merged into the file, camera, > > > > > > geolocation, > > > > > > >> and > > > > > > >> >> >> > > contacts plugins (media did not actually require any > > > > > change). > > > > > > I > > > > > > >> was > > > > > > >> >> >> able > > > > > > >> >> >> > to > > > > > > >> >> >> > > build and run mobilespec on cordova-android 4.0.0 > and > > > > > > >> >> >> cordova-android's > > > > > > >> >> >> > > master. We should probably push for a plugins > release > > > > > > >> >> >> > > soon, > > > > > > since > > > > > > >> >> >> there > > > > > > >> >> >> > are > > > > > > >> >> >> > > also some major bug fixes to the contacts and camera > > > > > > >> >> >> > > plugins > > > > > > that > > > > > > >> >> were > > > > > > >> >> >> > > recently pushed. > > > > > > >> >> >> > > > > > > > > >> >> >> > > Thanks, > > > > > > >> >> >> > > Richard > > > > > > >> >> >> > > > > > > > > >> >> >> > > -----Original Message----- > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto: > > nikhi...@microsoft.com > > > > > > <javascript:;>] > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;> > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API > 23 > > > > > > >> >> >> > > > > > > > > >> >> >> > > We had a good discussion about this offline with > Joe, > > > > > > >> >> >> > > Simon, > > > > > > >> Steve, > > > > > > >> >> >> > Jesse, > > > > > > >> >> >> > > Parashu and Jason. We came to the following > agreement: > > > > > > >> >> >> > > This is a temporary fix to the plugins which we need > > to > > > > > > >> >> >> > > take > > > > > > to > > > > > > >> >> ensure > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge plugins > > > does > > > > > > >> >> >> > > not > > > > > > >> break > > > > > > >> >> >> for > > > > > > >> >> >> > our > > > > > > >> >> >> > > users. We will pursue the change for all the > affected > > > > > plugins. > > > > > > >> This > > > > > > >> >> >> will > > > > > > >> >> >> > go > > > > > > >> >> >> > > out in the next PLUGINS release which will happen > > before > > > > > > >> >> >> > > the > > > > > > >> Cordova > > > > > > >> >> >> 6.0 > > > > > > >> >> >> > > release. Since this a temporary fix, we aim to > remove > > it > > > > > > >> >> >> > > in 6 > > > > > > >> months > > > > > > >> >> >> > > (giving reasonable time for our user base to move to > > > > > > >> >> >> > > Cordova > > > > > > 6.x+ > > > > > > >> >> >> which > > > > > > >> >> >> > > will have a better plugin version pinning > mechanism). > > > > > > >> >> >> > > > > > > > > >> >> >> > > Thanks, > > > > > > >> >> >> > > Nikhil > > > > > > >> >> >> > > > > > > > > >> >> >> > > -----Original Message----- > > > > > > >> >> >> > > From: Simon MacDonald [mailto: > > simon.macdon...@gmail.com > > > > > > <javascript:;>] > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;> > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API > 23 > > > > > > >> >> >> > > > > > > > > >> >> >> > > I'm going to play devils advocate a bit here: > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > > There are valid reasons why many app developers > > might > > > > > > >> >> >> > > > not be > > > > > > >> ready > > > > > > >> >> >> to > > > > > > >> >> >> > > > move to API level 23: > > > > > > >> >> >> > > > 1) They have an app which is stabilizing or in > > > > > > >> >> >> > > > maintenance > > > > > > >> mode > > > > > > >> >> >> and > > > > > > >> >> >> > > > they don't want to risk destabilization by moving > > to a > > > > > > >> >> >> > > > new > > > > > > >> major > > > > > > >> >> >> > > > Cordova version, Cordova Android platform, and > > Android > > > > > > >> >> >> > > > API > > > > > > >> level. > > > > > > >> >> >> > > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > If the developer is not ready to move to a new > version > > > of > > > > > > Cordova > > > > > > >> >> >> Android > > > > > > >> >> >> > > or the Android API would it not also follow that > they > > > > > > shouldn't > > > > > > >> be > > > > > > >> >> >> > changing > > > > > > >> >> >> > > their plugin versions? > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > > 2) They are using a 3rd-party plugin which has > not > > > > > > >> >> >> > > > yet > > > > > > been > > > > > > >> >> >> updated > > > > > > >> >> >> > > > to request Android permissions as required by API > > > level > > > > > 23. > > > > > > >> There > > > > > > >> >> >> are > > > > > > >> >> >> > > > probably a lot of plugins affected, since access > to > > > any > > > > > > >> >> >> > > > of > > > > > > the > > > > > > >> >> >> > > > following things on Android M requires runtime > > > > > > >> >> >> > > > permission > > > > > > >> >> requests: > > > > > > >> >> >> > > > calendar, contacts, phone, camera, microphone, > > > > > > >> >> >> > > > location, > > > > > > >> beacons, > > > > > > >> >> >> > > sensors, SMS, storage. > > > > > > >> >> >> > > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are using > > doesn't > > > > > > support > > > > > > >> >> >> Android > > > > > > >> >> >> > M > > > > > > >> >> >> > > they should either a) not upgrade or b) send a PR to > > the > > > > > > plugin > > > > > > >> >> >> > maintainer > > > > > > >> >> >> > > so everyone can benefit. > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > > 3) They might not have the capacity or ability > to > > > > > > >> >> >> > > > test > > > > > > their > > > > > > >> app > > > > > > >> >> >> on > > > > > > >> >> >> > > > devices running Android M. Because API 23 enables > > the > > > > > > >> >> >> > > > new > > > > > > >> >> >> permissions > > > > > > >> >> >> > > > model only on Android M, it requires testing on > that > > > > > > platform. > > > > > > >> >> >> > > > > > > > > > >> >> >> > > > > > > > > > >> >> >> > > Everyone has access to the Android emulator. > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > > In any of the above cases, developers might still > > like > > > > > > >> >> >> > > > to > > > > > > >> benefit > > > > > > >> >> >> from > > > > > > >> >> >> > > > some of the major bug fixes in those 5 popular > core > > > > > > >> >> >> > > > plugins > > > > > > >> >> >> mentioned > > > > > > >> >> >> > > > below. Or even if they weren't specifically > looking > > > for > > > > > > >> >> >> > > > bug > > > > > > >> fixes, > > > > > > >> >> >> it > > > > > > >> >> >> > > > would be a much better experience if adding or > > > updating > > > > > > >> >> >> > > > one > > > > > > of > > > > > > >> >> those > > > > > > >> >> >> > > > plugins would just work, rather than failing on > > > > > > >> >> >> > > > Android. The explanation for the failure will not > be > > > > > > >> >> >> > > > obvious to many > > > > > > users, > > > > > > >> if > > > > > > >> >> >> they > > > > > > >> >> >> > > > overlooked the warning when installing the plugin > or > > > if > > > > > > >> >> >> > > > they > > > > > > >> were > > > > > > >> >> >> > > > using another tool to add the plugin where the > > warning > > > > > > wasn't > > > > > > >> >> >> surfaced. > > > > > > >> >> >> > > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > Seems like you are describing a tooling problem > here. > > > If > > > > > > >> >> >> > > the > > > > > > >> tool > > > > > > >> >> >> > doesn't > > > > > > >> >> >> > > surface the warning or allows the user to add a > plugin > > > > > > >> >> >> > > that is > > > > > > >> >> >> > incompatible > > > > > > >> >> >> > > with the version of Cordova Android that is being > used > > > > > > >> >> >> > > really > > > > > > >> sounds > > > > > > >> >> >> > like a > > > > > > >> >> >> > > bug in the tooling to me. > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > > Of course developers should be encouraged to > upgrade > > > to > > > > > > >> >> >> > > > the > > > > > > >> latest > > > > > > >> >> >> > > > most secure highest-quality version of Cordova. > But > > > the > > > > > > >> >> >> encouragement > > > > > > >> >> >> > > > does not need to be so forceful. This proposed > > change > > > > > > >> >> >> > > > gives > > > > > > >> >> >> developers > > > > > > >> >> >> > > > more time to upgrade, and allows for more choice > > about > > > > > > >> >> >> > > > when > > > > > > to > > > > > > >> >> >> upgrade > > > > > > >> >> >> > > > individual parts > > > > > > >> >> >> > > > (plugins) rather than limiting them to > > all-or-nothing. > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > I would argue that the developer has an infinite > > amount > > > > > > >> >> >> > > of > > > > > > time > > > > > > >> to > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to the > > latest > > > > > > Cordova > > > > > > >> >> >> Android > > > > > > >> >> >> > or > > > > > > >> >> >> > > Android API. They can continue to use the same > version > > > of > > > > > > Cordova > > > > > > >> >> >> Android > > > > > > >> >> >> > > and plugins that are currently working in their app. > > If > > > > > > >> >> >> > > the > > > > > > >> >> developer > > > > > > >> >> >> is > > > > > > >> >> >> > > using semver properly and we do our job right they > > > > > > >> >> >> > > shouldn't > > > > > > >> pick up > > > > > > >> >> >> > > breaking changes. For instance, if the API of a > plugin > > > > > > changes we > > > > > > >> >> bump > > > > > > >> >> >> > the > > > > > > >> >> >> > > major version of the plugin so users who setup their > > > > > > config.xml > > > > > > >> to > > > > > > >> >> >> use: > > > > > > >> >> >> > > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" > /> > > > > > > >> >> >> > > > > > > > > >> >> >> > > will effectively prevent the user from picking up > the > > > > > > >> >> >> > > breaking > > > > > > >> >> change > > > > > > >> >> >> in > > > > > > >> >> >> > > camera version 2.0.0. > > > > > > >> >> >> > > > > > > > > >> >> >> > > Simon Mac Donald > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > >> >> >> > > > > > > >> >> > > > > > > >> > > > > > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im% > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com > > > %7c84fb6405edf > > > > > > > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d > > > > > > >> >> >> > > B > > > > > > >> >> >> > > > > > > >> > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK > > > > > > >> KCB > > > > > > >> >> >> > > [ X ܚX K K[XZ[ > > > > > > >> >> >> > > ] ][ X ܚX P ܙ ݘK \ X K ܙ B ܈ Y ] [ۘ[ [X[ > > > > > K[XZ[ > > > > > > >> >> >> > > ] Z [ ܙ ݘK \ X K ܙ B > > > > > > >> >> >> > > > > > > > > >> >> >> > > > > > > > >> >> >> > > > > > > >> >> > > > > > > > >> >> > > > > > > > >> >> > > > > > > >> > > > > > > >> > > > ------------------------------------------------------------------- > > > > > > >> -- To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org > > > > > > <javascript:;> > > > > > > >> For additional commands, e-mail: dev-h...@cordova.apache.org > > > > > > <javascript:;> > > > > > > >> > > > > > > > > > > > > > > > > > > > > >