Initialize KeyguardViewMediator immediately
KeyguardViewMediator is the main entry point for KeyguardService and
WindowManager, and will receive calls on binder
threads. KeyguardViewMediator has split initialization into 2
parts: in the constructor and in start(). start() may be invoked
multiple seconds after the constructor, which gives the binder calls
an opportunity to make calls on a partially initialized object. I'm
sure this was done for reasons back in the day, but it is now causing
race conditions. To avoid the NullPointerException, move some code into
the constructor for initialization.
Fixes: 308738978
Test: Manual (kill systemui repeatedly and look for errors)
Flag: N/A
Change-Id: Ie2b0771215781852f7648b5bdee7ab09517fd6a6
1 file changed