+20
−6
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
KeyguardRemotePreviewManager was using runBlocking to make sure a block of code that destroys the renderer is called, on the main thread, before proceeding. It seems like this was exposed to InterruptedExceptions thrown when the main thread was getting interrupted by something (presumably something in the framework interrupts blockers of the main thread under unknown conditions). The _blind_ fix (blind because it's not clear how to reproduce these conditions) is to move the work to use launch instead of runBlocking as we're still interested in doing the work on the main thread (so listeners are removed from upstream dependencies of the renderer on a known thread to avoid race conditions) but can live without the atomicity provided by runBlocking. Fix: 271691762 Test: manually verified that the lock screen preview in wallpaper picker's various sections still seems to work, even when accessed multiple times. Change-Id: I7f0b1bd46986d87baa8e81c807ff8a7aa56e7959