cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Axel Nennker <ignisvul...@gmail.com>
Subject Re: Propagate OS events to plugins
Date Sun, 17 Nov 2013 20:47:05 GMT
It is probably not worth the complexity.

Axel
Am 17.11.2013 21:13 schrieb "Joe Bowser" <bowserj@gmail.com>:

> Agreed. This seems like it'll be super brittle depending on how long the
> plugin takes to load.  I'd rather play it safe and not have intents missed.
>
> On a related note, I want to add more OS events to Android such as
> onScrollFinished and some better support for Action Bars in the next couple
> of releases. This is really lacking.
>
> PPS: Has anyone written an ADK plugin for Cordova yet?
> On Nov 17, 2013 12:04 PM, "Anis KADRI" <anis.kadri@gmail.com> wrote:
>
> > I don't see the difference between osevent and onload since the end
> result
> > is that the plugin gets created on startup ?
> >
> >
> > On Sun, Nov 17, 2013 at 8:20 AM, <Axel.Nennker@telekom.de> wrote:
> >
> > > Yep, definitely sounds the same issue I was experiencing.
> > >
> > >
> > >
> > > Although I am not sure whether to put onload=true in plugin.xml really
> is
> > > the right solution in general.
> > >
> > > If you want your app to be started on the first tap it is the only
> > > solution.
> > >
> > > If you open your app then you can call some method of phonegap-nfc and
> > the
> > > plugin is initialized and you do not have this problem.
> > >
> > > A plugin that needs to react to intent filters on Android needs
> > > onload=true.
> > >
> > > A plugin that needs to react to e.g. a file being opened on IOS needs
> > > onload=true because the plugin needs to register itself for this event.
> > >
> > >
> > >
> > > *This not related to phonegap-nfc only. All plugins that need OS-Events
> > > currently need onload=true.*
> > >
> > >
> > >
> > > But what Cordova is missing is a way for a plugin to express this: I
> want
> > > to get OS-Events (like onNewIntent on Android) but I do not need to be
> > > loaded on startup.
> > >
> > > Each line in PluginManager.java like this “if (entry.plugin != null) {”
> > >
> > >
> > >
> >
> https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/PluginManager.java#L307
> > >
> > > currently prevents an OS-Event to be propagated to a plugin.
> > >
> > > The only way to get the event is to set “onload=true” or use a plugin
> > > method (thus creating a plugin instance).
> > >
> > >
> > >
> > > But if the plugin only needs to get events after the app is started
> (like
> > > e.g. reading an NFC tag through the app) then creating the plugin
> > instance
> > > is wasting startup time and memory resources.
> > >
> > >
> > >
> > > I suggest to have
> > >
> > >  <feature…>
> > >
> > >    <param name=”osevents” value=”true” />
> > >
> > >
> > >
> > > and change all the line in PluginManager from
> > >
> > >                     “if (entry.plugin != null) {”
> > >
> > >  to
> > >
> > >                     “if (entry.plugin != null || (entry.osevent==true
> &&
> > entry.createPlugin(this.app, this.ctx)!=null)) {”
> > >
> > >
> > >
> > > Changing
> > >
> > >
> > >
> >
> https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/PluginEntry.java
> > >
> > > and the parser in PluginManager is simple…
> > >
> > >
> > >
> >
> https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/PluginManager.java#L147
> > >
> > >
> > >
> > > Although this new osevent param would need support in all platforms and
> > > docs and tests. Not a half-hour project…
> > >
> > >
> > >
> > > Have fun
> > >
> > > Axel
> > >
> > >
> > >
> > >
> > >
> > > *From:* Don Coleman [mailto:notifications@github.com]
> > > *Sent:* Saturday, November 16, 2013 5:37 PM
> > > *To:* chariotsolutions/phonegap-nfc
> > > *Cc:* AxelNennker
> > > *Subject:* [phonegap-nfc] Add onload for android (#105)
> > >
> > >
> > >
> > > See @AxelNennker <https://github.com/AxelNennker> doc updates
> > > https://github.com/apache/cordova-docs/pull/154/files
> > >
> > > Might fix #99 <
> > https://github.com/chariotsolutions/phonegap-nfc/issues/99>
> > > ?
> > >
> > > —
> > > Reply to this email directly or view it on GitHub<
> > https://github.com/chariotsolutions/phonegap-nfc/issues/105>
> > > .[image: Description: Image removed by sender.]
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message