[TIMOB-20394] Android: Support liveview with hyperloop module
GitHub Issue | n/a |
---|---|
Type | New Feature |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2021-05-28T22:31:16.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 9.0.0 |
Components | Android, Hyperloop, LiveView |
Labels | android, build, hyperloop, liveview |
Reporter | Christopher Williams |
Assignee | Joshua Quick |
Created | 2016-02-12T17:09:35.000+0000 |
Updated | 2021-05-28T22:31:16.000+0000 |
Description
We currently haven't even tested whether live view works with hyperloop. My guess is that it does not (and from the looks of TIMOB-20210, it probably doesn't).
We should investigate what needs to be done to support liveview on Android with hyperloop. It's entirely possible that hyperloop itself isn't the issue, but the run on main thread change required by hyperloop.
As you've guessed, HyperLoop is not working when LiveView is on. Even though the JS wrapper files are correctly generated you simply cannot require them as of now. A simple example:
The file *com.github.mikephil.charting.charts.LineChart.js* is present in the *build/hyperloop* folder but the error above is what I get if i require it.
Any news on this? It'd be great having Liveview support for Hyperloop. It's a bit annoying having to recompile the project everytime you make a change, as it slows down development.
cc [~emerriman] [~eharris] [~hknoechel] [~jvennemann] I think this may be quite a bit complicated to tackle, if the user adds new native classes that we haven't generated wrappers for or had pruned out previously (or if we need to generate new metabase info for it first, etc). But this sounds like Liveview is simply not copying over files we already have properly generated.
We "mostly" fixed this in Titanium 9.0.0 for Android. Please see... https://github.com/appcelerator/hyperloop.next/pull/329 The only you can't do is add an Android library while liveview is running. You'll have to do a rebuild in that case to get it integrated into the app, but I think this is a reasonable limitation.