Merge "Fix failing GLFrontBufferedRendererTests on Cuttlefish" into androidx-main am: 295cad34df

Original change: https://android-review.googlesource.com/c/platform/frameworks/support/+/2576681

Change-Id: I14dd2512a922d8bc6956916d6308a66705e586f0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt
index ba81a87..b2c764d 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt
@@ -753,7 +753,9 @@
     @SdkSuppress(minSdkVersion = Build.VERSION_CODES.TIRAMISU)
     fun testUsageFlagContainsFrontBufferUsage() {
         val usageFlags = FrontBufferUtils.obtainHardwareBufferUsageFlags()
-        if (UsageFlagsVerificationHelper.isSupported(HardwareBuffer.USAGE_FRONT_BUFFER)) {
+        // See b/280866371
+        if (UsageFlagsVerificationHelper.isSupported(HardwareBuffer.USAGE_FRONT_BUFFER) &&
+            !Build.MODEL.contains("Cuttlefish")) {
             assertNotEquals(0, usageFlags and HardwareBuffer.USAGE_FRONT_BUFFER)
         } else {
             assertEquals(0, usageFlags and HardwareBuffer.USAGE_FRONT_BUFFER)
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
index 5b00170..7321a55 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
@@ -93,7 +93,11 @@
         fun obtainUsageFlagsV33(): Long {
             // First verify if the front buffer usage flag is supported along with the
             // "usage composer overlay" flag that was introduced in API level 33
-            return if (isSupported(HardwareBuffer.USAGE_FRONT_BUFFER)) {
+            // SF Seems to log errors when configuring HardwareBuffer instances with the
+            // front buffer usage flag on Cuttlefish, so only include it for actual devices.
+            // See b/280866371
+            return if (isSupported(HardwareBuffer.USAGE_FRONT_BUFFER) &&
+                !Build.MODEL.contains("Cuttlefish")) {
                 FrontBufferUtils.BaseFlags or HardwareBuffer.USAGE_FRONT_BUFFER
             } else {
                 FrontBufferUtils.BaseFlags