Merge the 2021-09-05 SPL branch from AOSP-Partner

* security-aosp-pi-release:
  Only treat PNG_COLOR_TYPE_RGB as 565

Change-Id: I205e28262c888b81014fb6f09097dbbf3b7e25f2
diff --git a/src/codec/SkPngCodec.cpp b/src/codec/SkPngCodec.cpp
index ebfe745..9646569 100644
--- a/src/codec/SkPngCodec.cpp
+++ b/src/codec/SkPngCodec.cpp
@@ -952,7 +952,7 @@
                     imageInfo = imageInfo.makeColorType(kAlpha_8_SkColorType);
                 }
             }
-        } else if (SkEncodedInfo::kOpaque_Alpha == alpha) {
+        } else if (encodedColorType == PNG_COLOR_TYPE_RGB) {
             png_color_8p sigBits;
             if (png_get_sBIT(fPng_ptr, fInfo_ptr, &sigBits)) {
                 if (5 == sigBits->red && 6 == sigBits->green && 5 == sigBits->blue) {
@@ -962,6 +962,18 @@
             }
         }
 
+#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
+        if (encodedColorType != PNG_COLOR_TYPE_GRAY_ALPHA
+            && SkEncodedInfo::kOpaque_Alpha == alpha) {
+            png_color_8p sigBits;
+            if (png_get_sBIT(fPng_ptr, fInfo_ptr, &sigBits)) {
+                if (5 == sigBits->red && 6 == sigBits->green && 5 == sigBits->blue) {
+                    SkAndroidFrameworkUtils::SafetyNetLog("190188264");
+                }
+            }
+        }
+#endif // SK_BUILD_FOR_ANDROID_FRAMEWORK
+
         if (1 == numberPasses) {
             *fOutCodec = new SkPngNormalDecoder(encodedInfo, imageInfo,
                    std::unique_ptr<SkStream>(fStream), fChunkReader, fPng_ptr, fInfo_ptr, bitDepth);