Enable single hop screenshots for only threaded re

Fixes a deadlock where screenshot requests are blocked
on the main thread which inturn is blocked by the
screenshot request finishing.

Flag: EXEMPT bug fix
Bug: 349776684
Test: presubmit
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5aadd249f326b21e5ef6cadfebc15b6a0a016816)
Merged-In: Ibf038ad6db3e87c84508d3e101ca1eb144836d7c
Change-Id: Ibf038ad6db3e87c84508d3e101ca1eb144836d7c
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp
index e579eb0..c77bcfa 100644
--- a/services/surfaceflinger/RegionSamplingThread.cpp
+++ b/services/surfaceflinger/RegionSamplingThread.cpp
@@ -354,7 +354,7 @@
 
     FenceResult fenceResult;
     if (FlagManager::getInstance().single_hop_screenshot() &&
-        FlagManager::getInstance().ce_fence_promise()) {
+        FlagManager::getInstance().ce_fence_promise() && mFlinger.mRenderEngine->isThreaded()) {
         std::vector<sp<LayerFE>> layerFEs;
         auto displayState =
                 mFlinger.getDisplayAndLayerSnapshotsFromMainThread(renderAreaBuilder,