Invalidate desiredDisplayModeSpecs when SF specs are invalid

When a display change occurs we change if the SF display specs
are different than the current. However if the SF base mode is
no longer supported we don't invalidate. This CL fixes that and
adds a test for the broken scenario.

In order to test this scenario we introduce SurfaceControlProxy,
which we mock in the unit test. This is needed because the
code under test is accessing SurfaceControl from multiple threads
and we mock static method only works for the test thread.

Bug: 179926030
Test: atest LocalDisplayAdapterTest
Change-Id: I69d4dbb1e4ae59a6a38f35d2497a85cece9f4875
2 files changed