[SF] Don't cache VSYNC state in SF

This change removes the cached state in SF which is not managed
properly. This state is also cached in HWComposer.

More specifically, SF caches the primary display vsync state in
mHWCVsyncState. However executing DisplayDevice->disconnect()
turns off vsync w/o updating the cache. This way if we
process a subsequent hotplug event for the primary display
we can end up a situation where the cached state is "enabled",
but the actual state is "disabled". Then Scheduler won't be
able to turn on HWC VSYNC again.

Test: manually test on a TV which sends two
      subsequent hotplug events at boot. Verify that
      after applying this change the TV doesn't
      run at 1 fps.
Test: atest libsurfaceflinger_unittest
Bug: 156331731
Change-Id: I85e72d8d5ba85f0a5f4b4f27a200c1bde4e0b9f4
2 files changed