gralloc: handle unknown dataspace

In some scenarios, unknown standard dataspace is set for
some ui layer(s).
This leads to issue of reading unknown csc from gralloc
metadata and using it to overwrite a hwc layer's default csc.
In such cases, the layer ends up with invalid/unknown csc.

This change helps to avoid such scenarios and preserve the default
csc of layer by not setting standard dataspace flag to true when
dataspace passed is unknown.

Change-Id: I62b9fd993df9602b48815e858fd49736f089a317
diff --git a/gralloc/gr_buf_mgr.cpp b/gralloc/gr_buf_mgr.cpp
index 4c839a1..5c47884 100644
--- a/gralloc/gr_buf_mgr.cpp
+++ b/gralloc/gr_buf_mgr.cpp
@@ -1473,7 +1473,10 @@
       if (android::gralloc4::decodeDataspace(in, &dataspace)) {
         return Error::UNSUPPORTED;
       }
-      dataspaceToColorMetadata(dataspace, &metadata->color);
+      // Avoid setting standard dataspace flag for unknown/invalid dataspace
+      if (dataspaceToColorMetadata(dataspace, &metadata->color) != Error::NONE) {
+        return Error::NONE;
+      }
       break;
     case (int64_t)StandardMetadataType::BLEND_MODE:
       BlendMode mode;