OK, so what's the JIRA issue?
On Wed, Dec 11, 2013 at 12:01 PM, Axel Nennker <ignisvul...@gmail.com> wrote: > I added a Log.d (code below) to PluginManager and get this output: > 12-11 20:47:37.430: D/org.apache.cordova.PluginManager(25673): > this.ctx.getActivity().getClass().getPackage().getName()=de.telekom.tlabs.wallet.fileimport > > This (de.telekom.tlabs.wallet.fileimport) is the package name of the > activity that was started by Android but this is not the applications main > activity's package which is "de.telekom.tlabs.wallet.cordova". > 12-11 20:47:24.325: D/org.apache.cordova.PluginManager(25673): > this.ctx.getActivity().getClass().getPackage().getName()=de.telekom.tlabs.wallet.cordova > > As you can see from the time stamps the second line is output earlier. This > is the output when the app starts normally. Then I open the Downloads > Android app and select a downloaded file that triggers "fileimport"'s > intent filter. Android now starts an activity in the package > "de.telekom.tlabs.wallet.fileimport" which then (re-)starts the main > activity in the package "de.telekom.tlabs.wallet.cordova" which leads to > the first output and the wrong package from beeing used to find config.xml > > -axel > > /** > * Load plugins from res/xml/config.xml > */ > public void loadPlugins() { > Log.d(this.getClass().getName(), > "this.ctx.getActivity().getClass().getPackage().getName()="+this.ctx.getActivity().getClass().getPackage().getName()); > int id = > this.ctx.getActivity().getResources().getIdentifier("config", "xml", > this.ctx.getActivity().getClass().getPackage().getName()); > if (id == 0) { > > > > 2013/12/11 Axel Nennker <ignisvul...@gmail.com> > >> Sorry no. It does not work on 3.3-rc1 >> Axel >> >> ignisvulpis@ubuntu:/host/20131210/phonegap$ cordova -v >> 3.3.0-rc.1 >> ignisvulpis@ubuntu:/host/20131210/phonegap$ >> >> same error: >> D/CordovaActivity( 4871): CordovaActivity.init() >> D/CordovaWebView( 4871): >>> >> loadUrl(file:///android_asset/www/index.html?file=/storage/sdcard0/Download/WalletImport-InfoCard-MyCard2-1.json) >> D/PluginManager( 4871): init() >> E/PluginManager( 4871): >> ===================================================================================== >> E/PluginManager( 4871): ERROR: config.xml is missing. Add >> res/xml/config.xml to your project. >> E/PluginManager( 4871): >> https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=blob;f=framework/res/xml/config.xml >> E/PluginManager( 4871): >> ===================================================================================== >> D/CordovaWebView( 4871): >>> loadUrlNow() >> D/ItemImport( 4871): onResume() loadURL started: >> D/CordovaActivity( 4871): >> onMessage(onPageStarted,file:///android_asset/www/index.html?file=/storage/sdcard0/Download/WalletImport-InfoCard-MyCard2-1.json) >> >> >> >> >> 2013/12/11 Andrew Grieve <agri...@chromium.org> >> >>> If it worked in 3.1 and broke in 3.2, then it's very likely >>> CB-5481<https://issues.apache.org/jira/browse/CB-5481> and >>> is fixed in 3.3 >>> >>> >>> On Wed, Dec 11, 2013 at 11:29 AM, Joe Bowser <bows...@gmail.com> wrote: >>> >>> > No. As far as I'm concerned this problem doesn't exist until it is a >>> JIRA >>> > issue with some sample code that I can use to reproduce the error. I >>> doubt >>> > that this was a regression since we never explicitly supported your use >>> > case to begin with. >>> > >>> > Of course, patches are always welcome. >>> > On 11 Dec 2013 07:58, "Axel Nennker" <ignisvul...@gmail.com> wrote: >>> > >>> > > No. I intented this to be on the list. Gmail UI irks. >>> > > Could this be fixed in 3.3? >>> > > I know it is late but... >>> > > >>> > > -Axel >>> > > >>> > > >>> > > 2013/12/11 Joe Bowser <bows...@gmail.com> >>> > > >>> > > > Did you mean to to send this to me personally? >>> > > > >>> > > > On Wed, Dec 11, 2013 at 7:24 AM, Axel Nennker < >>> ignisvul...@gmail.com> >>> > > > wrote: >>> > > > > Well, this repeatable. Use 3.2 fail, go back to 3.1 win. >>> > > > > The config.xml is where it belongs but PluginManager does not >>> find it >>> > > in >>> > > > a >>> > > > > certain (legal) setting. >>> > > > > When the app is started "normally" PluginManager finds config.xml >>> > > (which >>> > > > > proves that is at the correct location) >>> > > > > When the app is started because an IntentFilter triggers then >>> > > > > PluginInManager does not find it. >>> > > > > >>> > > > > The "main" activity is in one class like a.b.c.Main while the >>> > > > IntentFilter >>> > > > > activity is in another e.g. u.v.w.IF >>> > > > > IF starts Main successfully but - my guess is - that PluginManager >>> > > tries >>> > > > to >>> > > > > find config.xml in package u.v.w >>> > > > > >>> > > > > The JUNIT/spec test should be updated to catch this situation if >>> > > > possible. >>> > > > > I guess I could change the package names so that IF is in a.b.c >>> too >>> > but >>> > > > it >>> > > > > worked in 3.1 and I see no reason why this is "complex" >>> > > > > The u.v.w.IF features are implemented in a plugin that registers >>> the >>> > > > intent >>> > > > > filter in the app's AndroidManifest. It is developed by my >>> colleagues >>> > > who >>> > > > > chose the u.v.w package name. I am using this plugin in my app >>> that >>> > has >>> > > > the >>> > > > > a.b.c package namespace. >>> > > > > I do not agree that this a complex or irregular use of cordova or >>> > > > Intents. >>> > > > > >>> > > > > Please revert the code back to the 3.1 behaviour. >>> > > > > >>> > > > > Axel >>> > > > > >>> > > > > >>> > > > > 2013/12/11 Joe Bowser <bows...@gmail.com> >>> > > > >> >>> > > > >> I haven't noticed this during any of our testing, nor have I >>> noticed >>> > > > >> this when hacking with Google Glass, which uses the Google Glass >>> > voice >>> > > > >> trigger intent to launch Cordova, not the LAUNCHER intent like >>> the >>> > > > >> launch menu. Furthermore, our JUnit tests haven't caught the >>> tests >>> > > > >> either, and they depend on at least three plugins to be loaded by >>> > > > >> PluginManager from config.xml. Honestly, this only breaks if you >>> > > > >> don't know what you're doing with Intents. >>> > > > >> >>> > > > >> Honestly, It sounds to me like your config.xml isn't in the >>> correct >>> > > > >> place in your project, especially if you're trying to do >>> something >>> > > > >> complex with Android and intents. I would check that making >>> these >>> > > > >> sorts of statements. If config.xml wasn't being read, it would >>> have >>> > > > >> been caught right away, since everything is a plugin now. >>> > > > >> >>> > > > >> >>> > > > >> >>> > > > >> On Wed, Dec 11, 2013 at 4:33 AM, <axel.nenn...@telekom.de> >>> wrote: >>> > > > >> > Hi, >>> > > > >> > >>> > > > >> > We are seeing some strange effect on Android when we move from >>> > > > >> > 3.1.0-0.2.0 to a newer version. >>> > > > >> > We tried with 3.2.0-0.4.0 and 3.3-rc1 >>> > > > >> > >>> > > > >> > I think that PluginManager changed and now fails to load >>> > config.xml >>> > > > >> > >>> > > > >> > This happens in my project when the app is opened by the >>> operating >>> > > > >> > system because it is configured so through an intent filter. >>> > > > >> > The original activity is not a child of DroidGap but starts the >>> > > "main" >>> > > > >> > activity using startActivity. >>> > > > >> > >>> > > > >> > The code to get the id of the config.xml file is not working in >>> > this >>> > > > >> > case. >>> > > > >> > >>> > > > >> > Why was the 3.1.0 code changed? >>> > > > >> > >>> > > > >> > Cheers >>> > > > >> > Axel >>> > > > >> > >>> > > > >> > D/CordovaActivity(12320): CordovaActivity.init() >>> > > > >> > D/CordovaWebView(12320): >>> >>> > > > >> > >>> > > > >>> > > >>> > >>> loadUrl(file:///android_asset/www/index.html?file=/storage/sdcard0/Download/WalletImport-InfoCard-PremiumBank2-2.json) >>> > > > >> > D/PluginManager(12320): init() >>> > > > >> > E/PluginManager(12320): >>> > > > >> > >>> > > > >>> > > >>> > >>> ===================================================================================== >>> > > > >> > E/PluginManager(12320): ERROR: config.xml is missing. Add >>> > > > >> > res/xml/config.xml to your project. >>> > > > >> > E/PluginManager(12320): >>> > > > >> > >>> > > > >>> > > >>> > >>> https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a=blob;f=framework/res/xml/plugins.xml >>> > > > >> > E/PluginManager(12320): >>> > > > >> > >>> > > > >>> > > >>> > >>> ===================================================================================== >>> > > > >> > D/CordovaWebView(12320): >>> loadUrlNow() >>> > > > >> > D/ItemImport(12320): onResume() loadURL started: >>> > > > > >>> > > > > >>> > > > >>> > > >>> > >>> >> >>