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 >>> >> > > > >>> >> > > >>> >> > >>> >> >>> > >>> > >>> >> >