{ "id": "175929", "key": "TIMOB-28367", "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": "21199", "description": "", "name": "Release 10.0.1", "archived": false, "released": true, "releaseDate": "2021-07-28" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-06-10T17:17:39.000+0000", "created": "2020-12-22T17:28:26.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "android", "animate", "iOS", "progressbar" ], "versions": [], "issuelinks": [ { "id": "59203", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "176048", "key": "TIMOB-28351", "fields": { "summary": "Android: Update ProgressBars/ActivityIndicators to use material theme", "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": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-06-10T17:17:39.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" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" }, { "id": "15102", "name": "Mac", "description": "Mac authoring support" } ], "description": "*Summary:*\r\nOur [Ti.UI.ProgressBar|https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.ProgressBar] should animate by default when changing the progress value. This will make the UI widget look more modern.\r\n\r\nWe should provide a new \"animated\" property which allows developers to enable/disable the animation. By default it should be {{true}}.\r\n\r\n*To-Do on iOS:*\r\niOS (/iphone/Classes/TiUIProgressBar.m): *animated:YES*\r\n{code:objc}\r\n- (void)setValue_:(id)value\r\n{\r\n CGFloat newValue = ([TiUtils floatValue:value] - min) / (max - min);\r\n [[self progress] setProgress:newValue animated:YES];\r\n}\r\n{code}\r\n\r\n*To-Do on Android:*\r\nWhen we switch over to the material [LinearProgressIndicator|https://developer.android.com/reference/com/google/android/material/progressindicator/LinearProgressIndicator], we can easily animate progress value changes via its [setProgressCompat()|https://developer.android.com/reference/com/google/android/material/progressindicator/BaseProgressIndicator#setProgressCompat(int,%20boolean)] method. We can do this once ticket [TIMOB-28351] is implemented.\r\n\r\nNote that the way to do this with the old Android [ProgressBar|https://developer.android.com/reference/android/widget/ProgressBar] class is to do the below.\r\n{code:java}\r\nObjectAnimator.ofInt(progressBar, \"progress\", progressValue)\r\n .setDuration(300)\r\n .start();\r\n{code}\r\n", "attachment": [ { "id": "67824", "filename": "ProgressBarAnimatedTest.js", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-02-24T05:28:12.000+0000", "size": 1661, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "TiAPI: Ti.UI.ProgressBar should smoothly animate value changes", "creator": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "458300", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The material {{LinearProgressIndicator}} makes this easy to add on Android and looks nice and smooth.\r\n\r\nI'm thinking progress should be animated by default and we should add an \"animated\" property (like you were thinking) so you can turn it on or off. What do you think?", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-02-24T04:48:25.000+0000", "updated": "2021-02-24T04:48:25.000+0000" }, { "id": "458301", "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": "2021-02-24T05:38:27.000+0000", "updated": "2021-02-24T05:38:27.000+0000" }, { "id": "458324", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, Waiting on Jenkins build and backport (as well as FR on related on tickets) ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-03-02T15:53:10.000+0000", "updated": "2021-03-02T15:53:10.000+0000" }, { "id": "458343", "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:56:32.000+0000", "updated": "2021-03-05T15:56:32.000+0000" }, { "id": "458749", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This change didn't get back-ported and is missing in the 10_0_X branch. We'll have to back-port the following commit.\r\nhttps://github.com/appcelerator/titanium_mobile/pull/12353/commits/243810833dff6f199e9cc414a58440153b1e0a72\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-06-09T16:42:07.000+0000", "updated": "2021-06-09T16:42:07.000+0000" }, { "id": "458752", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (10_0_X): https://github.com/appcelerator/titanium_mobile/pull/12876", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-06-09T22:06:33.000+0000", "updated": "2021-06-09T22:06:33.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }