Animations are not working in Xiaomi HyperOS (and Oppo ColorOS)
Description
Animations that are awaited will just complete instantaneous and not be executed.
Just happening on newer HyperOS, tested on my machine with Redmi 13C, model 23018RN04Y.
Field reports seem to indicate this is also happening on newer Oppo ColorOS.
Steps to Reproduce
Run the linked git repo made specifically for this issue(first commit is empty maui project, second is added animation code).
OR, you can run the maui-samples/8.0/Animations solution on the mentioned device. Same thing happens there.
Link to public reproduction project repository
https://github.com/tompi/FunkyAsyncAnimations
Version with bug
8.0.82 SR8.2
Is this a regression from previous behavior?
No, this is something new
Last version that worked well
Unknown/Other
Affected platforms
Android
Affected platform versions
Android 14, HyperOS
Did you find any workaround?
Check for this specific model and add Task.Delay corresponding to animations.
Relevant log output
2024-10-21 21:43:11.733 1573-1752 MIUIInput system_server D [MotionEvent] publisher action=0x0, deviceId=4, 72544470, channel '80fdc8d com.companyname.funkyasyncanimations/crc640601a3a7d2c50f46.MainActivity (server)'
2024-10-21 21:43:11.736 11488-11488 MIUIInput com...panyname.funkyasyncanimations D [MotionEvent] ViewRootImpl windowName 'com.companyname.funkyasyncanimations/crc640601a3a7d2c50f46.MainActivity', { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=72544470, downTime=72544470, phoneEventTime=21:43:11.729 } moveCount:0
2024-10-21 21:43:11.748 11488-11488 MirrorManager com...panyname.funkyasyncanimations W this model don't Support
2024-10-21 21:43:11.752 11488-11488 MiuiMultiWindowUtils com...panyname.funkyasyncanimations D freeform resolution args raw data:{ "wide_default":{ "freeform_args": { "vertical_portrait":{"aspect_ratio":0.626, "original_ratio":0.5643,"original_scale":0.74,"top_margin":0.168,"left_margin":0.484}, "horizontal_portrait":{"aspect_ratio":0.626, "original_ratio":0.5643,"original_scale":0.74,"top_margin":0.1222,"left_margin":0.59745}, "vertical_landscape":{"aspect_ratio":1.6, "original_ratio":1,"original_scale":0.604,"top_margin":0.2596,"left_margin":0.2624}, "horizontal_landscape":{"aspect_ratio":1.6, "original_ratio":1,"original_scale":0.604,"top_margin":0.213,"left_margin":0.3758} }, "mini_freeform_args":{ "vertical_portrait":{"original_ratio":0.147}, "horizontal_portrait":{"original_ratio":0.147}, "vertical_landscape":{"original_ratio":0.165}, "horizontal_landscape":{"original_ratio":0.165} } }, "narrow_default": { "freeform_args": { "vertical_portrait":{"aspect_ratio":0.626, "original_ratio":1,"original_scale":0.74,"top_margin":0.0753,"left_margin":-1}, "horizontal_portrait":{"aspect_ratio":0.626, "original_ratio":1,"original_scale":0.5756,"top_margin":-1,"left_margin":0.0753}, "vertical_landscape":{"aspect_ratio":1.6, "original_ratio":0.6847,"original_scale":0.587,"top_margin":0.0753,"left_margin":-1}, "horizontal_landscape":{"aspect_ratio":1.6, "original_ratio":0.6847,"original_scale":0.587,"top_margin":-1,"left_margin":0.0753} }, "mini_freeform_args":{ "vertical_portrait":{"original_ratio":0.26}, "horizontal_portrait":{"original_ratio":0.26}, "vertical_landscape":{"original_ratio":0.293}, "horizontal_landscape":{"original_ratio":0.293} } }, "regular_default": { "freeform_args": { "vertical_portrait":{"aspect_ratio":0.625, "original_ratio":1,"original_scale":0.7,"top_margin":0.109,"left_margin":-1}, "horizontal_portrait":{"aspect_ratio":0.6667, "original_ratio":1,"original_scale":0.6102,"top_margin":-1,"left_margin":0.026}, "vertical_landscape":{"aspect_ratio":1.6, "original_ratio":1,"original_scale":0.4244,"top_margin":0.109,"left_margin":-1}, "horizontal_landscape":{"aspect_ratio":1.6, "original_ratio":1,"original_scale":0.4244,"top_margin":-1,"left_margin":0.026} }, "mini_freeform_args":{ "vertical_portrait":{"original_ratio":0.25}, "horizontal_portrait":{"original_ratio":0.25}, "vertical_landscape":{"original_ratio":0.25}, "horizontal_landscape":{"original_ratio":0.25} } }, "pad_default": { "freeform_args": { "vertical_portrait":{"aspect_ratio":0.5625, "original_ratio":0.375,"original_scale":0.835,"top_margin":0.049,"left_margin":0.2775}, "horizontal_portrait":{"aspect_ratio":0.5625, "original_ratio":0.375,"original_scale":0.835,"top_margin":-1,"left_margin":0.6525}, "vertical_landscape":{"aspect_ratio":-1, "original_ratio":1,"original_scale":0.468,"top_margin":0.049,"left_margin":-1}, "horizontal_landscape":{"aspect_ratio":-1, "original_ratio":1,"original_scale":0.468,"top_margin":-1,"left_margin":0.4976} }, "mini_freeform_args":{ "vertical_portrait":{"original_ratio":0.144}, "horizontal_portrait":{"original_ratio":0.144}, "vertical_landscape":{"original_ratio":0.2}, "horizontal_landscape":{"original_ratio":0.2} } }}
2024-10-21 21:43:11.753 11488-11488 MiuiMultiWindowUtils com...panyname.funkyasyncanimations D initFreeFormResolutionArgs failed, device is gust
2024-10-21 21:43:11.754 11488-11488 IS_CTS_MODE com...panyname.funkyasyncanimations D false
2024-10-21 21:43:11.754 11488-11488 MULTI_WIND...CH_ENABLED com...panyname.funkyasyncanimations D false
2024-10-21 21:43:11.779 1573-1752 MIUIInput system_server D [MotionEvent] publisher action=0x1, deviceId=4, 72544519, channel '80fdc8d com.companyname.funkyasyncanimations/crc640601a3a7d2c50f46.MainActivity (server)'
2024-10-21 21:43:11.780 11488-11488 MIUIInput com...panyname.funkyasyncanimations D [MotionEvent] ViewRootImpl windowName 'com.companyname.funkyasyncanimations/crc640601a3a7d2c50f46.MainActivity', { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=72544519, downTime=72544470, phoneEventTime=21:43:11.777 } moveCount:0
2024-10-21 21:43:11.815 11488-11535 asyncanimations com...panyname.funkyasyncanimations E DynamicFPS DF open fail: No such file or directory
2024-10-21 21:43:11.816 11488-11535 asyncanimations com...panyname.funkyasyncanimations W remote service is not exist
2024-10-21 21:43:11.816 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:11.831 887-887 BufferQueueProducer surfaceflinger I [com.companyname.funkyasyncanimations/crc640601a3a7d2c50f46.MainActivity#4422](this:0xb400007564025a30,id:-1,api:0,p:-1,c:887) queueBuffer: fps=0.97 dur=15396.19 max=15161.80 min=16.24
2024-10-21 21:43:11.943 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:11.949 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.521 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.532 887-887 BufferQueueProducer surfaceflinger I [com.companyname.funkyasyncanimations/crc640601a3a7d2c50f46.MainActivity#4422](this:0xb400007564025a30,id:-1,api:0,p:-1,c:887) queueBuffer: fps=1.76 dur=1701.16 max=1566.63 min=16.83
2024-10-21 21:43:13.539 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.555 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.572 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.589 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.606 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.621 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.639 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.655 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.673 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.689 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.706 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.724 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.734 811-895 libPowerHal [email protected] I [perfNotifyAppState] pack:com.companyname.funkyasyncanimations, act:crc640601a3a7d2c50f46.MainActivity, state:5, pid:11488, uid:10219, fps:60
2024-10-21 21:43:13.734 811-895 UxUtility [email protected] I notifyForegroundApp pack:com.companyname.funkyasyncanimations, uid:10219
2024-10-21 21:43:13.741 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.756 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:13.772 11488-11535 gralloc4 com...panyname.funkyasyncanimations I @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
2024-10-21 21:43:14.734 811-895 libPowerHal [email protected] I [perfNotifyAppState] pack:com.companyname.funkyasyncanimations, act:crc640601a3a7d2c50f46.MainActivity, state:5, pid:11488, uid:10219, fps:-1
2024-10-21 21:43:14.735 811-895 UxUtility [email protected] I notifyForegroundApp pack:com.companyname.funkyasyncanimations, uid:10219
This line from the log seems relevant, but not sure what it means...
DynamicFPS DF open fail: No such file or directory
Fyi the link to the repo doesn't work
Whoops, sorry. Made it public now.
I feel REALLY silly now... Turns out the phone I was testing on had developer options on, and in these settings, the animations were turned off...
Enabling them makes animations work fine again... Sorry for wasting time... Closing this