{ "id": "176331", "key": "TIMOB-28577", "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": "21249", "name": "Release 10.2.0", "archived": false, "released": false } ], "resolution": null, "resolutiondate": null, "created": "2021-11-06T03:05:40.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "theme" ], "versions": [ { "id": "21201", "description": "", "name": "Release 10.1.0", "archived": false, "released": true, "releaseDate": "2021-09-28" } ], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-11-06T03:21:12.000+0000", "status": { "description": "Submitted for code review", "name": "In Review", "id": "10003", "statusCategory": { "id": 4, "key": "indeterminate", "colorName": "yellow", "name": "In Progress" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Summary:*\r\nWhen setting a {{Ti.UI.Window}} \"theme\" property to a dark theme, the status bar and navigation bar icons may wrongly be dark if app uses the {{Theme.Titanium.DayNight.Solid}} or {{Theme.Titanium.Light.Solid}}. This means dark icons may appear on a dark background, making them hard to see.\r\n\r\nTitanium's \"Solid\" themes are used by default as of Titanium 10.1.0.\r\n\r\n*Steps to reproduce:*\r\n# Set up an Android device to \"Light\" mode. (Not dark mode.)\r\n# Build and run the below code on that device.\r\n# Tap on the \"Theme.Titanium.Dark\" button.\r\n# Notice status bar and nav bar icons are wrongly dark on a dark black background.\r\n# Navigate back to parent window.\r\n# Tap on the \"Theme.Titanium.Dark.Solid\" button.\r\n# Notice status bar and nav bar icons are wrongly dark on a dark gray background.\r\n# Navigate back to parent window.\r\n# Tap on the \"Theme.Titanium.Light\" button.\r\n# Notice status bar and nav bar icons are wrongly dark on a dark blue background.\r\n\r\n{code:javascript}\r\nconst parentWindow = Ti.UI.createWindow({\r\n\ttitle: \"Select Child Theme\",\r\n\textendSafeArea: false,\r\n});\r\nconst tableView = Ti.UI.createTableView({\r\n\tdata: [\r\n\t\tTi.UI.createTableViewRow({ title: \"Theme.Titanium.Dark\" }),\r\n\t\tTi.UI.createTableViewRow({ title: \"Theme.Titanium.Dark.Solid\" }),\r\n\t\tTi.UI.createTableViewRow({ title: \"Theme.Titanium.Light\" }),\r\n\t\tTi.UI.createTableViewRow({ title: \"Theme.Titanium.Light.Solid\" }),\r\n\t],\r\n});\r\ntableView.addEventListener(\"click\", (e) => {\r\n\tconst childWindow = Ti.UI.createWindow({\r\n\t\ttitle: e.row.title,\r\n\t\ttheme: e.row.title,\r\n\t});\r\n\tconst closeButton = Ti.UI.createButton({ title: \"Close\" });\r\n\tcloseButton.addEventListener(\"click\", () => {\r\n\t\tchildWindow.close();\r\n\t});\r\n\tchildWindow.add(closeButton);\r\n\tchildWindow.open();\r\n});\r\nparentWindow.add(tableView);\r\nparentWindow.open();\r\n{code}\r\n\r\n*Cause:*\r\nThe {{Ti.UI.Window}} \"theme\" property acts like an \"overlay\" and copies the theme's setting on top of the application's theme settings. The above test case's themes that have this dark icon issue do not set the {{android:windowLightStatusBar}} and {{android:windowLightNavigationBar}} attributes to {{false}} and end up wrongly inheriting the app's theme which sets these attributes to {{true}}. The solution is to set this attribute in all Titanium themes to avoid this issue.\r\n", "attachment": [], "flagged": false, "summary": "Android: StatusBar/NavBar icons may be wrongly dark if window \"theme\" is set and app uses Titanium \"Solid\" light 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, "comment": { "comments": [ { "id": "459157", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/13168", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-11-06T03:21:07.000+0000", "updated": "2021-11-06T03:21:07.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }