{ "id": "65021", "key": "TIMOB-3887", "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": "14064", "description": "Sprint 2012-17 Core", "name": "Sprint 2012-17 Core", "archived": true, "released": true, "releaseDate": "2012-08-27" }, { "id": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-05-17T18:25:51.000+0000", "created": "2011-05-03T15:12:58.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "SupportTeam", "core", "exalture", "merge-6.1.0", "module_media", "qe-testadded" ], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" }, { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [ { "id": "13794", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "82400", "key": "TIDOC-480", "fields": { "summary": "Android camera always opens in Landscape mode", "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": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "22698", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "104604", "key": "AC-2431", "fields": { "summary": "Pictures taken on Galaxy S3 do not respect Orientation", "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" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "22039", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "101529", "key": "TIMOB-10994", "fields": { "summary": "Android: on OS 3.0 camera picture width/height values are always returned as the picture was in landscape", "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 } } } }, { "id": "34429", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "122705", "key": "TIMOB-16122", "fields": { "summary": "Android: Image does not rotate correctly within an ImageView with overlay", "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 } } } }, { "id": "20133", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "99629", "key": "TIMOB-10566", "fields": { "summary": "iOS: Add 'autorotate' property to imageview", "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": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "31250", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "118806", "key": "TIMOB-14950", "fields": { "summary": "Android: Implement a way to retrieve image's orientation after taking photo or picking from gallery", "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": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-05-17T20:56:29.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": "# phone > camera > camera basic\r\n# in portrait, take an image, then hit okay and look at resulting image \r\n\r\nresults: image is landscape\r\nexpected: should reflect users orientation when image was taken\r\n\r\nnotes: not seen when using landscape orientation to take image", "attachment": [ { "id": "30667", "filename": "s2.jpg", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-22T16:10:35.000+0000", "size": 2323112, "mimeType": "image/jpeg" } ], "flagged": false, "summary": "Android: Image taken in portrait orients itself to landscape ", "creator": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium SDK version: 1.7.0 (05/02/11 08:26 887b93d...), os10.6.7, TiStud or TiDe. Nexus S (2.3.2", "closedSprints": [ { "id": 133, "state": "closed", "name": "2014 Sprint 13 SDK", "startDate": "2014-06-23T21:55:20.791Z", "endDate": "2014-07-04T00:00:00.000Z", "completeDate": "2014-07-07T17:32:18.561Z", "originBoardId": 100 }, { "id": 889, "state": "closed", "name": "2017 Sprint 10 SDK", "startDate": "2017-05-08T00:27:49.740Z", "endDate": "2017-05-22T00:27:00.000Z", "completeDate": "2017-05-22T02:41:01.011Z", "originBoardId": 114 }, { "id": 796, "state": "closed", "name": "2017 Sprint 02 SDK", "startDate": "2017-01-15T00:00:41.845Z", "endDate": "2017-01-29T00:00:00.000Z", "completeDate": "2017-01-30T21:10:44.640Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "133339", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "I tested it also in 1.6.3 with the same results in a Verizon Motorola Droid running 2.2.2\nThere is a helpdesk ticket (http://support.appcelerator.com/tickets/HBE-21859-831/homepage) that needs this fixed", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-05-10T05:08:22.000+0000", "updated": "2011-05-10T05:08:22.000+0000" }, { "id": "161891", "author": { "name": "gs1blue", "key": "gs1blue", "displayName": "Gentian Shkurti", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any update on this issue?\r\n\r\nI am seeing the same problem in 1.7.2 with Droid X and Droid 2. All images, both from camera and from gallery, always display in landscape orientation in ImageView and also are submitted in landscape to server as well (problem with image handling in event.media).\r\n\r\nThis makes photo taking and uploading in Android unusable, since most people use portrait to take photos. \r\nThe width and height properties also do not work in Android to be able to flip the image manually, so a workaround is not possible.", "updateAuthor": { "name": "gs1blue", "key": "gs1blue", "displayName": "Gentian Shkurti", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-08-04T12:49:41.000+0000", "updated": "2011-08-04T12:49:41.000+0000" }, { "id": "171716", "author": { "name": "gs1blue", "key": "gs1blue", "displayName": "Gentian Shkurti", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue happens in 1.7.2 and 1.8.0 (continuous builds) as well. I am able to reproduce it every time for portrait images on Droid X and Droid 2.", "updateAuthor": { "name": "gs1blue", "key": "gs1blue", "displayName": "Gentian Shkurti", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-11-06T20:09:12.000+0000", "updated": "2011-11-06T20:09:12.000+0000" }, { "id": "194907", "author": { "name": "jyounus", "key": "jyounus", "displayName": "Junaid Younus", "active": true, "timeZone": "Europe/London" }, "body": "Issue still exists in 2.0.1GA2, using a Samsung Galaxy S2.", "updateAuthor": { "name": "jyounus", "key": "jyounus", "displayName": "Junaid Younus", "active": true, "timeZone": "Europe/London" }, "created": "2012-05-15T14:59:24.000+0000", "updated": "2012-05-15T14:59:24.000+0000" }, { "id": "195784", "author": { "name": "tsmolich", "key": "tsmolich", "displayName": "Tamila Smolich", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This bug also exists on:\r\nTitanium Studio, build: 2.0.3.201205222028\r\nTitanium SDK: 2.0.2.v20120522180515\r\nDevice: Motorola Xoom (4.0.3)", "updateAuthor": { "name": "tsmolich", "key": "tsmolich", "displayName": "Tamila Smolich", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-23T10:55:23.000+0000", "updated": "2012-05-23T10:55:23.000+0000" }, { "id": "196722", "author": { "name": "lauriek334", "key": "lauriek334", "displayName": "Laurence Kirchmeier", "active": true, "timeZone": "America/New_York" }, "body": "Any update on this issue - it is now over a year since this was first reported and it make the usage of the camera module on Android very limited if one is forced to take \"landscape\" orientation photographs.\r\n", "updateAuthor": { "name": "lauriek334", "key": "lauriek334", "displayName": "Laurence Kirchmeier", "active": true, "timeZone": "America/New_York" }, "created": "2012-05-31T11:13:51.000+0000", "updated": "2012-05-31T11:13:51.000+0000" }, { "id": "215713", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR ready: https://github.com/appcelerator/titanium_mobile/pull/2807\r\n\r\nThis is the test case:\r\n{code}\r\nfunction fireUpTheCamera() {\r\n\tTitanium.Media.showCamera({\r\n\r\n\t\tsuccess : function(event) {\r\n\t\t\tvar cropRect = event.cropRect;\r\n\t\t\tvar image = event.media;\r\n\r\n\t\t\tTi.API.debug('Our type was: ' + event.mediaType);\r\n\t\t\tif (event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {\r\n\r\n\t\t\t\tvar imageView = Ti.UI.createImageView({\r\n\t\t\t\t\twidth : win.width,\r\n\t\t\t\t\theight : win.height,\r\n\t\t\t\t\timage : event.media,\r\n\t\t\t\t\tautorotate: true\r\n\t\t\t\t});\r\n\t\t\t\twin.add(imageView);\r\n\t\t\t} else {\r\n\t\t\t\talert(\"got the wrong type back =\" + event.mediaType);\r\n\t\t\t}\r\n\t\t},\r\n\t\tcancel : function() {\r\n\t\t},\r\n\t\terror : function(error) {\r\n\t\t\t// create alert\r\n\t\t\tvar a = Titanium.UI.createAlertDialog({\r\n\t\t\t\ttitle : 'Camera'\r\n\t\t\t});\r\n\r\n\t\t\t// set message\r\n\t\t\tif (error.code == Titanium.Media.NO_CAMERA) {\r\n\t\t\t\ta.setMessage('Please run this test on device');\r\n\t\t\t} else {\r\n\t\t\t\ta.setMessage('Unexpected error: ' + error.code);\r\n\t\t\t}\r\n\r\n\t\t\t// show alert\r\n\t\t\ta.show();\r\n\t\t},\r\n\t\tsaveToPhotoGallery : true,\r\n\t\tallowEditing : true,\r\n\t\tmediaTypes : [Ti.Media.MEDIA_TYPE_VIDEO, Ti.Media.MEDIA_TYPE_PHOTO]\r\n\t});\r\n}\r\n\r\nwin = Titanium.UI.createWindow({\r\n\tbackgroundColor: 'blue'\r\n});\r\nwin.addEventListener('open', function(e) {\r\n\tfireUpTheCamera();\r\n});\r\n\r\nwin.open();\r\n\r\n{code}\r\n\r\nIn the fail case, the picture will be in landscape after you take an image. With my change (adding an 'autorotate' property), the picture will rotate accordingly. This only happens on certain phones, I used a galaxy s2 to reproduce the fail case.\r\n\r\n", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-22T16:07:52.000+0000", "updated": "2012-08-22T16:09:59.000+0000" }, { "id": "215714", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please also use the attached image and run the following code to make sure that it rotates correctly from a project image:\r\n\r\n{code}\r\nvar win = Titanium.UI.createWindow();\r\n\r\nvar image = Ti.UI.createImageView({\r\n\tautorotate: true,\r\n\timage: 's2.jpg'\r\n\r\n})\r\n\r\nwin.add(image);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-22T16:11:39.000+0000", "updated": "2012-08-22T16:11:39.000+0000" }, { "id": "216303", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "and there was great rejoicing", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-27T14:33:26.000+0000", "updated": "2012-08-27T14:33:26.000+0000" }, { "id": "216309", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "comment reopened - setting to resolved again", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-27T14:54:07.000+0000", "updated": "2012-08-27T14:54:07.000+0000" }, { "id": "216739", "author": { "name": "sbhadauria", "key": "sbhadauria", "displayName": "Shyam Bhadauria", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Note to QE - QEport for this bug will include both given .js for single scenario.\r\n1. Take the image.\r\n2. Use that image in second .js (as s2.jpg)\r\nEnvironment used for verification -\r\nTested with Titanium SDK: 2.2.0.v20120828153312\r\nTested with Titanium  Studio: 2.1.2.201208201549\r\nDevice - Samsung GALAXY Note (2.3.6)\r\nMachine OS - MAC 10.8", "updateAuthor": { "name": "sbhadauria", "key": "sbhadauria", "displayName": "Shyam Bhadauria", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-29T06:27:55.000+0000", "updated": "2012-08-29T06:27:55.000+0000" }, { "id": "273169", "author": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "body": "Unsure why this was closed, it's still an issue in 3.1.3.GA...", "updateAuthor": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "created": "2013-09-27T16:07:32.000+0000", "updated": "2013-09-27T16:07:32.000+0000" }, { "id": "273190", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "An 'autorotate' flag was introduced, and is not on by default. Please try using that flag.", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-27T16:40:48.000+0000", "updated": "2013-09-27T16:40:48.000+0000" }, { "id": "273201", "author": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "body": "You're right, thanks.", "updateAuthor": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "created": "2013-09-27T17:30:23.000+0000", "updated": "2013-09-27T17:30:23.000+0000" }, { "id": "273429", "author": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "body": "Here's a test that breaks it, based off of the test above. It seems that autorotate doesn't work within a tableview. Start in portrait, take a picture, and the thumbnail will show up correctly in portrait. Now switch to landscape, take another picture, and the thumbnail will incorrectly show in portrait.\r\n\r\n{code:javascript}\r\nvar win, table, row, cameraImage, image;\r\n\r\nfunction openCamera() {\r\n Ti.Media.showCamera({\r\n success: function(event) {\r\n if (event.mediaType === Ti.Media.MEDIA_TYPE_PHOTO) {\r\n if(image) {\r\n row.remove(image);\r\n }\r\n image = Ti.UI.createImageView({\r\n right: '10dp',\r\n width: '40dp',\r\n height: '40dp',\r\n image: event.media,\r\n autorotate: true\r\n });\r\n row.add(image);\r\n } else {\r\n alert('wrong type: ' + event.mediaType);\r\n }\r\n },\r\n cancel: function() {\r\n },\r\n error: function(error) {\r\n alert(error);\r\n },\r\n saveToPhotoGallery: true,\r\n allowEditing: true,\r\n mediaTypes: [ Ti.Media.MEDIA_TYPE_VIDEO, Ti.Media.MEDIA_TYPE_PHOTO ]\r\n });\r\n}\r\n\r\nwin = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nrow = Ti.UI.createTableViewRow({\r\n height: '60dp',\r\n className: 'image-row'\r\n});\r\nvar cameraImage = Ti.UI.createImageView({\r\n right: '10dp',\r\n width: '40dp',\r\n height: '40dp',\r\n image: '/images/camera.png',\r\n autorotate: true\r\n});\r\nrow.add(cameraImage);\r\n\r\ntable = Ti.UI.createTableView({\r\n top: 0, bottom: 0, left: 0, right: 0\r\n});\r\ntable.setData([ row ]);\r\ntable.addEventListener('click', openCamera);\r\nwin.add(table);\r\n\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "created": "2013-09-30T19:13:43.000+0000", "updated": "2013-09-30T19:13:43.000+0000" }, { "id": "273495", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~jtoth] If you are still having issues with this in a table view, it would be great if you could file a separate ticket for this.\n\nThanks!", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-01T15:54:35.000+0000", "updated": "2013-10-01T15:54:35.000+0000" }, { "id": "280589", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This code snippet doesn't work even though 'autorotate' was set upon creation:\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor : 'white'\r\n});\r\n \r\nvar imageView = Ti.UI.createImageView({\r\n width : 400,\r\n height : 400,\r\n autorotate: true\r\n});\r\nwin.add(imageView);\r\n \r\nvar button = Ti.UI.createButton({\r\n top : 0,\r\n title : \"open camera\"\r\n});\r\n \r\nbutton.addEventListener(\"click\", function() {\r\n Titanium.Media.showCamera({\r\n \r\n success : function(event) {\r\n Ti.API.info('Our type was: ' + event.mediaType);\r\n if (event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {\r\n imageView.image = event.media.imageAsResized(400, 400);\r\n \r\n } else {\r\n alert(\"got the wrong type back =\" + event.mediaType);\r\n }\r\n },\r\n cancel : function() {\r\n Ti.API.info(\"***************** cancel\");\r\n },\r\n error : function(error) {\r\n Ti.API.info(\"***************** error\");\r\n },\r\n saveToPhotoGallery : true,\r\n mediaTypes : [Ti.Media.MEDIA_TYPE_VIDEO, Ti.Media.MEDIA_TYPE_PHOTO]\r\n });\r\n});\r\n \r\nwin.add(button);\r\n \r\nwin.open(); \r\n{code}\r\n\r\nLooking at the source code, it seems that 'autorotate' will only work IF we have an image set at creation also. Is this intended? (Tested with Galaxy S2)", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-11-21T19:13:38.000+0000", "updated": "2013-11-21T19:16:50.000+0000" }, { "id": "289201", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Issue reproducible on some specific devices.\n\nAppc Studio:3.2.1.201401211804\nSdk:3.2.1.v20140121132444\nalloy:1.3.1-beta3\t\ntitanium:3.2.1(from cli)\nacs:1.0.11\ntitanium-code-processor:1.1.0\nOsx: Maverick 10.9\nXcode:5.0.2\nDevice:Samsung s3(v4.1.2)\n\nOn Samsung S3(v4.1.2) could reproduce this.\nBut also tried with Nexus 7(v4.4.2),Nexus7(v4.3),HTC Desire(v4.0.3) issue was not reproducible.", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-22T10:31:43.000+0000", "updated": "2014-01-22T10:31:43.000+0000" }, { "id": "293543", "author": { "name": "zabady", "key": "zabady", "displayName": "ahmed atif salah", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The problem is not fixed yet, I see it's reopened but no assigned date for resolving it.\r\nPlease update me with even a workaround because I am stuck in that bug.", "updateAuthor": { "name": "zabady", "key": "zabady", "displayName": "ahmed atif salah", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-18T17:45:07.000+0000", "updated": "2014-02-18T17:45:07.000+0000" }, { "id": "295439", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested for this issue using the above test code with the \"autorotate\" property set to true and here's what I found:\r\n1. On Samsung S4 (android 4.2.2) -- I take a pic in portrait mode using camera, click save , the image appears in portrait mode in the app.\r\n2. On Samsung S3 (android 4.0.4) -- I take a pic in portrait mode using camera, click save , the image appears in portrait mode in the app.\r\n3. On Nexus 5 (android 4.4.2) -- I take a pic in portrait mode using camera, click save , the image appears in portrait mode in the app.\r\n4. On sony Xperia (android 2.3.7) -- I take a pic in portrait mode using camera, click save , the image appears in portrait mode in the app.\r\n\r\nSo from the results above we see that with the \"autorotate\" set to true we cannot reproduce it.\r\n\r\nNot setting or setting \"autorotate\" to false, I could see this issue exists on Samsung S3 , Samsung S4 & Sony Xperia but not on Nexus 5 \r\n\r\nEnvironment:\r\nAppc Studio : 3.2.1.201402061120\r\nTi SDK : 3.2.1.GA\r\nMac OSX : 10.8.5\r\nAlloy : 1.3.1\t\r\nCLI - 3.2.1 ", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-04T01:23:30.000+0000", "updated": "2014-03-04T01:25:53.000+0000" }, { "id": "295441", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "What about landscape?", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2014-03-04T01:29:12.000+0000", "updated": "2014-03-04T01:29:12.000+0000" }, { "id": "295444", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "If the image is taken in landscape with \"autorotate\" set to true & we view the app with device in portrait orientation then, here are the findings:\n1. On Samsung S4 (android 4.2.2) – I take a pic in landscape mode using camera, click save , the image appears in portrait mode in the app.\n2. On Samsung S3 (android 4.0.4) – I take a pic in landscape mode using camera, click save , the image appears in portrait mode in the app.\n3. On Nexus 5 (android 4.4.2) – I take a pic in landscape mode using camera, click save , the image appears in portrait mode in the app. \n4. On sony Xperia (android 2.3.7) – I take a pic in landscape mode using camera, click save , the image appears in portrait mode in the app.\n\nIf the device is in landscape orientation while viewing the pic captured then, all images appear in landscape.\n\nEnvironment:\nAppc Studio : 3.2.1.201402061120\nTi SDK : 3.2.1.GA\nMac OSX : 10.8.5\nAlloy : 1.3.1\t\nCLI - 3.2.1", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-04T01:40:46.000+0000", "updated": "2014-03-04T01:40:46.000+0000" }, { "id": "299711", "author": { "name": "neveuadrien", "key": "neveuadrien", "displayName": "Adrien NEVEU", "active": true, "timeZone": "Europe/Berlin" }, "body": "Issue reproductible with device Samsung Galaxy S4 mini GT-I9195:\r\nPhoto taken in portrait appear in landscape.\r\nPhoto taken in landscape (clockwise from portait to landscape) appear upside down.\r\nImageView's tag autorotate set to true in the TSS file.\r\n\r\nPhotos taken shows OK on the browser of the phone (exif informations are good).\r\n\r\nEnvironment:\r\nTitanium Studio : 3.2.0 and 3.2.1.201402041146\r\nTitanium SDK : 3.2.0.GA and 3.2.2.GA\r\nAlloy : 1.2 and 1.3.1\r\nCLI : 3.2.0 and 3.2.1\r\n\r\nWindow 7 64bits", "updateAuthor": { "name": "neveuadrien", "key": "neveuadrien", "displayName": "Adrien NEVEU", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-04-03T09:52:12.000+0000", "updated": "2014-04-03T09:52:12.000+0000" }, { "id": "309217", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We believe this is fixed in 3.3.0. Need to re-test and confirm so.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-06-16T21:59:55.000+0000", "updated": "2014-06-16T21:59:55.000+0000" }, { "id": "315800", "author": { "name": "kwabford", "key": "kwabford", "displayName": "Kwab Fordjour", "active": true, "timeZone": "America/New_York" }, "body": "*Update:*\r\n\r\nMy project's \"Build Properties\" in tiapp.xml were set to 3.2.2. Changing this to 3.3.0 somewhat fixed the problem on the S4. The media object that sent to the success callback width and height are always in landscape mode even when the image is in portrait. The result is that portrait images are squished vertically.\r\n\r\n*End Update*\r\n\r\n-I updated to 3.3.0 and ran Kitchen Sink. The issue is still there. The *imageView* with *autorotate* set to true ignores the exif orientation of the photo taken.- \r\n-I downloaded a clean version of Kitchen Sink and the issues was fixed there. However, When using similar code in my Alloy project the problem persists. Is it possible that the bug would only be fixed in classic titanium and not Alloy? Or that the fix only works for modules (as used in Kitchen Sink)? This bug has been blocking me for quite some time and an update would be be appreciated.-\r\n\r\n-Also note that the current Camera example in Kitchen Sink does not explicitly set *autorotate* to true.-\r\n\r\n-For now I'm going to try tracking the device orientation when the picture is taken and rotate the image view manually. This is less than ideal and I think this will screw up the image preview on android phones that don't have the rotation issue.- \r\n\r\nDevice: Samsung Galaxy S4 SGH-I337M\r\nAndroid Version: 4.4.2\r\n\r\nEnvironment:\r\nTitanium Studio : 3.3.0.201407100905\r\nTitanium SDK : 3.3.0.GA \r\nCLI : 3.3.0\r\nAlloy : 1.4.0\r\n\r\nOS X 10.9.4 ", "updateAuthor": { "name": "kwabford", "key": "kwabford", "displayName": "Kwab Fordjour", "active": true, "timeZone": "America/New_York" }, "created": "2014-07-25T13:23:15.000+0000", "updated": "2014-08-15T13:42:04.000+0000" }, { "id": "317268", "author": { "name": "ybrown", "key": "ybrown", "displayName": "Yishai Brown", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "My observation:\r\n\r\nWhen using {{Titanium.UI.ImageView (\\{autorotate: true\\})}} to show an image.\r\n\r\nIf the image is taken from the camera or the gallery for the first time, the image orientation is correctly auto presented.\r\n\r\nHowever, if there is a default image at construction time, the orientation is determined by the first image being used.\r\n\r\nI.e. if I set an image with landscape orientation at the construction of the ImageView and replace it later with an image with a portrate orientation, the result is rotated.\r\n\r\nIf I save the picture in the gallery and reopen the parent window (thus creating the ImageView with the picture taken as the image) it is presented correctly.\r\n\r\nI'd expect the ImageView to retest the orientation each time the method \"setImage\" is being used.\r\nUsing hide & show and or stop & start methods didn't help to fix the orientation.\r\n\r\nThe workaround that worked was to reconstruct the ImageView for every new image...\r\n\r\nSamsung S3 Mini GT-I8200\r\nAndroid 4.2.2\r\nTi 3.3.0 GA", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-06T11:29:48.000+0000", "updated": "2014-09-09T15:17:17.000+0000" }, { "id": "321711", "author": { "name": "ralcocer", "key": "ralcocer", "displayName": "Ricardo Alcocer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is still happening to me on some Android devices.", "updateAuthor": { "name": "ralcocer", "key": "ralcocer", "displayName": "Ricardo Alcocer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-04T03:14:58.000+0000", "updated": "2014-09-04T03:14:58.000+0000" }, { "id": "323102", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-09-11T17:16:21.000+0000", "updated": "2014-09-11T17:16:21.000+0000" }, { "id": "323226", "author": { "name": "ybrown", "key": "ybrown", "displayName": "Yishai Brown", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "Hi Michael, Thanks for sharing the EXIF info. Per my note above, if I use a brand new ImageView object, the image is displayed correctly. Hence, It is hard for me to see the relation to the EXIF format.\r\nKind Regards,\r\nYishai", "updateAuthor": { "name": "ybrown", "key": "ybrown", "displayName": "Yishai Brown", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2014-09-12T08:15:53.000+0000", "updated": "2014-09-12T08:15:53.000+0000" }, { "id": "323290", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "In the pull request mentioned before (https://github.com/appcelerator/titanium_mobile/pull/2807/files) the autorotate value is connected to the EXIF values. So I thought perhaps its not reading them correctly the second time or it might be connected to this. Working with camera images is a bit of a pain on linux. I hope it gets better and you don't need libraries like exif.js or fh.imagefactory ", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-09-12T15:14:59.000+0000", "updated": "2014-09-12T15:14:59.000+0000" }, { "id": "329472", "author": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "updateAuthor": { "name": "jtoth", "key": "jtoth", "displayName": "Justin Toth", "active": true, "timeZone": "America/New_York" }, "created": "2014-10-26T22:49:39.000+0000", "updated": "2014-10-26T22:49:39.000+0000" }, { "id": "329790", "author": { "name": "ralcocer", "key": "ralcocer", "displayName": "Ricardo Alcocer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This module fixed the issue for me.", "updateAuthor": { "name": "ralcocer", "key": "ralcocer", "displayName": "Ricardo Alcocer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-10-28T17:48:31.000+0000", "updated": "2014-10-28T17:48:31.000+0000" }, { "id": "339656", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "so..... when does the fix in the above module get pulled into core?\r\n\r\n[~ingo], since the assigned Allen is labeled as Inactive, maybe reassign? ;)", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-01-19T10:40:44.000+0000", "updated": "2015-01-19T10:40:44.000+0000" }, { "id": "350996", "author": { "name": "athorne", "key": "athorne", "displayName": "Alex Bernier", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Thank you, heaps, [~jtoth] for the code, and [~ralcocer] for the module [on github|https://github.com/ricardoalcocer/AndroidRotateImage]. Can't believe I didn't know about this until now. Works great. One of these days I want to add cropping to it and get rid of ImageFactory. This one is much faster at scaling than ImageFactory.", "updateAuthor": { "name": "athorne", "key": "athorne", "displayName": "Alex Bernier", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-04-28T15:40:09.000+0000", "updated": "2015-04-28T15:40:09.000+0000" }, { "id": "353014", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "@ingo any chance for this to get on 4.X ?", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2015-05-19T19:15:34.000+0000", "updated": "2015-05-19T19:19:49.000+0000" }, { "id": "359428", "author": { "name": "cisdev689", "key": "cisdev689", "displayName": "CIS Dev 689", "active": true, "timeZone": "Asia/Kolkata" }, "body": "I am facing this issue on Titanium SDK 4.1.0, \r\nAndroid version 5.0, \r\nDevice name - Galaxy S5,\r\nModel number - SM-G900H,\r\n\r\nif you pick the same image from gallery (where it shows in portrait) you will result into a landscape image in your app.", "updateAuthor": { "name": "cisdev689", "key": "cisdev689", "displayName": "CIS Dev 689", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2015-08-10T10:04:49.000+0000", "updated": "2015-08-10T10:04:49.000+0000" }, { "id": "386220", "author": { "name": "acvauctions", "key": "acvauctions", "displayName": "Tim Poulsen (ACV)", "active": true, "timeZone": "America/New_York" }, "body": "Still broken over 5 years later. No updates on Ricardo's module in forever (except my PR to recompile for 5.x). Maybe you guys could look at this issue??", "updateAuthor": { "name": "acvauctions", "key": "acvauctions", "displayName": "Tim Poulsen (ACV)", "active": true, "timeZone": "America/New_York" }, "created": "2016-05-19T17:22:44.000+0000", "updated": "2016-05-19T17:22:44.000+0000" }, { "id": "388739", "author": { "name": "clement", "key": "clement", "displayName": "Clément Blanco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "+1", "updateAuthor": { "name": "clement", "key": "clement", "displayName": "Clément Blanco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-21T15:08:31.000+0000", "updated": "2016-06-21T15:08:31.000+0000" }, { "id": "388746", "author": { "name": "macasfaj", "key": "macasfaj", "displayName": "Miguel Ángel Castaño", "active": true, "timeZone": "Europe/Berlin" }, "body": "I'm using Ricardo's module without problem. It works fine. ", "updateAuthor": { "name": "macasfaj", "key": "macasfaj", "displayName": "Miguel Ángel Castaño", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-21T16:10:40.000+0000", "updated": "2016-06-21T16:10:40.000+0000" }, { "id": "388780", "author": { "name": "ndastur", "key": "ndastur", "displayName": "Neville Dastur", "active": true, "timeZone": "Europe/London" }, "body": "But considering there is a ready made codebase and this is such a major fault it seems strange to have no progress at all.", "updateAuthor": { "name": "ndastur", "key": "ndastur", "displayName": "Neville Dastur", "active": true, "timeZone": "Europe/London" }, "created": "2016-06-21T21:30:40.000+0000", "updated": "2016-06-21T21:30:40.000+0000" }, { "id": "400229", "author": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "body": "Just went down this rabbit hole to fix this bug and ended up here. Ricardo's module fixed it for me. Another Ti bug that should have been fixed long long ago. Would love to see some movement on this issue. 49 watchers and over 5 years old.", "updateAuthor": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "created": "2016-11-02T05:02:03.000+0000", "updated": "2016-11-02T05:02:03.000+0000" }, { "id": "404401", "author": { "name": "fmerzadyan", "key": "fmerzadyan2", "displayName": "Frankie Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/8742", "updateAuthor": { "name": "fmerzadyan", "key": "fmerzadyan2", "displayName": "Frankie Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-01-10T22:03:02.000+0000", "updated": "2017-01-10T22:03:02.000+0000" }, { "id": "419506", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/9049\r\n6_1_X: https://github.com/appcelerator/titanium_mobile/pull/9050", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-05-10T20:25:07.000+0000", "updated": "2017-05-10T20:25:07.000+0000" }, { "id": "419909", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix.\r\n\r\nImages taken orients in the correct orientation on an imageview & when photos are saved in the gallery.\r\nClosing.\r\n\r\nStudio Ver: 4.9.0.201705160715\r\nSDK Ver: 6.1.0.v20170516173434\r\nOS Ver: 10.12.3\r\nXcode Ver: Xcode 8.3.2\r\nAppc NPM: 4.2.9\r\nAppc CLI: 6.2.1\r\nTi CLI Ver: 5.0.13\r\nAlloy Ver: 1.9.11\r\nNode Ver: 6.10.1\r\nJava Ver: 1.8.0_101\r\nDevices: google Nexus 6 --- Android 6.0.1, Nexus 5 --- Android 6.0.1, Samsung Galaxy S3 --- Android 4.4.2, Samsung Galaxy S3 --- Android 4.0.4", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-05-17T20:55:56.000+0000", "updated": "2017-05-17T20:55:56.000+0000" } ], "maxResults": 54, "total": 54, "startAt": 0 } } }