Not remove surface when resource_id is 0

This is a workaround to solve the issue of black display
Observation is when Surfaceflinger falls back to guest composition,
host receives set scanout 0 0, and then set scanout 0 <some valid resid>.
The first 0 0 removes the surface, the second creates a new surface
with id++, which will be more than 0 and be ignored in vnc or webrtc

Test: launch_avd, switch between apps
Change-Id: I66516b462201ad2437172c60c8167913071b40a1
diff --git a/devices/src/virtio/gpu/virtio_gpu.rs b/devices/src/virtio/gpu/virtio_gpu.rs
index e1e2906..42968d0 100644
--- a/devices/src/virtio/gpu/virtio_gpu.rs
+++ b/devices/src/virtio/gpu/virtio_gpu.rs
@@ -201,14 +201,13 @@
         scanout_data: Option<VirtioScanoutBlobData>,
     ) -> VirtioGpuResult {
         let mut display = self.display.borrow_mut();
-        if resource_id == 0 {
-            if let Some(surface_id) = self.scanout_surface_id.take() {
-                display.release_surface(surface_id);
-            }
-            self.scanout_resource_id = None;
-            return Ok(OkNoData);
-        }
-
+        /// b/186580833.
+        /// Remove the part of deleting surface when resource_id is 0.
+        /// This is a workaround to solve the issue of black display.
+        /// Observation is when Surfaceflinger falls back to client composition,
+        /// host receives set_scanout 0 0, and then set scanout 0 <some valid resid>.
+        /// The first 0 0 removes the surface, the second creates a new surface
+        /// with id++, which will be more than 0 and be ignorned in vnc or webrtc
         let resource = self
             .resources
             .get_mut(&resource_id)