{ "id": "175926", "key": "TIMOB-28301", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": "21050", "name": "Release 10.0.0", "archived": false, "released": true, "releaseDate": "2021-05-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-03-05T15:57:52.000+0000", "created": "2020-12-19T05:19:06.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "breaking-change", "darkmode", "material-theme", "theme" ], "versions": [], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-04-01T20:59:40.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\nAs of Titanium 9.3.0, apps use the {{Theme.MaterialComponents.Bridge}} by default.\r\nWe should change it to {{Theme.MaterialComponents.DayNight.DarkActionBar}}.\r\n\r\n*Reason:*\r\nThis would allow us to support Android 10's light/dark mode feature. A Titanium app would then be able to change between the 2 modes dynamically.\r\nhttps://developer.android.com/guide/topics/ui/look-and-feel/darktheme\r\n\r\n*New Titanium Themes:*\r\nThe following themes support dynamic switching between Day/Night (ie: Light/Dark) themes.\r\nNote that OS versions older than Android 10 will use the Day (ie: Light) theme by default.\r\n* {{Theme.Titanium.DayNight}} // This is the default.\r\n* {{Theme.Titanium.DayNight.NoTitleBar}}\r\n* {{Theme.Titanium.DayNight.Fullscreen}}\r\n\r\nTitanium Dark-only themes.\r\n* {{Theme.Titanium.Dark}}\r\n* {{Theme.Titanium.Dark.NoTitleBar}}\r\n* {{Theme.Titanium.Dark.Fullscreen}}\r\n\r\nTitanium Light-only themes.\r\n* {{Theme.Titanium.Light}}\r\n* {{Theme.Titanium.Light.NoTitleBar}}\r\n* {{Theme.Titanium.Light.Fullscreen}}\r\n\r\nThe above themes can be applied the AndroidManifest.xml {{}} element and/or to an {{Ti.UI.Window}} via its creation-only \"theme\" property. Titanium will assign the \"Theme.Titanium.DayNight\" to the application by default unless overriden in the \"tiapp.xml\" via the {{}} element.\r\n\r\nThe above Dark and Light themes are for app developers who want to opt-out of Light/Dark theme switching. This is especially useful for apps which hard-code colors.\r\n\r\n*New AppDerived Themes:*\r\nThe following themes will be derived from the theme assigned to the AndroidManifest.xml {{}} element. If you do not set a custom theme there, then they will derive from the default {{Theme.Titanium.DayNight}}. These themes are intended to be passed to a {{Ti.UI.Window}}/{{Ti.UI.TabGroup}} \"theme\" property when wanting to remove the titlebar, show the window fullscreen, etc. and maintain the current app theme.\r\n* {{Theme.AppDerived.NoTitleBar}}\r\n* {{Theme.AppDerived.Fullscreen}}\r\n* {{Theme.AppDerived.Translucent}}\r\n* {{Theme.AppDerived.Translucent.NoTitleBar}}\r\n* {{Theme.AppDerived.Translucent.Fullscreen}}\r\n\r\n*Deprecated Themes:*\r\nThe following themes are also deprecated, but will still work. These themes have been replaced by the above mentioned {{Theme.AppDerived.\\*}} themes.\r\n* {{Theme.Titanium.NoTitleBar}}\r\n* {{Theme.Titanium.Fullscreen}}\r\n* {{Theme.Titanium.Translucent}}\r\n* {{Theme.Titanium.Translucent.NoTitleBar}}\r\n* {{Theme.Titanium.Translucent.Fullscreen}}\r\n\r\nDo not use the following themes. These may cause errors or exceptions with the new material widgets that Titanium 10.0.0 uses. Custom themes must derive from {{Theme.MaterialComponents.\\*}}, but not the {{Bridge}} derived material themes.\r\n* {{Theme.AppCompat.\\*}}\r\n* {{Theme.MaterialComponents.Bridge.\\*}}\r\n\r\n*Breaking-Change:*\r\nThis means we would be dropping the old \"holo dark\" theme as shown below.\r\nhttps://developer.android.com/guide/topics/ui/look-and-feel/themes\r\n\r\nWe would end up using Google's modern material design theme where the \"light\" theme uses a white background instead of the old dark gray background.", "attachment": [ { "id": "67828", "filename": "material.gif", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-02-26T00:12:58.000+0000", "size": 4318999, "mimeType": "image/gif" } ], "flagged": false, "summary": "Android: Use the material DayNight theme by default", "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": 1217, "state": "closed", "name": "2021 Sprint 4", "startDate": "2021-02-16T00:52:00.000Z", "endDate": "2021-02-27T00:52:00.000Z", "completeDate": "2021-02-28T18:56:28.465Z", "originBoardId": 114 }, { "id": 1219, "state": "closed", "name": "2021 Sprint 5", "startDate": "2021-03-01T19:02:00.000Z", "endDate": "2021-03-12T19:02:00.000Z", "completeDate": "2021-03-15T03:30:49.472Z", "originBoardId": 114 }, { "id": 1215, "state": "closed", "name": "2021 Sprint 2", "startDate": "2021-01-18T20:36:00.000Z", "endDate": "2021-01-29T20:36:00.000Z", "completeDate": "2021-01-31T17:42:28.052Z", "originBoardId": 114 }, { "id": 1216, "state": "closed", "name": "2021 Sprint 3", "startDate": "2021-02-01T17:42:00.000Z", "endDate": "2021-02-12T17:42:00.000Z", "completeDate": "2021-02-12T22:01:52.235Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "457936", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/12353", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-19T10:02:07.000+0000", "updated": "2020-12-19T10:02:07.000+0000" }, { "id": "458353", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master and 10_0_X for 10.0.0 release target.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-03-05T15:57:48.000+0000", "updated": "2021-03-05T15:57:48.000+0000" }, { "id": "458434", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged follow-on PR (https://github.com/appcelerator/titanium_mobile/pull/12537) to master and 10_0_X for 10.0.0 target (https://github.com/appcelerator/titanium_mobile/pull/12592).", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-03-16T15:28:34.000+0000", "updated": "2021-03-16T15:28:34.000+0000" }, { "id": "458472", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "[~lchoudhary] There's another follow-on PR here: https://github.com/appcelerator/titanium_mobile/pull/12622", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-03-23T18:49:13.000+0000", "updated": "2021-03-23T18:49:13.000+0000" }, { "id": "458477", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "follow-on PR #12622 merged to master, backport merged to 10_0_X", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-03-24T15:19:54.000+0000", "updated": "2021-03-24T15:19:54.000+0000" }, { "id": "458505", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Follow-up PR to improve TabGroup material color and ripple handling.\r\nPR (master): https://github.com/appcelerator/titanium_mobile/pull/12679", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-03-31T02:30:27.000+0000", "updated": "2021-03-31T02:30:27.000+0000" }, { "id": "458517", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged following to master, manually cherry-picked to 10_0_X", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-04-01T20:59:40.000+0000", "updated": "2021-04-01T20:59:40.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }