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

Reply via email to