{ "id": "91600", "key": "TIMOB-9060", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13402", "description": "Sprint 2012-10 Core", "name": "Sprint 2012-10 Core", "archived": true, "released": true, "releaseDate": "2012-05-20" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-07-11T02:24:41.000+0000", "created": "2012-05-08T12:26:29.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "SupportTeam", "core", "module_tableviewrow", "qe-testadded" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "issuelinks": [ { "id": "21923", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "103148", "key": "TIMOB-11392", "fields": { "summary": "Android: TableViewRow - App crashes on launch", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-10-11T18:53:36.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h4. Problem Description\r\nOn clicking a label in tableview row on Window1 ,Window2 should open.Window2 has a table and on selecting a row of this table, a label in Window1 is updated by firing an event. I am getting a force close when clicking a row on Window2 or clicking Back button .Attaching the sample for reference.\r\n\r\nh4. Actual Results\r\nApp Crashing with this log:\r\n\r\n{code}\r\n[ERROR][TiApplication( 321)] (main) [88,88] Sending event: exception on thread: main msg:java.lang.IllegalStateException: Ambiguous Z-Order; Titanium 2.1.0,2012/04/25 10:00,4257074\r\n[ERROR][TiApplication( 321)] java.lang.IllegalStateException: Ambiguous Z-Order\r\n[ERROR][TiApplication( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout$1.compare(TiCompositeLayout.java:157)\r\n[ERROR][TiApplication( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout$1.compare(TiCompositeLayout.java:120)\r\n[ERROR][TiApplication( 321)] \tat java.util.TreeMap.cmp(TreeMap.java:1317)\r\n[ERROR][TiApplication( 321)] \tat java.util.TreeMap.put(TreeMap.java:1464)\r\n[ERROR][TiApplication( 321)] \tat java.util.TreeSet.add(TreeSet.java:111)\r\n[ERROR][TiApplication( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:465)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat ti.modules.titanium.ui.widget.tableview.TiTableViewRowProxyItem.onLayout(TiTableViewRowProxyItem.java:395)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat android.widget.ListView.setupChild(ListView.java:1815)\r\n[ERROR][TiApplication( 321)] \tat android.widget.ListView.makeAndAddView(ListView.java:1730)\r\n[ERROR][TiApplication( 321)] \tat android.widget.ListView.fillSpecific(ListView.java:1272)\r\n[ERROR][TiApplication( 321)] \tat android.widget.ListView.layoutChildren(ListView.java:1558)\r\n[ERROR][TiApplication( 321)] \tat android.widget.AbsListView.onLayout(AbsListView.java:1147)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat android.widget.FrameLayout.onLayout(FrameLayout.java:333)\r\n[ERROR][TiApplication( 321)] \tat ti.modules.titanium.ui.widget.tableview.TiTableView.onLayout(TiTableView.java:516)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:527)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:527)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat android.widget.FrameLayout.onLayout(FrameLayout.java:333)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)\r\n[ERROR][TiApplication( 321)] \tat android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)\r\n[ERROR][TiApplication( 321)] \tat android.widget.LinearLayout.onLayout(LinearLayout.java:1042)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat android.widget.FrameLayout.onLayout(FrameLayout.java:333)\r\n[ERROR][TiApplication( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][TiApplication( 321)] \tat android.view.ViewRoot.performTraversals(ViewRoot.java:1045)\r\n[ERROR][TiApplication( 321)] \tat android.view.ViewRoot.handleMessage(ViewRoot.java:1727)\r\n[ERROR][TiApplication( 321)] \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n[ERROR][TiApplication( 321)] \tat android.os.Looper.loop(Looper.java:123)\r\n[ERROR][TiApplication( 321)] \tat android.app.ActivityThread.main(ActivityThread.java:4627)\r\n[ERROR][TiApplication( 321)] \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n[ERROR][TiApplication( 321)] \tat java.lang.reflect.Method.invoke(Method.java:521)\r\n[ERROR][TiApplication( 321)] \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)\r\n[ERROR][TiApplication( 321)] \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)\r\n[ERROR][TiApplication( 321)] \tat dalvik.system.NativeStart.main(Native Method)\r\n[ERROR][AndroidRuntime( 321)] FATAL EXCEPTION: main\r\n[ERROR][AndroidRuntime( 321)] java.lang.IllegalStateException: Ambiguous Z-Order\r\n[ERROR][AndroidRuntime( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout$1.compare(TiCompositeLayout.java:157)\r\n[ERROR][AndroidRuntime( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout$1.compare(TiCompositeLayout.java:120)\r\n[ERROR][AndroidRuntime( 321)] \tat java.util.TreeMap.cmp(TreeMap.java:1317)\r\n[ERROR][AndroidRuntime( 321)] \tat java.util.TreeMap.put(TreeMap.java:1464)\r\n[ERROR][AndroidRuntime( 321)] \tat java.util.TreeSet.add(TreeSet.java:111)\r\n[ERROR][AndroidRuntime( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:465)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat ti.modules.titanium.ui.widget.tableview.TiTableViewRowProxyItem.onLayout(TiTableViewRowProxyItem.java:395)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.ListView.setupChild(ListView.java:1815)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.ListView.makeAndAddView(ListView.java:1730)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.ListView.fillSpecific(ListView.java:1272)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.ListView.layoutChildren(ListView.java:1558)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.AbsListView.onLayout(AbsListView.java:1147)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.FrameLayout.onLayout(FrameLayout.java:333)\r\n[ERROR][AndroidRuntime( 321)] \tat ti.modules.titanium.ui.widget.tableview.TiTableView.onLayout(TiTableView.java:516)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:527)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:527)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.FrameLayout.onLayout(FrameLayout.java:333)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.LinearLayout.onLayout(LinearLayout.java:1042)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat android.widget.FrameLayout.onLayout(FrameLayout.java:333)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.View.layout(View.java:7035)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.ViewRoot.performTraversals(ViewRoot.java:1045)\r\n[ERROR][AndroidRuntime( 321)] \tat android.view.ViewRoot.handleMessage(ViewRoot.java:1727)\r\n[ERROR][AndroidRuntime( 321)] \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n[ERROR][AndroidRuntime( 321)] \tat android.os.Looper.loop(Looper.java:123)\r\n[ERROR][AndroidRuntime( 321)] \tat android.app.ActivityThread.main(ActivityThread.java:4627)\r\n[ERROR][AndroidRuntime( 321)] \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n[ERROR][AndroidRuntime( 321)] \tat java.lang.reflect.Method.invoke(Method.java:521)\r\n[ERROR][AndroidRuntime( 321)] \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)\r\n[ERROR][AndroidRuntime( 321)] \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)\r\n[ERROR][AndroidRuntime( 321)] \tat dalvik.system.NativeStart.main(Native Method)\r\n[WARN][ActivityManager( 60)] Force finishing activity com.negoapps.zindexfailing/.ZindexfailingActivity\r\n[INFO][ARMAssembler( 60)] generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x36d630:0x36d6ec] in 5438000 ns\r\n[WARN][ActivityManager( 60)] Activity pause timeout for HistoryRecord{44ea2d00 com.negoapps.zindexfailing/.ZindexfailingActivity}\r\n[INFO][Process ( 321)] Sending signal. PID: 321 SIG: 9\r\n[INFO][ActivityManager( 60)] Process com.negoapps.zindexfailing (pid 321) has died.\r\n[WARN][ActivityManager( 60)] Scheduling restart of crashed service com.negoapps.zindexfailing/org.appcelerator.titanium.analytics.TiAnalyticsService in 5000ms\r\n[INFO][WindowManager( 60)] WIN DEATH: Window{45141040 com.negoapps.zindexfailing/com.negoapps.zindexfailing.ZindexfailingActivity paused=false}\r\n[INFO][WindowManager( 60)] WIN DEATH: Window{450f34b0 com.negoapps.zindexfailing/org.appcelerator.titanium.TiModalActivity paused=false}\r\n[INFO][ActivityManager( 60)] Start proc com.negoapps.zindexfailing for service com.negoapps.zindexfailing/org.appcelerator.titanium.analytics.TiAnalyticsService: pid=335 uid=10044 gids={1015, 3003}\r\n[INFO][TiApplication( 335)] (main) [0,0] checkpoint, app created.\r\n{code}\r\n\r\n\r\nh4. Expected Results\r\nThe app closing the window properly\r\n\r\nh4. Test Case\r\n1. Create new mobile Project\r\n2. Paste this code\r\n{code}\r\n// this sets the background color of the master UIView (when there are no windows/tab groups on it)\r\nTitanium.UI.setBackgroundColor('#000');\r\n\r\nvar win2 = Titanium.UI.createWindow({\r\n\ttitle : 'Tab 2',\r\n\tbackgroundColor : '#fff'\r\n});\r\n\r\n\r\n\r\nvar label4 = Titanium.UI.createLabel({\r\n\tcolor : '#999',\r\n\ttext : 'I am Date Picker in Win2',\r\n\tfont : {\r\n\t\tfontSize : 20,\r\n\t\tfontFamily : 'Helvetica Neue'\r\n\t},\r\n\ttextAlign : 'center',\r\n\twidth : 'auto'\r\n});\r\nwin2.add(label4);\r\n\r\nvar ds=[];\r\nvar ds1=[];\r\nvar row1 = Ti.UI.createTableViewRow();\r\n\r\nrow1.backgroundColor = 'yellow';\r\nvar label2 = Titanium.UI.createLabel({\r\n\tcolor : '#999',\r\n\ttext : 'I am Row2',\r\n\tfont : {\r\n\t\tfontSize : 20,\r\n\t\tfontFamily : 'Helvetica Neue'\r\n\t},\r\n\ttextAlign : 'center',\r\n\twidth : 'auto'\r\n});\r\nvar row2 = Ti.UI.createTableViewRow();\r\nrow2.add(label2);\r\nds1.push(row2);\r\nvar table1 = Ti.UI.createTableView({data:ds1,height:100});\r\nrow1.add(table1);\r\nds.push(row1)\r\nvar table = Ti.UI.createTableView({data:ds,height:200,top:20});\r\n\r\n\r\n\r\nwin2.add(table);\r\nTi.App.addEventListener('updatePeriod', function(param) {\r\nalert('fired')\r\n\tlabel4.text = param.value;\r\n})\r\nlabel2.addEventListener('click', function(e) {\r\n\r\n\tvar win = createWindow();\r\n\twin.open({\r\n\t\tmodal : true\r\n\t});\r\n})\r\nwin2.open();\r\n\r\nfunction createWindow() {\r\n\r\n\tvar win4 = Ti.UI.createWindow({\r\n\t\tbackgroundColor : 'black'\r\n\t});\r\n\tvar ds3 = [];\r\n\tvar row1 = Ti.UI.createTableViewRow();\r\n\trow1.selectedMenu='Annual'\r\n\tvar row2 = Ti.UI.createTableViewRow();\r\n\trow2.selectedMenu='Semi'\r\n\tvar label1 = Titanium.UI.createLabel({\r\n\t\tcolor : '#999',\r\n\t\ttext : 'Annual',\r\n\t\tfont : {\r\n\t\t\tfontSize : 20,\r\n\t\t\tfontFamily : 'Helvetica Neue'\r\n\t\t},\r\n\t\ttextAlign : 'center',\r\n\t\twidth : 'auto'\r\n\t});\r\n\tvar label2 = Titanium.UI.createLabel({\r\n\t\tcolor : '#999',\r\n\t\ttext : 'Semi',\r\n\t\tfont : {\r\n\t\t\tfontSize : 20,\r\n\t\t\tfontFamily : 'Helvetica Neue'\r\n\t\t},\r\n\t\ttextAlign : 'center',\r\n\t\twidth : 'auto'\r\n\t});\r\n\trow1.add(label1);\r\n\trow2.add(label2);\r\n\tds3.push(row1);\r\n\tds3.push(row2);\r\n\tvar table2 = Ti.UI.createTableView({\r\n\t\ttop : 20,\r\n\t\tdata : ds3,\r\n\t\theight : 150\r\n\t})\r\n\r\n\ttable2.addEventListener('click', function(e) {\r\n\r\n\t\tvar index = e.index, section = e.section, row = e.row, rowdata = e.rowData, colorOff = '#363636', colorOn = '#385487';\r\n\t\t/* Open Menu Windows */\r\n\r\n\t\tsetTimeout(function() {\r\n\r\n\t\t\tfor(var i = 0, len = section.rows.length; i < len; i++) {\r\n\t\t\t\tsection.rows[i].hasCheck = false;\r\n\t\t\t\tsection.rows[i].children[0].color = colorOff;\r\n\t\t\t}\r\n\t\t\t/* set current check */\r\n\t\t\tsection.rows[index].hasCheck = true;\r\n\t\t\te.row.children[0].color = colorOn;\r\n\t\t\tif(e.rowData.selectedMenu === 'Annual') {\r\n\t\t\t\tTi.App.fireEvent('updatePeriod', {\r\n\t\t\t\t\tvalue : 'Annual'\r\n\t\t\t\t});\r\n\r\n\t\t\t} else if(e.rowData.selectedMenu === 'Semi') {\r\n\t\t\t\tTi.App.fireEvent('updatePeriod', {\r\n\t\t\t\t\tvalue : 'Semi'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}, 20);\r\n\t\twin4.close();\r\n\r\n\t});\r\n\r\n\twin4.add(table2);\r\n\treturn win4;\r\n}\r\n{code}\r\n3. Click on the label saying row 2\r\n4. Click again on the labels in the new window. \r\n\r\nh4. HD Discussion\r\nhttp://support-admin.appcelerator.com/display/APP-536197\r\n\r\n", "attachment": [], "flagged": false, "summary": "Android: iIlegalStateException Ambiguous Z index", "creator": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "subtasks": [], "reporter": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "environment": "Titanium SDK version: 2.1.0 (05/04/12 11:49 83be541)\r\nJS Engine: V8\r\nPlatform & version: Android 2.3\r\nDevice Details: Android Emulator \r\nHost Operating System: OS X 10.7.3 \r\nTitanium Studio version: 2.0", "comment": { "comments": [ { "id": "194333", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Simpler sample code: \r\n\r\n1. Run this:\r\n{code}\r\n\r\nTitanium.UI.setBackgroundColor('#000');\r\n \r\nvar win2 = Titanium.UI.createWindow({\r\n backgroundColor : '#fff'\r\n});\r\n \r\nvar ds=[];\r\nvar ds1=[];\r\nvar row1 = Ti.UI.createTableViewRow();\r\nrow1.backgroundColor = 'yellow';\r\n\r\nvar label2 = Titanium.UI.createLabel({\r\n text : 'I am Row2',\r\n width : 'auto'\r\n});\r\nvar row2 = Ti.UI.createTableViewRow();\r\nrow2.add(label2);\r\nds1.push(row2);\r\nvar table1 = Ti.UI.createTableView({data:ds1,height:100});\r\nrow1.add(table1);\r\nds.push(row1);\r\nvar table = Ti.UI.createTableView({data:ds,height:200,top:20});\r\n \r\n \r\n \r\nwin2.add(table);\r\nlabel2.addEventListener('click', function(e) {\r\n \r\n var win = Ti.UI.createWindow({backgroundColor: 'black'});\r\n win.open({\r\n fullscreen:false\r\n });\r\n})\r\nwin2.open();\r\n{code}\r\n\r\n2. Click on Row 2 label\r\n3. Hit back button.\r\n\r\nThis seems to be a layout issue when we have a tableview inside of a tableview row. ", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-09T16:22:42.000+0000", "updated": "2012-05-09T16:52:34.000+0000" }, { "id": "197451", "author": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Exception not shown\r\nVerified on:\r\nTitanium Studio: 2.1.0.201206041625\r\nTitanium SDK: 2.1.0.v20120605190238\r\nAndroid Emulator 2.3.3\r\nRuntime: v8", "updateAuthor": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-06T00:49:45.000+0000", "updated": "2012-06-06T00:49:45.000+0000" }, { "id": "202616", "author": { "name": "nchhabra", "key": "nchhabra", "displayName": "Neha Chhabra", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Reopening to update labels.", "updateAuthor": { "name": "nchhabra", "key": "nchhabra", "displayName": "Neha Chhabra", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2012-07-11T02:23:48.000+0000", "updated": "2012-07-11T02:23:48.000+0000" }, { "id": "213875", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/2194", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-10T14:28:48.000+0000", "updated": "2012-08-10T14:28:48.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }