feat(settings): Animation setting inherits systemwide settings#10800
feat(settings): Animation setting inherits systemwide settings#10800untitaker wants to merge 3 commits into
Conversation
Convert the "Use gaudy visual effects" boolean checkbox to a tri-state option (On/Off/Use system default) that defaults to following Android's system animation accessibility setting. Similar to ThemeManager, introduce a new AnimationManager and funnel all access to this option through there. I'm on the fence as to whether that isn't too much overkill, IMO it would make sense to merge them both into one "settings manager". Right now there is only one place where the setting is being read, in ViewSwitcher. However, there are many other places where the setting is supposed to be respected but isn't (sidebar, messagetopview thunderbird#10796) so I figured it's better to centralize the resolution outside of ViewSwitcher.
|
Missing report label. Set exactly one of: |
|
ack on the lint issues, will fix this week |
wmontwe
left a comment
There was a problem hiding this comment.
Thank you for taking care of this issue.
Just add a test for the migration/updater please and remove the animations_summary string.
There was a problem hiding this comment.
Upgraders must be covered by a test.
| @@ -701,6 +701,9 @@ | |||
|
|
|||
| <string name="animations_title">Animation</string> | |||
| <string name="animations_summary">Use gaudy visual effects</string> | |||
There was a problem hiding this comment.
The "animations_summary" string could be removed.
There was a problem hiding this comment.
Migrations must be covered by a test.
|
@wmontwe this PR is ready for review @dani-zilla since you commented on #10658 maybe this is of interest to you too after this PR is through I intend to fix the sidebar to respect the application setting. |
Convert the "Use gaudy visual effects" boolean checkbox to a tri-state option (On/Off/Use system default) that defaults to following Android's system animation accessibility setting.
New installations follow system settings, old installations inherit their on/off state.
Fixes #6027
Note that this only changes the default to respect system settings. Unlike #10658 this does not touch any views that previously didn't respect the application-level setting. Any view or UI component that didn't respect the application-level setting will continue to not respect any animation settings, and should be fixed in a separate PR IMO.
Implementation:
Similar to ThemeManager, introduce a new AnimationManager and funnel all access to this option through there. I'm on the fence as to whether that isn't too much overkill, IMO it would make sense to merge them both into one "settings manager".
Right now there is only one place where the setting is being read, in ViewSwitcher. However, there are many other places where the setting is supposed to be respected but isn't (sidebar, messagetopview #10796) so I figured it's better to centralize the resolution outside of ViewSwitcher.
Written with AI-assistance, however like #10796 testing and commit messages are written manually.