SF: fix deadlock while switching resolution

Trying to grab mStateLock during kernelTimerChanged could lead to
deadlock when changing resolution as display gets recreated and the idle
timer may get stopped/re-started. The deadlock could happen when
calling OneShotTimer::stop() (due to thread join) in main thread while
kernelTimerChanged is waiting for lock.

Bug: 222755257
Test: cmd display set-user-preferred-display-mode
Change-Id: I0ccc7bccdcee98722c1dced09032ab3953d851cb
1 file changed