Add SF side tunnel mode listener
This CL adds a TunnelModeStateReporter, which monitors if there are
any layers with a sideband stream in SurfaceFlinger. If any of the
layers have a sideband stream, it informs all the registered listeners
that tunnel mode is enabled. When no layers have a sideband stream, it
notifies the listeners that tunnel mode is disabled.
Bug: 171457637
Test: atest TunnelModeStateListenerTest
Test: atest TunnelModeStateReporterTest
Change-Id: Ie54b34dbd9b6253d7142e9b0f690c8469374604d
diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
index d004b9d..a551248 100644
--- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
+++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
@@ -276,6 +276,7 @@
static void setLayerSidebandStream(const sp<Layer>& layer,
const sp<NativeHandle>& sidebandStream) {
layer->mDrawingState.sidebandStream = sidebandStream;
+ layer->mCurrentState.sidebandStream = sidebandStream;
layer->mSidebandStream = sidebandStream;
layer->editCompositionState()->sidebandStream = sidebandStream;
}