{ "id": "175446", "key": "TIMOB-28087", "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": "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-25T14:59:12.000+0000", "created": "2020-08-18T01:22:16.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "android", "theme" ], "versions": [], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-11-25T14:59:12.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 only means of opening a window without top title bar is via its \"theme\" creation property set to 1 of the below. The problem with this is that the below themes inherit from Google's dark AppCompat theme and do not use the theme assi\r\n* {{\"Theme.AppCompat.NoTitleBar\"}}\r\n* {{\"Theme.AppCompat.NoTitleBar.Fullscreen\"}}\r\n* {{\"Theme.AppCompat.Fullscreen\"}}\r\n\r\nThe problem with the above is that the above themes inherit from Google's dark {{\"Theme.AppCompat\"}} theme. If you've assigned a custom theme to the {{}} element in the \"AndroidManifest.xml\", the window won't use it because you told it to use Google AppCompat derived theme instead.\r\n\r\n*Reason this is Needed:*\r\nOther than making it easier to remove the title bar, we also want to support Google's Material themed widgets in the near future. These widgets will throw an exception if the activity or app is not using a {{\"Theme.MaterialComponents\"}} derived theme and if most developers are using the {{\"Theme.AppCompat\"}} theme instead (like what our guides suggest), then the app will crash. We'll want to have developers transition off of these older Google themes.\r\n\r\n*Recommended Solution:*\r\nCreate the following new themes...\r\n* {{\"Theme.Titanium.NoTitleBar\"}}\r\n* {{\"Theme.Titanium.Fullscreen\"}}\r\n* {{\"Theme.Titanium.Translucent.NoTitleBar\"}}\r\n* {{\"Theme.Titanium.Translucent.Fullscreen\"}}\r\n\r\n_(We already have {{\"Theme.Titanium.Translucent\"}} defined which derives from app's theme.)_\r\n\r\nTitanium's build system will derive the above themes from the one assigned to the {{}} in the \"AndroidManifest.xml\" as shown below. If a theme is not assigned, then they will derive from Titanium's default theme.\r\n{code:xml}\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n{code}\r\n\r\n*Note:*\r\nYou can easily work-around this by setting up your own custom NoTitleBar theme like the below. This is easy to do, but doing the above makes removing title bars easier.\r\n{code:xml}\r\n\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Android: Add \"NoTitleBar\" and \"Fullscreen\" themes which derive from custom app theme", "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 } ], "comment": { "comments": [ { "id": "456495", "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/11921", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-08-18T03:23:21.000+0000", "updated": "2020-08-18T03:23:21.000+0000" }, { "id": "457046", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, waiting on Jenkins build. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-09-28T13:13:45.000+0000", "updated": "2020-09-28T13:13:45.000+0000" }, { "id": "457719", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket*. Feature verified in SDK version {{9.3.0.v20201125050632}}.\r\n\r\n*Test and other information can be found at:\r\n*https://github.com/appcelerator/titanium_mobile/pull/11921", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-11-25T14:58:54.000+0000", "updated": "2020-11-25T14:58:54.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }