On 3 déc, 04:55, Ray Ryan <rj...@google.com> wrote: > We're making a few breaking changes in 2.1.1 to the new features introduced > in 2.1. (We're not supposed to do that kind of thing, but are hoping to get > away with it in this quick follow up release before there is much > adoption.) > > I'd like to add a change to Activity to that list, in order to allow it to > evolve in later releases when breakage of any kind won't be an option: I'd > like to make Activity an abstract class instead of an interface, basically > rename AbstractActivity. > > Any objections?
We're not using AbstractActivity, but only because we do provide our own implementation for all the Activity methods, so AbstractActivity doesn't bring us anything. So, AbstractActivity replacing Activity wouldn't change anything for us (search "implements Activity" and replace with "extends Activity"). Moreover, we do have a base class (enforcing MVP "best practices") that almost all our activities extend, so the change would be very localized. In brief: no objection. I'd be OK too with keeping it an interface and instructing developers to rather extend AbstractActivity (that's something that has been proposed for widgets too). That being said, I don't understand the objections re. mocking (and EasyMock 3.0 now integrates class mocking, it's no longer an "extension"). The only issue with class mocking is final methods, and the existing methods won't become 'final' and that would break a lot of apps; new methods introduced later have few reasons to be 'final', and if they ever are the'll delegate to non-final ones so mocking will still be possible to some extent. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors