{
"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
}
}
}