{
"id": "175376",
"key": "TIMOB-28050",
"fields": {
"issuetype": {
"id": "7",
"description": "gh.issue.story.desc",
"name": "Story",
"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"
}
],
"resolution": {
"id": "1",
"description": "A fix for this issue is checked into the tree and tested.",
"name": "Fixed"
},
"resolutiondate": "2020-11-25T15:15:16.000+0000",
"created": "2020-07-25T01:49:05.000+0000",
"epic": {
"id": 175371,
"key": "TIMOB-28045",
"name": "Android 11: Implement Support",
"summary": "Android 11: Implement Support",
"color": {
"key": "color_3"
},
"done": false
},
"priority": {
"name": "Medium",
"id": "3"
},
"labels": [
"android",
"canOpenUrl",
"email",
"emaildialog",
"intent",
"openUrl"
],
"versions": [],
"issuelinks": [
{
"id": "58817",
"type": {
"id": "10000",
"name": "Blocks",
"inward": "is blocked by",
"outward": "blocks"
},
"outwardIssue": {
"id": "175629",
"key": "TIMOB-28182",
"fields": {
"summary": "Android: Only add WRITE_EXTERNAL_STORAGE permission when needed",
"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": "4",
"description": "An improvement or enhancement to an existing feature or task.",
"name": "Improvement",
"subtask": false
}
}
}
}
],
"assignee": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"updated": "2020-11-25T15:15:16.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": "*Summary:*\r\nAndroid 11 requires developers to add a new {{}} entries into the \"AndroidManifest.xml\" for all intents passed to the Java {{resolveActivity()}} and {{queryIntentActivities()}} methods or else they will return {{false}} or an empty collection respectively.\r\nhttps://developer.android.com/preview/privacy/package-visibility\r\nhttps://developer.android.com/preview/privacy/package-visibility-use-cases#open-a-file\r\n\r\nGoogle lists which Java APIs are not affected below. The {{startActivity()}} and {{startActivityForResult()}} methods are not impacted. Intents referencing their own app are fine too.\r\nhttps://developer.android.com/preview/privacy/package-visibility#use-cases-not-affected\r\n\r\n*Impact:*\r\nThe following Titanium methods are impacted by this:\r\n* [Ti.Platform.canOpenURL()|https://docs.appcelerator.com/platform/latest/#!/api/Titanium.Platform-method-canOpenURL]\r\n* [Ti.Platform.openURL()|https://docs.appcelerator.com/platform/latest/#!/api/Titanium.Platform-method-openURL]\r\n* [Ti.UI.EmailDialog.isSupported()|https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.EmailDialog-method-isSupported]\r\n\r\n*To-Do:*\r\n* Our {{openURL()}} method should not call the Java {{resolveActivity()}} anymore so that it won't require the {{}} block. However, our {{canOpenURL()}} should continue to use it and we'll need to document the need for this. (Note that iOS requires a \"LSApplicationQueriesSchemes\" plist setting for this method as well for the same reasons.)\r\n* Ideally, our build system should auto-inject the {{}} block needed if the app's code contains a {{createEmailDialog()}} method call.\r\n\r\nThe {{canOpenURL()}} and {{openURL()}} methods should log an error if a {{}} entry is needed.\r\n\r\n*Test:*\r\nThe below PR has test code for {{canOpenURL()}} and {{openURL()}} which tests several different URLs.\r\nhttps://github.com/appcelerator/titanium_mobile/pull/10881\r\n",
"attachment": [],
"flagged": false,
"summary": "Android: Investigate \"package visibility\" handling on Android 11",
"creator": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"subtasks": [],
"reporter": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"environment": null,
"closedSprints": [
{
"id": 1206,
"state": "closed",
"name": "2020 Sprint 19",
"startDate": "2020-09-14T20:01:00.000Z",
"endDate": "2020-09-25T20:01:00.000Z",
"completeDate": "2020-09-28T15:30:19.875Z",
"originBoardId": 114
},
{
"id": 1207,
"state": "closed",
"name": "2020 Sprint 20",
"startDate": "2020-09-28T15:30:47.481Z",
"endDate": "2020-10-09T15:30:00.000Z",
"completeDate": "2020-10-09T16:33:43.453Z",
"originBoardId": 114
},
{
"id": 1208,
"state": "closed",
"name": "2020 Sprint 21",
"startDate": "2020-10-12T16:34:00.000Z",
"endDate": "2020-10-23T16:34:00.000Z",
"completeDate": "2020-10-23T02:32:43.674Z",
"originBoardId": 114
},
{
"id": 1209,
"state": "closed",
"name": "2020 Sprint 22",
"startDate": "2020-10-27T02:33:00.000Z",
"endDate": "2020-11-07T02:33:00.000Z",
"completeDate": "2020-11-06T17:45:42.610Z",
"originBoardId": 114
}
],
"comment": {
"comments": [
{
"id": "456634",
"author": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"body": "Regarding the [EmailDialog.isSupported()|https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.EmailDialog-method-isSupported] method, a {{}} block was not required a on a physical Pixel 3a device running Android 11, but it was required in the Android 11 emulator.\r\n\r\nInjecting the following into the \"AndroidManifest.xml\" will make our {{isSupported()}} method work.\r\n{code:xml}\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n{code}\r\n",
"updateAuthor": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"created": "2020-08-28T03:12:19.000+0000",
"updated": "2020-08-28T03:31:08.000+0000"
},
{
"id": "456649",
"author": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"body": "PR (9.3.x): https://github.com/appcelerator/titanium_mobile/pull/11985",
"updateAuthor": {
"name": "jquick",
"key": "jquick",
"displayName": "Joshua Quick",
"active": true,
"timeZone": "America/Los_Angeles"
},
"created": "2020-08-29T00:56:31.000+0000",
"updated": "2020-08-29T03:42:35.000+0000"
},
{
"id": "457345",
"author": {
"name": "cwilliams",
"key": "cwilliams",
"displayName": "Christopher Williams",
"active": true,
"timeZone": "America/New_York"
},
"body": "merged to 9_3_X branch, backport cherry-picked to master for 9.3.0 target",
"updateAuthor": {
"name": "cwilliams",
"key": "cwilliams",
"displayName": "Christopher Williams",
"active": true,
"timeZone": "America/New_York"
},
"created": "2020-10-26T17:25:33.000+0000",
"updated": "2020-10-26T18:06:41.000+0000"
},
{
"id": "457721",
"author": {
"name": "smohammed",
"key": "smohammed",
"displayName": "Samir Mohammed",
"active": true,
"timeZone": "America/Los_Angeles"
},
"body": "*Closing ticket*. Fix verified in SDK version {{9.3.0.v20201125050632}}.\r\n\r\nTest and other information can be found at:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/11985",
"updateAuthor": {
"name": "smohammed",
"key": "smohammed",
"displayName": "Samir Mohammed",
"active": true,
"timeZone": "America/Los_Angeles"
},
"created": "2020-11-25T15:15:09.000+0000",
"updated": "2020-11-25T15:15:09.000+0000"
}
],
"maxResults": 4,
"total": 4,
"startAt": 0
}
}
}