{ "id": "122804", "key": "TIMOB-15902", "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": [], "resolution": null, "resolutiondate": null, "created": "2013-11-22T17:47:19.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "exalture" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:04:19.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": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "Hi,\r\n\r\nduring buttongrid widget relayout, buttons animation doesn't occur.\r\n\r\nAnimation is fine when triggered on click event as following :\r\n\r\n{code:JavaScript}\r\nfunction moveToCenter(e) {\r\n\tvar btn = $.serviceGrid.getButton(e.source.id);\r\n\tbtn.animate({\r\n\t\ttop: 0,\r\n\t\tleft: 0,\r\n\t\tduration: 100\r\n\t});\t\r\n}\r\n\r\n$.serviceGrid.init({\r\n buttons: [\r\n{ id: 'btnSettings', title: \"Paramètres\", click: moveToCenter }\r\n ],\r\n buttonWidth: Alloy.isTablet ? 180: 90,\r\n buttonHeight: Alloy.isTablet ? 180 : 90,\r\n duration: 100,\r\n assetDir: '/images/buttons/'\r\n}); \r\n{code}\r\n\r\nh4. From Tester:\r\n\r\nh4. Steps to Reproduce:\r\n1. Create(import) a new project from the attached project zip\r\n2. Run the app on an Android device\r\n3. Change to the second tab\r\n4. Change the device orientation several times\r\n5. Notice that the animation occurs, but the grid is not always displayed properly (especially if on tab 2, switch to tab 3, change orientation, then switch back to tab 2)\r\n\r\nh4. Additional Notes:\r\nWhen I tested this on a Galaxy Tab 2, the app would crash when trying to change to tab 2 or 3. I do not see the animations upon pressing the button on Tab 3 and the button becomes inaccessible after pressing it and changing orientations (you have to change the orientation back). ", "attachment": [ { "id": "44160", "filename": "buttongrid broken.png", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-11-25T20:45:41.000+0000", "size": 78143, "mimeType": "image/png" }, { "id": "44161", "filename": "buttongrid OK on first tab.png", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-11-25T20:45:41.000+0000", "size": 101613, "mimeType": "image/png" }, { "id": "44162", "filename": "buttongrid orientation change lost buttons.png", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-11-25T20:45:41.000+0000", "size": 95355, "mimeType": "image/png" }, { "id": "44159", "filename": "ButtonGridTest.zip", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-11-25T20:33:25.000+0000", "size": 7435151, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android: No animation using buttongrid widget", "creator": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Titanium SDK 3.2.0.v20131121163252\r\nTitanium CLI 3.2.0\r\nAlloy 1.2.2\r\nAndroid 4.2.2 / Genymotion device", "comment": { "comments": [ { "id": "281194", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Can you please attach a complete application that shows the problem?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-11-25T19:06:23.000+0000", "updated": "2013-11-25T19:06:23.000+0000" }, { "id": "281210", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Here is a fresh 3-tabs app with a buttongrid on the second one.\r\n\r\nMore info since I've opened this issue :\r\n\r\n*animation is OK but buttons positioning fails. It's like the buttons \"consider\" the scrollview center as the top-left coordinate and start positioning from that point.\r\n*problem only occurs when buttongrid is added to a tab that's not the first one.\r\n*when I rotate the device, sometimes it works, sometimes it doesn't.\r\n\r\nSome screenshots added illustrating all of that.", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-11-25T20:33:25.000+0000", "updated": "2013-11-25T20:49:12.000+0000" }, { "id": "281794", "author": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "Hello [~mpmiranda]\r\n\r\n\r\nI have tested this issue. It’s working good for me. I can't reproduce this issue.\r\n\r\nh5. Testing environment: \r\n\r\nOS: MAC OS X 10.8.5\r\nTi SDK: 3.2.0.v20131126144841\r\nTi CLI: 3.3.0 \r\nAndroid SDK 4.0.3 \r\n\r\n\r\n\r\nh5. Test case:\r\n\r\n# Run this code in Android emulator or Device\r\n# Select Tab 2 (Services)\r\n# Rotate this Emulator/Device then button grid will rearrange \r\n\r\n\r\n\r\nh5. Expected Result\r\n\r\n# Animation and Button Grid working good\r\n\r\nThanks\r\n", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-11-28T17:31:32.000+0000", "updated": "2013-12-03T16:05:51.000+0000" }, { "id": "282090", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Any news about it ?", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-03T08:50:51.000+0000", "updated": "2013-12-03T08:50:51.000+0000" }, { "id": "282119", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We can't seem to reproduce the issue using your code. See above.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-03T16:06:10.000+0000", "updated": "2013-12-03T16:06:10.000+0000" }, { "id": "282191", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Thanks for testing and feedback. I also confirm that it works with Android SDK 4.0.3.\r\n\r\nIssue occurs with Android SDK version >= 4.1.2 and apparently when the buttongrid is displayed for the first time.\r\nButtons get into a mess. After that, if you change orientation, buttons rearrange well.\r\n\r\nTested on emulator and Genymotion.", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-03T20:27:37.000+0000", "updated": "2013-12-03T21:07:54.000+0000" }, { "id": "282683", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "{quote}\r\nAdditional Notes:\r\nWhen I tested this on a Galaxy Tab 2, the app would crash when trying to change to tab 2 or 3.\r\n{quote}\r\nNote that app may crash if tested on a device for which I didn't include specific assets for dpi/ratio/orientation.\r\nIt also happened to me on Galaxy Tab 2.", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-05T19:51:25.000+0000", "updated": "2013-12-05T19:51:25.000+0000" }, { "id": "282974", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I was able to reproduce this half the time on 4.2.2 device. It would help if we can get a smaller and reliable test case.\r\n\r\nEdit: I also ran the project against 3.1.3.GA and 3.1.2.GA and I get crashes when I attempt to change orientation in the 2nd tab. The error in the log indicates that some resources can't be found:\r\n{code}\r\n Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f020012\r\nE/AndroidRuntime( 2707): \tat android.content.res.Resources.getValue(Resources.java:1014)\r\nE/AndroidRuntime( 2707): \tat android.content.res.Resources.getDrawable(Resources.java:659)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.util.TiUIHelper.getResourceDrawable(TiUIHelper.java:845)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.util.TiUIHelper.getResourceDrawable(TiUIHelper.java:840)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.util.TiFileHelper.loadDrawable(TiFileHelper.java:279)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.util.TiUIHelper.buildBackgroundDrawable(TiUIHelper.java:508)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.util.TiUIHelper.buildBackgroundDrawable(TiUIHelper.java:562)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.view.TiUIView.handleBackgroundImage(TiUIView.java:943)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.view.TiUIView.processProperties(TiUIView.java:685)\r\nE/AndroidRuntime( 2707): \tat ti.modules.titanium.ui.widget.TiUIButton.processProperties(TiUIButton.java:54)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.kroll.KrollProxy.setModelListener(KrollProxy.java:1162)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:469)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:460)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:438)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:476)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:460)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:438)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:476)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:460)\r\nE/AndroidRuntime( 2707): \tat org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:438)\r\nE/AndroidRuntime( 2707): \tat ti.modules.titanium.ui.widget.tabgroup.TiUIAbstractTab.getContentView(TiUIAbstractTab.java:58)\r\nE/AndroidRuntime( 2707): \tat ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab.initializeFragment(TiUIActionBarTab.java:9\r\n{code}", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-06T23:30:36.000+0000", "updated": "2013-12-06T23:40:32.000+0000" }, { "id": "283052", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hi Hieu,\r\n\r\nAs I said, this small app may crash if tested on a device for which I didn't include specific assets for dpi/ratio/orientation.\r\nI guess you can simply copy assets to the right res-xxx folder and it would not.\r\n\r\nSo, for a smaller test case, do you want me to attach an app without specific assets folders for example ?\r\n", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-07T13:21:57.000+0000", "updated": "2013-12-07T13:45:38.000+0000" }, { "id": "284576", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Can you please let us know what native integrations are required?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-16T22:31:23.000+0000", "updated": "2013-12-16T22:31:23.000+0000" }, { "id": "285044", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Sorry to say that, but I don't understand your question Ingo. Can you please explain what you mean by \"native integrations\" ?\r\nThanks.", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-18T18:57:00.000+0000", "updated": "2013-12-18T18:57:00.000+0000" }, { "id": "285045", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'm actually not sure what I meant there. I might have accidentally commented on the wrong ticket. A smaller test case would be appreciated, yes.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-18T19:01:00.000+0000", "updated": "2013-12-18T19:01:00.000+0000" }, { "id": "285050", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "That's what I thought ;)\r\nOK, I'll do that tomorrow. I have precisely created a more simple app with only one window and problem still occurs.\r\n\r\nEdit: I don't have the ability to attach a file to the report. Can you please allow me or do I have to put it somewhere online ? Thanks.", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-18T19:26:24.000+0000", "updated": "2013-12-19T11:26:14.000+0000" }, { "id": "285363", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Here is the simplified app : https://github.com/sdelcroix/SimpleButtongridTest\r\nYou'll find a folder named \"Bug Screens\" containing some screenshots illustrating the buttongrid behavior after rotations.\r\n\r\n*Testing environment:*\r\nOS: MAC OS X 10.8.5\r\nTi SDK: 3.2.0.v20131218153242\r\nTi CLI: 3.2.0-cr3 \r\nAlloy: 1.3.0-cr2 (but 1.0 is specified in tiapp.xml)\r\nAndroid SDK 4.2.2\r\n\r\n*Test case:*\r\nRun this code in Android emulator or Device\r\nRotate this Emulator/Device then button grid will rearrange\r\n\r\n*Expected Result*\r\nSome images randomly disappear and sometimes buttons rearrangement is not working good ", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-12-20T11:48:17.000+0000", "updated": "2013-12-20T11:48:17.000+0000" }, { "id": "287937", "author": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "body": "Any news ?", "updateAuthor": { "name": "sdelcroix", "key": "sdelcroix", "displayName": "Sébastien DELCROIX", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-01-13T10:49:44.000+0000", "updated": "2014-01-13T10:49:44.000+0000" }, { "id": "290659", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The issue is reproducible. \nUsed the simplified app from here : https://github.com/sdelcroix/SimpleButtongridTest \nSome of the icons disappear, some rearrange while some overlap when orientation is changed from landscape to portrait & viceversa.\n\nEnvironment:\nAppc Studio : 3.2.1.201401281409\nTi SDK : 3.2.1.v20140130101648\nMac OSX : 10.8.5\nAlloy : 1.3.1-cr \t\nCLI - 3.2.1 beta3\nSamsung Galaxy S4 running android 4.2.2, genymotion emulator 4.1.1 android", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-31T18:50:28.000+0000", "updated": "2014-01-31T18:50:28.000+0000" }, { "id": "301948", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Downgrading priority due to lack of bandwidth.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-21T21:06:48.000+0000", "updated": "2014-04-21T21:06:48.000+0000" } ], "maxResults": 23, "total": 23, "startAt": 0 } } }