{ "id": "140148", "key": "ALOY-1242", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2014-11-21T15:54:59.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android" ], "versions": [], "issuelinks": [], "assignee": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "updated": "2015-02-11T22:20:11.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [], "description": "How to reproduce:\r\n# make new alloy project\r\n# add the following files:\r\n** controllers/index.js\r\n{code}\r\n$.index.open();\r\n$.contentView.add(Alloy.createController('list').getView());\r\n{code}\r\n** controllers/list.js (empty)\r\n** controllers/test.js (empty)\r\n** views/index.xml\r\n{code}\r\n\r\n \r\n \r\n \r\n\r\n{code}\r\n** views/list.xml\r\n{code}\r\n\r\n \r\n\r\n{code}\r\n** views/test.xml\r\n{code}\r\n\r\n \r\n\r\n{code}\r\n\r\nSame problem exists when doing this inside a Widget with and Widget.createController(). \r\n\r\nThis code causes the following crash on starting the app on Android.\r\n{code}\r\n[ERROR] TiApplication: (main) [316,316] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/org.appcelerator.titanium.TiActivity}: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.appcelerator.titanium.proxy.TiViewProxy; Titanium 3.4.1,2014/11/13 13:33,5982e8f\r\n[ERROR] TiApplication: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/org.appcelerator.titanium.TiActivity}: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.appcelerator.titanium.proxy.TiViewProxy\r\n[ERROR] TiApplication: \tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)\r\n[ERROR] TiApplication: \tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)\r\n[ERROR] TiApplication: \tat android.app.ActivityThread.access$600(ActivityThread.java:141)\r\n[ERROR] TiApplication: \tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)\r\n[ERROR] TiApplication: \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n[ERROR] TiApplication: \tat android.os.Looper.loop(Looper.java:137)\r\n[ERROR] TiApplication: \tat android.app.ActivityThread.main(ActivityThread.java:5103)\r\n[ERROR] TiApplication: \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n[ERROR] TiApplication: \tat java.lang.reflect.Method.invoke(Method.java:525)\r\n[ERROR] TiApplication: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)\r\n[ERROR] TiApplication: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)\r\n[ERROR] TiApplication: \tat dalvik.system.NativeStart.main(Native Method)\r\n[ERROR] TiApplication: Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.appcelerator.titanium.proxy.TiViewProxy\r\n[ERROR] TiApplication: \tat org.appcelerator.titanium.proxy.TiViewProxy.setActivity(TiViewProxy.java:976)\r\n[ERROR] TiApplication: \tat org.appcelerator.titanium.proxy.TiViewProxy.setActivity(TiViewProxy.java:977)\r\n[ERROR] TiApplication: \tat ti.modules.titanium.ui.WindowProxy.windowCreated(WindowProxy.java:175)\r\n[ERROR] TiApplication: \tat org.appcelerator.titanium.TiActivityWindows.windowCreated(TiActivityWindows.java:32)\r\n[ERROR] TiApplication: \tat org.appcelerator.titanium.TiBaseActivity.windowCreated(TiBaseActivity.java:442)\r\n[ERROR] TiApplication: \tat org.appcelerator.titanium.TiBaseActivity.onCreate(TiBaseActivity.java:524)\r\n[ERROR] TiApplication: \tat org.appcelerator.titanium.TiActivity.onCreate(TiActivity.java:18)\r\n[ERROR] TiApplication: \tat android.app.Activity.performCreate(Activity.java:5133)\r\n[ERROR] TiApplication: \tat android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)\r\n[ERROR] TiApplication: \tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)\r\n[ERROR] TiApplication: \t... 11 more\r\n\r\n{code}", "attachment": [], "flagged": false, "summary": "Nested require with createController getView call causes crash on android", "creator": { "name": "sschueller", "key": "sschueller", "displayName": "Stefan Schüller", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "sschueller", "key": "sschueller", "displayName": "Stefan Schüller", "active": true, "timeZone": "Europe/Berlin" }, "environment": "SDK 3.4.1,\r\nAndroid 4.4.3 (API 18) - Genymotion Samsung Galaxy S4\r\nOS X Yosemite, 10.10\r\n ", "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }