AnlyticsController is using a single-thread dispatcher (blocking dispatcher) to asynchronously log events. A single thread dispatcher, however, does not guarantee sequentiality nor atomicity when there are suspend methods involved.
Steps To Reproduce
Multithreading bug. Can lead to random errors.
Expected Behavior
Log calls should be handled sequentialy.
Screenshots/Videos
No response
What device/emulator are you using?
No response
Which Android version is your device/emulator running?
No response
Which version of the Oppia Android app are you using?
Describe the bug
AnlyticsController is using a single-thread dispatcher (blocking dispatcher) to asynchronously log events. A single thread dispatcher, however, does not guarantee sequentiality nor atomicity when there are suspend methods involved.
Steps To Reproduce
Multithreading bug. Can lead to random errors.
Expected Behavior
Log calls should be handled sequentialy.
Screenshots/Videos
No response
What device/emulator are you using?
No response
Which Android version is your device/emulator running?
No response
Which version of the Oppia Android app are you using?
No response
Additional Context
No response