{ "id": "172929", "key": "TIMOB-26777", "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": "20791", "name": "Release 8.0.2", "archived": false, "released": true, "releaseDate": "2019-06-18" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2019-05-29T17:42:11.000+0000", "created": "2019-01-29T22:58:27.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "engSchedule", "keyboard", "manifest", "tiapp.xml" ], "versions": [], "issuelinks": [ { "id": "57133", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "172333", "key": "TIMOB-27083", "fields": { "summary": "[Android] Continues functions after Ti.App._restart()", "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 } } } }, { "id": "57621", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "173602", "key": "TIMOB-27067", "fields": { "summary": "Android: UI sometimes disappears on Android 9.0 and higher when battery saver turns on/off", "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 } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2019-05-29T17:42:11.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\nThe Titanium window UI will disappear when doing the following on Android:\r\n* Connect or disconnect a bluetooth keyboard.\r\n* Open or close a phone's slide-out keyboard. (Like the old Droid devices.)\r\n\r\n*Steps to reproduce:*\r\n# Connect a bluetooth keyboard to an Android device.\r\n# Launch a Titanium app on that device.\r\n# Turn off the bluetooth keyboard (or pull the batteries out).\r\n\r\n*Result:*\r\nThe UI disappears when the keyboard disconnects.\r\n\r\n*Cause:*\r\nTitanium generates an \"AndroidManifest.xml\" when doing an Android build. The Titanium {{}} elements have an \"android:configChanges\" attribute which are missing the \"keyboard\" value. This is needed to override the Android OS' default behavior of destroying the activity and recreating it when a keyboard disconnects. (We overriding the \"orientation\" change event for the same reason.)\r\nhttps://developer.android.com/guide/topics/manifest/activity-element#config\r\n\r\n*Recommended Solution:*\r\nWe need to updating Titanium's \"AndroidManifest.xml\" template and/or \"_build.js\" to automatically add the \"keyboard\" setting to all activities that do not load UI from XML such as the root activity, TiActivity, JSActivity, etc.\r\n\r\n*Work-Around:*\r\nAdd the following to the \"tiapp.xml\" to override the the \"keyboard\" handling yourself. Note that the activity name is based on the app's name. If the app's name is \"MyAppName\", then the activity name will be \"MyappnameActivity\".\r\n{code:javascript}\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n{code}\r\n\r\n", "attachment": [], "flagged": false, "summary": "Android: Window UI disappears when connecting/disconnecting keyboard", "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": 1136, "state": "closed", "name": "2019 Sprint 11", "startDate": "2019-05-18T17:39:52.830Z", "endDate": "2019-05-31T17:39:00.000Z", "completeDate": "2019-06-04T21:37:11.485Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "448316", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/10884", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-05-11T04:52:59.000+0000", "updated": "2019-05-11T04:52:59.000+0000" }, { "id": "448497", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (8.0.x): https://github.com/appcelerator/titanium_mobile/pull/10900", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-05-18T00:16:01.000+0000", "updated": "2019-05-18T00:16:01.000+0000" }, { "id": "448567", "author": { "name": "kmahalingam", "key": "kmahalingam", "displayName": "Keerthi Mahalingam", "active": false, "timeZone": "America/Los_Angeles" }, "body": "FR passed. jenkin is failing test. waiting for resolving jenkin failure to merge", "updateAuthor": { "name": "kmahalingam", "key": "kmahalingam", "displayName": "Keerthi Mahalingam", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2019-05-21T18:44:43.000+0000", "updated": "2019-05-21T18:44:43.000+0000" }, { "id": "448719", "author": { "name": "kmahalingam", "key": "kmahalingam", "displayName": "Keerthi Mahalingam", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix on SDK 8.0.2.v20190525084235 and 8.1.0.v20190524131922. no window dispappears when bluetooth keyboard connected/disconnected. Works as expected.\r\n\r\n{code}Test Environment:\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.13.6\r\n Architecture = 64bit\r\n # CPUs = 8\r\n Memory = 17179869184\r\nNode.js\r\n Node.js Version = 8.9.1\r\n npm Version = 5.5.1\r\nTitanium CLI\r\n CLI Version = 5.1.1\r\nTitanium SDK\r\n SDK Version = 8.0.2.v20190525084235 and 8.1.0.v20190524131922\r\nDevice = pixel 2 android 9\r\n{code}", "updateAuthor": { "name": "kmahalingam", "key": "kmahalingam", "displayName": "Keerthi Mahalingam", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2019-05-29T17:42:06.000+0000", "updated": "2019-05-29T17:42:06.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }