Sorry, didn't mean to ignore it. There's no change in that scenario though (you still need to provide a separate CordovaInterface of you don't extend CordovaActivity, just as before), except now it's a bit easier to do so, since you can new leverage the CordovaInterfaceImpl helper class. Does that make sense?
On Fri, Jan 30, 2015 at 10:45 AM, Joe Bowser <bows...@gmail.com> wrote: > You still haven't answered the question about dual inheritance, and how > people are supposed to use the embedded use case, or you're choosing to > ignore it. How are people supposed to inherit from the activity if they > are already inheriting from another activity, and how are they supposed to > use a CordovaWebView in that case? > > > On Fri Jan 30 2015 at 7:29:39 AM Andrew Grieve <agri...@chromium.org> > wrote: > >> Just ran them and see no difference in failures with/without change. Did >> need to update two spots which were assuming Activity==Interface, but >> that's kind of the point. >> >> On Thu, Jan 29, 2015 at 9:39 PM, Joe Bowser <bows...@gmail.com> wrote: >> >>> And did you run any of the existing tests? This is only the feature that >>> caused the JUnit tests to exist in the first place. >>> >>> On Thu, Jan 29, 2015, 6:12 PM Andrew Grieve <agri...@chromium.org> >>> wrote: >>> >>>> On Wed, Jan 28, 2015 at 3:32 PM, Andrew Grieve <agri...@chromium.org> >>>> wrote: >>>> >>>> > >>>> > >>>> > On Wed, Jan 28, 2015 at 1:44 PM, Joe Bowser <bows...@gmail.com> >>>> wrote: >>>> > >>>> >> On Wed Jan 28 2015 at 10:38:07 AM Andrew Grieve < >>>> agri...@chromium.org> >>>> >> wrote: >>>> >> >>>> >> > >>>> >> > - Make CordovaActivity not implement CordovaInterface, but instead >>>> >> provide >>>> >> > CordovaInterface via an inner class (to solidify that you can't >>>> cast the >>>> >> > activity to CordovaInterface and expect that to work - some used >>>> to do >>>> >> this >>>> >> > but I think we've cleaned it all up now) >>>> >> > >>>> >> > This literally came out of nowhere. Why are you trying so hard to >>>> >> remove >>>> >> the embedded view use case? What if someone is implementing an >>>> activity >>>> >> that inherits from another activity like MapActivity? This API >>>> change >>>> >> came >>>> >> without any discussion. >>>> >> >>>> > I meant for this to be discussion. Certainly this is non-critical, >>>> but I >>>> > think it makes the embedded use-case easier not harder. Will do it in >>>> a PR >>>> > for review. >>>> > >>>> >>>> Here's the issue: https://issues.apache.org/jira/browse/CB-8382 >>>> and PR: https://github.com/apache/cordova-android/pull/152 >>>> >>>> >>>> > >>>> > >>>> >> >>>> >> All of this can be done in a few days, but I'd also like to see the >>>> dust >>>> >> > settle a bit before going forward with 4.0.0 release. E.g. At >>>> least wait >>>> >> > until we do a blog post for 3.7.0 (are you doing this?), and have >>>> done a >>>> >> > tools release that updates the pinned version to 3.7.0 >>>> >> > >>>> >> > >>>> >> If someone else wants to do the blog post on that, that's fine. And >>>> I >>>> >> agree that there should be a tools release with 3.7.0 pinned, even >>>> though >>>> >> 3.7.0 is really just a technicality so we can get 4.0.0 out IMO. >>>> >> >>>> > >>>> > 3.7.0 adds Lollipop support. That's pretty big! I won't have time to >>>> get >>>> > to it this week if there are any other takers? >>>> > >>>> > >>>> >> >>>> >> >>>> >> > >>>> >> > On Wed, Jan 28, 2015 at 12:52 PM, Joe Bowser <bows...@gmail.com> >>>> wrote: >>>> >> > >>>> >> > > Reminder: failures with plugins are not blockers. I've run into >>>> that >>>> >> > > contact issue numerous times when testing with my personal >>>> device. I >>>> >> > > recommend making sure that your contacts are completely clean so >>>> that >>>> >> you >>>> >> > > don't get these weird results. >>>> >> > > >>>> >> > > The file failures have been happening for quite a while, and >>>> those are >>>> >> > not >>>> >> > > blockers for the platform release either. Do these failures >>>> happen >>>> >> on a >>>> >> > > platform other than ICS? >>>> >> > > >>>> >> > > On Wed, Jan 28, 2015, 9:06 AM Murat Sutunc < >>>> mura...@microsoft.com> >>>> >> > wrote: >>>> >> > > >>>> >> > > > I’ve ran the mobile-spec tests on android 4.0.3 with 4.0.x and >>>> there >>>> >> > are >>>> >> > > > some failures. I’ve searched the jira for issues but wasn’t >>>> able to >>>> >> > find >>>> >> > > > any. Has anyone else ran into these issues before? >>>> >> > > > >>>> >> > > > org.apache.cordova.contacts.tests.tests >> Contacts >>>> >> > (navigator.contacts) >>>> >> > > > Round trip Contact tests (creating + save + delete + find). >>>> >> > > > Contacts.spec.24 Creating, saving, finding a contact should >>>> work, >>>> >> after >>>> >> > > > which we should not be able to find it, and we should not be >>>> able to >>>> >> > > delete >>>> >> > > > it again. >>>> >> > > > • Expected 2 to be 1 >>>> >> > > > • Expected 1 to be 0 >>>> >> > > > it("contacts.spec.24 Creating, saving, finding a >>>> contact >>>> >> > should >>>> >> > > > work, removing it should work, after which we should not be >>>> able to >>>> >> > find >>>> >> > > > it, and we should not be able to delete it again.", function >>>> (done) >>>> >> { >>>> >> > > > // Save method is not supported on Windows >>>> platform >>>> >> > > > if (isWindows) { >>>> >> > > > pending(); >>>> >> > > > return; >>>> >> > > > } >>>> >> > > > if (isWindowsPhone8) { >>>> >> > > > done(); >>>> >> > > > return; >>>> >> > > > } >>>> >> > > > gContactObj = new Contact(); >>>> >> > > > gContactObj.name = new ContactName(); >>>> >> > > > gContactObj.name.familyName = "DeleteMe"; >>>> >> > > > gContactObj.save(function(c_obj) { >>>> >> > > > var findWin = function(cs) { >>>> >> > > > expect(cs.length).toBe(1); >>>> >> > > > // update to have proper saved id >>>> >> > > > gContactObj = cs[0]; >>>> >> > > > gContactObj.remove(function() { >>>> >> > > > var findWinAgain = function(seas) { >>>> >> > > > expect(seas.length).toBe(0); >>>> >> > > > gContactObj.remove(function() { >>>> >> > > > throw("success callback >>>> called >>>> >> after >>>> >> > > > non-existent Contact object called remove(). Test failed."); >>>> >> > > > }, function(e) { >>>> >> > > > >>>> expect(e.code).toBe(ContactErr >>>> >> > > > or.UNKNOWN_ERROR); >>>> >> > > > done(); >>>> >> > > > }); >>>> >> > > > }; >>>> >> > > > var findFailAgain = function(e) { >>>> >> > > > throw("find error callback >>>> invoked >>>> >> after >>>> >> > > > delete, test failed."); >>>> >> > > > }; >>>> >> > > > var obj = new ContactFindOptions(); >>>> >> > > > obj.filter="DeleteMe"; >>>> >> > > > obj.multiple=true; >>>> >> > > > navigator.contacts.find([" >>>> displayName", >>>> >> > "name", >>>> >> > > > "phoneNumbers", "emails"], findWinAgain, findFailAgain, obj); >>>> >> > > > }, function(e) { >>>> >> > > > throw("Newly created contact's remove >>>> >> > function >>>> >> > > > invoked error callback. Test failed."); >>>> >> > > > }); >>>> >> > > > }; >>>> >> > > > var findFail = fail; >>>> >> > > > var obj = new ContactFindOptions(); >>>> >> > > > obj.filter="DeleteMe"; >>>> >> > > > obj.multiple=true; >>>> >> > > > navigator.contacts.find(["displayName", >>>> "name", >>>> >> > > > "phoneNumbers", "emails"], findWin, findFail, obj); >>>> >> > > > }, fail); >>>> >> > > > }); >>>> >> > > > >>>> >> > > > org.apache.cordova.file.tests.test >> file api filereader >>>> >> file.spec.81 >>>> >> > > > (couldn’t find a JIRA issue) >>>> >> > > > • Expected `` to be null >>>> >> > > > describe('FileReader', function () { >>>> >> > > > it("file.spec.81 should have correct methods", >>>> function >>>> >> () >>>> >> > { >>>> >> > > > var reader = new FileReader(); >>>> >> > > > expect(reader).toBeDefined(); >>>> >> > > > expect(typeof >>>> >> > > reader.readAsBinaryString).toBe('function'); >>>> >> > > > expect(typeof >>>> >> reader.readAsDataURL).toBe('function'); >>>> >> > > > expect(typeof reader.readAsText).toBe(' >>>> function'); >>>> >> > > > expect(typeof reader.readAsArrayBuffer). >>>> >> > toBe('function'); >>>> >> > > > expect(typeof reader.abort).toBe('function'); >>>> >> > > > //////////// test below fails //////////// >>>> >> > > > //////////// '' !== null //////////// >>>> >> > > > expect(reader.result).toBe(null); >>>> >> > > > }); >>>> >> > > > }); >>>> >> > > > >>>> >> > > > org.apache.cordova.file.tests.tests >> file api parent >>>> references >>>> >> > > > file.spec.111 (couldn’t find a fire issue): >>>> >> > > > • root.getFile succeeds, it is expected to fail. >>>> >> > > > var fileName = "traverse.file.uri"; >>>> >> > > > // create a new file entry >>>> >> > > > createFile(fileName, function (entry) { >>>> >> > > > // lookup file system entry >>>> >> > > > root.getFile('../' + fileName, { >>>> >> > > > create : false >>>> >> > > > }, succeed.bind(null, done, >>>> >> > > > "root.getFile('../"+fileName+ "')- Unexpected success >>>> callback, it >>>> >> > should >>>> >> > > > not traverse abvoe the root directory"), >>>> >> > > > function (error) { //..... >>>> >> > > > >>>> >> > > > org.apache.cordova.file-transfer.tests.tests >> FileTransfer >>>> methods >>>> >> > > > download filetransfer.spec.6 should get 401 status on http >>>> basic >>>> >> auth >>>> >> > > > failure >>>> >> > > > • Expected null to be 401 >>>> >> > > > it('filetransfer.spec.6 should get 401 status >>>> on >>>> >> http >>>> >> > > > basic auth failure', function (done) { >>>> >> > > > >>>> >> > > > // NOTE: >>>> >> > > > // using server without credentials >>>> >> > > > var fileURL = SERVER + >>>> '/download_basic_auth'; >>>> >> > > > >>>> >> > > > var downloadFail = function (error) { >>>> >> > > > expect(error.http_status).toBe(401); >>>> >> > > > expect(error.http_status).not. >>>> toBe(404, >>>> >> > "Ensure " >>>> >> > > > + fileURL + " is in the white list"); >>>> >> > > > done(); >>>> >> > > > }; >>>> >> > > > >>>> >> > > > transfer.download(fileURL, localFilePath, >>>> >> > > > unexpectedCallbacks.httpWin, downloadFail); >>>> >> > > > }); >>>> >> > > > >>>> >> > > > org.apache.cordova.geolocation.tests.tests >> >>>> getCurrentPosition >>>> >> > method >>>> >> > > > success callback geolocation.spec.6 should be called with a >>>> position >>>> >> > > object >>>> >> > > > • Expected true to be false >>>> >> > > > it("geolocation.spec.6 should be called with a >>>> Position >>>> >> > > > object", function (done) { >>>> >> > > > // this test asks for using geolocation and >>>> >> interrupts >>>> >> > > > autotests running. >>>> >> > > > // That's why we have to pending that for >>>> Windows >>>> >> Store >>>> >> > > > 8.0/8.1 apps >>>> >> > > > if (isWindowsStore) { >>>> >> > > > pending(); >>>> >> > > > } >>>> >> > > > navigator.geolocation. >>>> getCurrentPosition(function >>>> >> (p) >>>> >> > { >>>> >> > > > expect(p.coords).toBeDefined(); >>>> >> > > > expect(p.timestamp).toBeDefined(); >>>> >> > > > done(); >>>> >> > > > }, >>>> >> > > > fail.bind(null, done), >>>> >> > > > { >>>> >> > > > maximumAge: 300000 // 5 minutes maximum >>>> age of >>>> >> > cached >>>> >> > > > position >>>> >> > > > }); >>>> >> > > > }); >>>> >> > > > >>>> >> > > > org.apache.cordova.geolocation.tests.tests >> watchPosition >>>> method >>>> >> > > > success callback geolocation.spec.8 should be called with a >>>> >> position >>>> >> > > object >>>> >> > > > • Expected true to be false >>>> >> > > > it("geolocation.spec.8 should be called with a >>>> Position >>>> >> > > > object", function (done) { >>>> >> > > > // this test asks for using geolocation and >>>> >> interrupts >>>> >> > > > autotests running. >>>> >> > > > // That's why we have to pending that for >>>> Windows >>>> >> Store >>>> >> > > > 8.0/8.1 apps >>>> >> > > > if (isWindowsStore) { >>>> >> > > > pending(); >>>> >> > > > } >>>> >> > > > successWatch = navigator.geolocation. >>>> watchPosition( >>>> >> > > > function (p) { >>>> >> > > > expect(p.coords).toBeDefined(); >>>> >> > > > expect(p.timestamp).toBeDefined(); >>>> >> > > > done(); >>>> >> > > > }, >>>> >> > > > fail.bind(null, done), >>>> >> > > > { >>>> >> > > > maximumAge: (5 * 60 * 1000) // 5 >>>> minutes >>>> >> > maximum >>>> >> > > > age of cached position >>>> >> > > > }); >>>> >> > > > }); >>>> >> > > > >>>> >> > > > >>>> >> > > > -----Original Message----- >>>> >> > > > From: Josh Bavari [mailto:jbav...@gmail.com] >>>> >> > > > Sent: Wednesday, January 28, 2015 8:30 AM >>>> >> > > > To: dev@cordova.apache.org >>>> >> > > > Subject: Re: [DISCUSS] Cordova-Android 4.0.0 Release >>>> >> > > > >>>> >> > > > Joe and team, >>>> >> > > > >>>> >> > > > I work for Ionic and I've had some involvement with the Cordova >>>> >> project >>>> >> > > > since last year. At Ionic, we've released a Crosswalk build >>>> using >>>> >> > Cordova >>>> >> > > > Android 4.0 so we can use the cordova crosswalk engine for the >>>> ionic >>>> >> > > > platform. >>>> >> > > > >>>> >> > > > I've been working with Ian and Andrew on this to gather more >>>> >> > > understanding >>>> >> > > > and to get some help along the way. I must say, excellent work, >>>> >> > everyone. >>>> >> > > > >>>> >> > > > As such, we've accumulated quite a bit of users who are >>>> actively >>>> >> using >>>> >> > > > Cordova Android 4.0. Currently, we've had over 10k test trials >>>> with >>>> >> it, >>>> >> > > and >>>> >> > > > I'm happy to say, mostly it's been smooth. >>>> >> > > > >>>> >> > > > What I've done is made a fork to adjust a few small things, >>>> but for >>>> >> the >>>> >> > > > most part, we're using 4.0. >>>> >> > > > >>>> >> > > > I'd love to provide any more feedback that you'd wish. >>>> >> > > > >>>> >> > > > Thanks again for the awesome work. >>>> >> > > > >>>> >> > > > On Wed, Jan 28, 2015 at 9:21 AM, Joe Bowser <bows...@gmail.com >>>> > >>>> >> wrote: >>>> >> > > > >>>> >> > > > > Hey >>>> >> > > > > >>>> >> > > > > So, it's finally here. I want to see us work more on >>>> Pluggable >>>> >> > > > > Webviews, and adding the API, but I think it's time that we >>>> >> released >>>> >> > > > > what we've been working on for almost a year to our users. >>>> I know >>>> >> > > > > that the API isn't exactly the most awesome we can make it, >>>> but it >>>> >> > > > > works, and I'd rather have it out at 80% than it sitting for >>>> a few >>>> >> > more >>>> >> > > > months in limbo. >>>> >> > > > > >>>> >> > > > > Are there any major blocking tasks that would prevent a vote >>>> >> thread >>>> >> > > > > that anyone knows about, or should we start firing up a >>>> release? >>>> >> I >>>> >> > > > > don't think we're going to make our January date, but the >>>> first >>>> >> week >>>> >> > > > > of February isn't that terrible. >>>> >> > > > > >>>> >> > > > > Thoughts? >>>> >> > > > > >>>> >> > > > > Joe >>>> >> > > > > >>>> >> > > > >>>> >> > > > >>>> >> > > > >>>> >> > > > -- >>>> >> > > > "Clear thoughts produce clear results." >>>> >> > > > Josh Bavari >>>> >> > > > Application Developer >>>> >> > > > Phone: 405-509-9448 >>>> >> > > > Cell: 405-812-0496 >>>> >> > > > Email: jbav...@gmail.com >>>> >> > > > >>>> >> > > > >>>> >> ------------------------------------------------------------ >>>> --------- >>>> >> > > > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org >>>> >> > > > For additional commands, e-mail: dev-h...@cordova.apache.org >>>> >> > > > >>>> >> > > >>>> >> > >>>> >> >>>> > >>>> > >>>> >>> >>