On Sun, Jul 28, 2013 at 12:32 AM, Joe Bowser <bows...@gmail.com> wrote:

> OK, since we're not talking about each individual one in their own
> thread (or at least a thread I can find), let's talk about them here:
>
> On Thu, Jul 25, 2013 at 10:48 AM, Andrew Grieve <agri...@chromium.org>
> wrote:
> >
> > cordova-android:
> >
> > - Change plugins to have distinct package names
>
> How does this work with plugin discovery? It's better to change it now
> before we get plugin discovery fully setup and this becomes a problem.
>  Doing this for 3.0 was too much work last minute but this could be
> done on 3.1
>
It's unrelated to plugin discovery.


>
>
> > - Look at using requestAnimationFrame to throttle exec bridge (advice
> from
> > a PGD talk)
>
> There better be tests for this before it lands since this touches the
> exec bridge.  Do we have JUnit tests for the exec bridge?  We probably
> should!
>
We have mobile-spec tests for the bridge. Both automated & manual benchmark
ones.


>
> > - Move JSONUtils out of core (to minimize API surface) (was added by our
> > intern a while ago)
> >
>
> So, this isn't being used by our plugins?
>
Nope.

>
> > - Move FileHelpers out of core (Most functionality now lives in
> > CordovaResourceApi)
> >
>
> The last time I checked, our plugins depended on this.  If we're not
> supporting it, it should go.
>
A few of our plugins use one or two methods from it. On the whole, I think
the class causes more harm than good because it has bugs & uses Strings
instead of Uri. Step 1 is to move it into plugins, step 2 would be to
refactor the plugins to not use it at all.



>
> > - Move ExifHelpers out of core and into Camera (used only by Camera)
>
> This may also be used by Capture when we capture an image.  I have no
> idea why we have two ways of taking a photo.
>
Confirmed: It's not used by Capture, only Camera.


>
> > - Extract Database plugin out of core (and into... cordova-labs?
> > cordova-android?)
>
> What Database Plugin?  If we have a storage plugin still in core, it
> should die.
>
Yeah, my motivation is the same I think. Wanted to extract it so that I
don't have to use it. Are you sure no one depends on it? Moving it to labs
might be a safer move.


>
> > - Change CordovaWebview constructors to accept a CordovaInterface instead
> > of a Context (get the Context from the getActivity() of CordovaInterface)
>
> I recommend creating a second constructor instead, since there are
> examples of CordovaWebViews that use CordovaInterfaces that aren't
> activities and it's probably easier for CordovaWebView to provide a
> Context than CordovaInterface to do so in those cases.  I don't see
> why we can't add a second constructor and keep this for those cases.
>

All of our constructors look like this:

>     public CordovaWebView(Context context) {
>         super(context);
>         if (CordovaInterface.class.isInstance(context))
>         {
>             this.cordova = (CordovaInterface) context;
>         }
>         else
>         {
>             Log.d(TAG, "Your activity must implement CordovaInterface to
> work");
>         }

So, we're currently forcing people to pass in a Context that implements
CordovaInterface.


Instead, we should do:

>     public CordovaWebView(CordovaInterface cordova) {
>         super(cordova.getActivity());




>
>
> > - Make private (or package-private) any api that is likely unused by
> third
> > party plugins
>
> We should warn people that we're doing that this release.
>
Yeah, this will definitely require code review before we even really know
what we're up against.


>
>
> > - Use source instead of .jar
>
> We should allow for both!  Using a jar is easier to do from the
> command line, and this is more CLI work (which there is no shortage
> of).
>
> >
> >     - Easier to debug, faster "project create", consistent with how
> plugins
> > work
> >
> > - Extract splashscreen logic out of core
>
> It can't be done, we've gone through this numerous times.  The
> splashscreen has to appear before we even have a PluginManager
> instantiated.  Someone has to put a Java chicken there to stall while
> we get the JS Egg ready.
>
:) awesome. I haven't looked into this yet, but look forward to meeting
this Java chicken!

Reply via email to