[TIMOB-14520] Android: Anvil: android/android/android -> jsActivityUrl failed
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2013-09-14T01:01:43.000+0000 |
Affected Version/s | Release 3.2.0 |
Fix Version/s | 2013 Sprint 19, 2013 Sprint 19 API, Release 3.2.0 |
Components | Android |
Labels | regression |
Reporter | Ping Wang |
Assignee | Ping Wang |
Created | 2013-07-10T23:47:32.000+0000 |
Updated | 2013-12-19T19:27:26.000+0000 |
Description
Steps to reproduce:
Run Anvil -> android/android/android -> jsActivityUrl on Android. It failed with the latest 3.2.0.
This is a regression caused by [this commit](https://github.com/appcelerator/titanium_mobile/commit/3ea237cd92cccfe8b2cd822d05c8769dc7b30ca6) .
PR: https://github.com/appcelerator/titanium_mobile/pull/4622 The regression is because the "create" event is fired from the main thread (onCreate() method), but the event listener is added from the kroll runtime thread which happens after onCreate()/onStart()/onResume(). So it is too early to check if there is a listener in the hierarchy in the fireEvent()/fireSyncEvent(). The fix is to move the check to doFireEvent() and also set a timeout for firing some sync events so it won't block the UI thread too long (TIMOB-13253). For FR: 1. run anvil test. Should have 371 passed / 35 failed. 2. test TIMOB-14984. 3. test KS.
[~ingo] Any update on this ticket? It appears that it is a 3.1.2 regression that we should fix in 3.1.3 release.
[~ngupta] Yes, this is the ticket I referenced in an earlier thread when we were discussing the ti.cloudpush issue (but is evidently not related). The chain is somewhat convoluted, but in short, we have a fix, but the number of people the issue affects is small, but the number of people that the fix could affect adversely if we missed a case is large. We thus decided to defer this fix for 3.2.0 when we had more time to properly test the issue. [~pwang] We should merge the proper solution (not the PR here, but the updated one you and Vishal arrived at) into 3.2.0.
[~ingo], the proper solution is the PR listed above (I already updated the PR with the solution Vishal and I arrived at).