{ "id": "159382", "key": "TIMOB-23168", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2016-05-26T07:19:22.000+0000", "created": "2016-04-07T16:51:11.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "openphotogallery" ], "versions": [], "issuelinks": [ { "id": "52067", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "116443", "key": "TIMOB-14382", "fields": { "summary": "Android: Enable Media.openPhotoGallery to select multiple media items instead of 1 at a time.", "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": "Critical", "id": "1" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "updated": "2016-06-23T07:03:27.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": "It would be nice to have an option to allow the user selecting multiple photos out of his gallery with Ti.Media.openPhotoGallery.\r\n\r\nTher should be an {{allowMultiple}} option in here:\r\nhttp://docs.appcelerator.com/platform/latest/#!/api/PhotoGalleryOptionsType\r\n\r\nThe current behavior is the selection window closes as soon as the first photo was selected.", "attachment": [], "flagged": false, "summary": "Android: Allow selecting multiple photos with Ti.Media.openPhotoGallery", "creator": { "name": "manuellehner", "key": "manuellehner", "displayName": "Manuel Lehner", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "manuellehner", "key": "manuellehner", "displayName": "Manuel Lehner", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "382129", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Thanks for the feature request. This is a valid new feature. But, this need to pass our selection committee when and whether this will be included in the platform. You need to understand that the process is time consuming and lot of variables in play. Besides, We have so many other requests in our pipeline. \r\n\r\nRegards\r\nSharif.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2016-04-07T20:48:19.000+0000", "updated": "2016-04-07T20:48:47.000+0000" }, { "id": "383916", "author": { "name": "manuellehner", "key": "manuellehner", "displayName": "Manuel Lehner", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/7967\r\n\r\nTest code:\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff',\r\n layout: 'vertical'\r\n});\r\n\r\nvar button = Ti.UI.createButton({\r\n title: 'open gallery'\r\n});\r\n\r\nbutton.addEventListener('click', function(){\r\n Ti.Media.openPhotoGallery({\r\n allowMultiple: true,\r\n success: function(e){\r\n e.images.forEach(function(image){\r\n var imageView = Ti.UI.createImageView({\r\n height: 300,\r\n image: image.media\r\n });\r\n win.add(imageView);\r\n });\r\n }\r\n });\r\n});\r\n\r\nwin.add(button);\r\n\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "manuellehner", "key": "manuellehner", "displayName": "Manuel Lehner", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-04-26T11:42:40.000+0000", "updated": "2016-04-26T11:43:10.000+0000" }, { "id": "383917", "author": { "name": "manuellehner", "key": "manuellehner", "displayName": "Manuel Lehner", "active": true, "timeZone": "Europe/Berlin" }, "body": "This works fine for me. But I'm not sure what you do think about this.\r\n\r\nThere's two issues:\r\n\r\n1. The success callback is originally intended to return one single image. The PR introduces an `images` property which is basically an Array of [CameraMediaItemType|http://docs.appcelerator.com/platform/latest/#!/api/CameraMediaItemType]\r\n2. The result handler creates Blobs for each image which can lead into memory problems since this allocates a lot of memory instead of just returning the paths. That might require a complete different way of handling the result data.\r\n\r\nWhat's you general opinion on this?", "updateAuthor": { "name": "manuellehner", "key": "manuellehner", "displayName": "Manuel Lehner", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-04-26T11:57:18.000+0000", "updated": "2016-04-26T11:57:18.000+0000" }, { "id": "385000", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~manuellehner]\r\n1: It's fine, because it's simply a different property that deserves to act independently\r\n2: So you would suggest to return just a string path instead of a blob? It's critical for sending data, because it requires blobs. But I'm not sure whats the best approach from the android perspective here. [~msamah]?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-06T14:48:33.000+0000", "updated": "2016-05-06T14:48:48.000+0000" }, { "id": "386866", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-26T07:19:22.000+0000", "updated": "2016-05-26T07:19:22.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }