{ "id": "175642", "key": "TIMOB-28193", "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": "21052", "description": "", "name": "Release 9.3.0", "archived": false, "released": true, "releaseDate": "2020-12-14" }, { "id": "21129", "name": "Release 9.2.2", "archived": false, "released": true, "releaseDate": "2020-10-29" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-10-27T21:19:03.000+0000", "created": "2020-10-13T22:29:16.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "android", "media", "photo", "photogallery", "regression", "video" ], "versions": [ { "id": "20950", "name": "Release 9.1.0", "archived": false, "released": true, "releaseDate": "2020-08-25" } ], "issuelinks": [ { "id": "58825", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "175616", "key": "TIMOB-28178", "fields": { "summary": "Android: Canceling out of Ti.Media.openPhotoGallery() causes a crash as of 9.1.0", "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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-10-27T21:19:03.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": "This is a regression. Broken since 9.1.0.GA.\r\n\r\nIssue is seen only when multiple photos are selected. Selecting multiple photos from google photos does not cause this issue.\r\n\r\nh5.Steps to reproduce:\r\n1. Use the code below in the app.js:\r\n{code}\r\n layout: 'vertical',\r\n backgroundColor: 'gray'\r\n});\r\n\r\ngalleryBtn = Ti.UI.createButton({\r\n title: 'Open Gallery'\r\n});\r\n\r\ngalleryBtn.addEventListener('click', () => {\r\n\tTi.Media.openPhotoGallery({\r\n\t\tallowMultiple: true,\r\n\t\terror: function(e){\r\n\t\t\tTi.API.error(e);\r\n\t\t},\r\n\t\tsuccess: function(e){\r\n\t\t\tTi.API.info(e);\r\n\t\t}\r\n\t});\r\n});\r\n\r\nwin.add([galleryBtn]);\r\n\r\nwin.open();\r\n{code}\r\n2. After the app launches click {{open gallery}}.\r\n3. Select multiple photos from the gallery & click open/select.\r\n\r\nh5.Actual result:\r\n1. The app crashes with error:\r\n{code}\r\n[ERROR] : TiExceptionHandler: (main) [4,18345] Failure delivering result ResultInfo{who=null, request=2, result=-1, data=Intent { flg=0x1 clip={image/* U:content://com.android.providers.media.documents/document/image%3A25876 ...} }} to activity {com.app.zzzz/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.toString()' on a null object reference\r\n[ERROR] : TiExceptionHandler:\r\n[ERROR] : TiExceptionHandler: ti.modules.titanium.media.MediaModule$1.onResult(MediaModule.java:973)\r\n[ERROR] : TiExceptionHandler: org.appcelerator.titanium.util.TiActivitySupportHelper$1.onResult(TiActivitySupportHelper.java:60)\r\n[ERROR] : TiExceptionHandler: org.appcelerator.titanium.util.TiActivitySupportHelper.onActivityResult(TiActivitySupportHelper.java:117)\r\n[ERROR] : TiExceptionHandler: org.appcelerator.titanium.TiBaseActivity.onActivityResult(TiBaseActivity.java:900)\r\n[ERROR] : TiExceptionHandler: android.app.Activity.dispatchActivityResult(Activity.java:7759)\r\n[ERROR] : TiExceptionHandler: android.app.ActivityThread.deliverResults(ActivityThread.java:4626)\r\n[ERROR] : TiExceptionHandler: android.app.ActivityThread.handleSendResult(ActivityThread.java:4675)\r\n[ERROR] : TiExceptionHandler: android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)\r\n[ERROR] : TiExceptionHandler: android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)\r\n[ERROR] : TiExceptionHandler: android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)\r\n[ERROR] : TiExceptionHandler: android.app.ActivityThread$H.handleMessage(ActivityThread.java:1950)\r\n[ERROR] : TiExceptionHandler: android.os.Handler.dispatchMessage(Handler.java:106)\r\n[ERROR] : TiExceptionHandler: android.os.Looper.loop(Looper.java:214)\r\n[ERROR] : TiExceptionHandler: android.app.ActivityThread.main(ActivityThread.java:7073)\r\n[ERROR] : TiExceptionHandler: java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] : TiExceptionHandler: com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)\r\n[ERROR] : TiExceptionHandler: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)\r\n{code}\r\n\r\nh5.Expected result:\r\n1. The app should not crash.", "attachment": [ { "id": "67614", "filename": "PhotoVideoMultiselectTest.js", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-23T21:46:20.000+0000", "size": 3344, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "Android: Selecting multiple photos/videos via openPhotoGallery() can cause a crash as of 9.1.0", "creator": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Studio Ver: 6.0.0.202005141803\r\nOS Ver: 10.15.5\r\nXcode Ver: Xcode 12.0.1\r\nAppc NPM: 5.0.0\r\nAppc CLI: 8.1.1\r\nDaemon Ver: 3.2.0\r\nTi CLI Ver: 5.2.5\r\nAlloy Ver: 1.15.2\r\nNode Ver: 12.13.1\r\nNPM Ver: 6.14.7\r\nJava Ver: 11.0.6\r\nAndroid Devices: ⇨ google Pixel (Android 10), Galaxy S8+", "comment": { "comments": [ { "id": "457244", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is the same issue as [TIMOB-28178], just a different way of reproducing it.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-13T22:36:01.000+0000", "updated": "2020-10-13T22:36:01.000+0000" }, { "id": "457301", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2020-10-22T03:45:46.000+0000", "updated": "2020-10-22T03:45:46.000+0000" }, { "id": "457302", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Problem still exists, tested with:\r\n\r\nSDK: 9.3.0.v20201021081529\r\nDevice: Samsung Galaxy Note9 (SM-N9600)\r\nAndroid Version: 10", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2020-10-22T03:47:00.000+0000", "updated": "2020-10-22T03:47:00.000+0000" }, { "id": "457330", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/12212", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-23T21:48:26.000+0000", "updated": "2020-10-23T21:48:26.000+0000" }, { "id": "457346", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 9.3.0 target. Backport PR for 9_2_X required some manual adjustment, but is merged for 9.2.2 target.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-10-26T18:24:55.000+0000", "updated": "2020-10-26T18:37:29.000+0000" }, { "id": "457351", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Thank you very much for the very quick turnaround :)\r\n\r\nTested (9.3.0.v20201026143050), Works!", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2020-10-27T03:25:08.000+0000", "updated": "2020-10-27T03:25:08.000+0000" }, { "id": "457363", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix with SDK 9.3.0.v20201027120230.\r\nClosing.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-27T21:18:56.000+0000", "updated": "2020-10-27T21:18:56.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }