Merge "VtsHalGraphicsComposer3_TargetTest test fixes."
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/VtsHalGraphicsComposer3_TargetTest.cpp
index 9ea837e..ca1278d 100644
--- a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/VtsHalGraphicsComposer3_TargetTest.cpp
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/VtsHalGraphicsComposer3_TargetTest.cpp
@@ -81,6 +81,8 @@
         // assume the first displays are built-in and are never removed
         mDisplays = waitForDisplays();
 
+        mPrimaryDisplay = mDisplays[0].get();
+
         // explicitly disable vsync
         for (const auto& display : mDisplays) {
             EXPECT_TRUE(mComposerClient->setVsyncEnabled(display.get(), false).isOk());
@@ -318,7 +320,7 @@
         }
 
         mWriter->selectDisplay(display.get());
-        setPowerMode(display.get(), PowerMode::ON);
+        EXPECT_TRUE(mComposerClient->setPowerMode(display.get(), PowerMode::ON).isOk());
         EXPECT_TRUE(
                 mComposerClient
                         ->setColorMode(display.get(), ColorMode::NATIVE, RenderIntent::COLORIMETRIC)
@@ -484,13 +486,6 @@
         }
     }
 
-    void setPowerMode(int64_t display, PowerMode powerMode) {
-        ::ndk::ScopedAStatus error = mComposerClient->setPowerMode(display, powerMode);
-        ASSERT_TRUE(error.isOk() ||
-                    IComposerClient::EX_UNSUPPORTED == error.getServiceSpecificError())
-                << "failed to set power mode";
-    }
-
     // Keep track of all virtual displays and layers.  When a test fails with
     // ASSERT_*, the destructor will clean up the resources for the test.
     struct DisplayResource {
@@ -617,6 +612,7 @@
 TEST_P(GraphicsComposerAidlTest, setActiveConfigWithConstraints) {
     Test_setActiveConfigWithConstraints({.delayForChange = 0, .refreshMiss = false});
 }
+
 TEST_P(GraphicsComposerAidlTest, GetDisplayIdentificationData) {
     DisplayIdentification displayIdentification0;
 
@@ -826,17 +822,19 @@
     displayContentSamplingAttributes.format = static_cast<common::PixelFormat>(invalid);
     displayContentSamplingAttributes.dataspace = static_cast<common::Dataspace>(invalid);
     displayContentSamplingAttributes.componentMask = static_cast<FormatColorComponent>(invalid);
-    EXPECT_TRUE(mComposerClient
-                        ->getDisplayedContentSamplingAttributes(mPrimaryDisplay,
-                                                                &displayContentSamplingAttributes)
-                        .isOk());
+    auto error = mComposerClient->getDisplayedContentSamplingAttributes(
+            mPrimaryDisplay, &displayContentSamplingAttributes);
+    if (error.getServiceSpecificError() == IComposerClient::EX_UNSUPPORTED) {
+        SUCCEED() << "Sampling attributes aren't supported on this device, test skipped";
+        return;
+    }
 
     int64_t maxFrames = 10;
     int64_t timestamp = 0;
     int64_t frameCount = 0;
     DisplayContentSample displayContentSample;
-    auto error = mComposerClient->getDisplayedContentSample(mPrimaryDisplay, maxFrames, timestamp,
-                                                            &displayContentSample);
+    error = mComposerClient->getDisplayedContentSample(mPrimaryDisplay, maxFrames, timestamp,
+                                                       &displayContentSample);
     if (error.getServiceSpecificError() == IComposerClient::EX_UNSUPPORTED) {
         SUCCEED() << "Device does not support optional extension. Test skipped";
         return;
@@ -1197,7 +1195,7 @@
     modes.push_back(PowerMode::ON);
 
     for (auto mode : modes) {
-        setPowerMode(mPrimaryDisplay, mode);
+        EXPECT_TRUE(mComposerClient->setPowerMode(mPrimaryDisplay, mode).isOk());
     }
 }
 
@@ -1208,7 +1206,7 @@
     modes.push_back(PowerMode::OFF);
 
     for (auto mode : modes) {
-        setPowerMode(mPrimaryDisplay, mode);
+        EXPECT_TRUE(mComposerClient->setPowerMode(mPrimaryDisplay, mode).isOk());
     }
 
     modes.clear();
@@ -1217,7 +1215,7 @@
     modes.push_back(PowerMode::ON);
 
     for (auto mode : modes) {
-        setPowerMode(mPrimaryDisplay, mode);
+        EXPECT_TRUE(mComposerClient->setPowerMode(mPrimaryDisplay, mode).isOk());
     }
 
     modes.clear();
@@ -1226,7 +1224,7 @@
     modes.push_back(PowerMode::ON_SUSPEND);
 
     for (auto mode : modes) {
-        setPowerMode(mPrimaryDisplay, mode);
+        EXPECT_TRUE(mComposerClient->setPowerMode(mPrimaryDisplay, mode).isOk());
     }
 
     bool isDozeSupported = false;
@@ -1238,7 +1236,7 @@
         modes.push_back(PowerMode::DOZE);
 
         for (auto mode : modes) {
-            setPowerMode(mPrimaryDisplay, mode);
+            EXPECT_TRUE(mComposerClient->setPowerMode(mPrimaryDisplay, mode).isOk());
         }
 
         modes.clear();
@@ -1247,7 +1245,7 @@
         modes.push_back(PowerMode::DOZE_SUSPEND);
 
         for (auto mode : modes) {
-            setPowerMode(mPrimaryDisplay, mode);
+            EXPECT_TRUE(mComposerClient->setPowerMode(mPrimaryDisplay, mode).isOk());
         }
     }
 }
@@ -1285,6 +1283,7 @@
     EXPECT_TRUE(
             mComposerClient->getDataspaceSaturationMatrix(common::Dataspace::SRGB_LINEAR, &matrix)
                     .isOk());
+
     // the last row is known
     ASSERT_EQ(0.0f, matrix[12]);
     ASSERT_EQ(0.0f, matrix[13]);
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/GraphicsComposerCallback.cpp b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/GraphicsComposerCallback.cpp
index daf9924..307fe15 100644
--- a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/GraphicsComposerCallback.cpp
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/GraphicsComposerCallback.cpp
@@ -125,12 +125,4 @@
     return ::ndk::ScopedAStatus::ok();
 }
 
-::ndk::SpAIBinder GraphicsComposerCallback::asBinder() {
-    return nullptr;
-}
-
-bool GraphicsComposerCallback::isRemote() {
-    return true;
-}
-
 }  // namespace aidl::android::hardware::graphics::composer3::vts
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/TestCommandReader.cpp b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/TestCommandReader.cpp
index 0346686..a5a84d9 100644
--- a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/TestCommandReader.cpp
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/TestCommandReader.cpp
@@ -37,15 +37,15 @@
     auto command = static_cast<Command>(commandRaw);
 
     switch (command) {
-        case Command::SET_CLIENT_TARGET_PROPERTY:
+        case Command::SET_CLIENT_TARGET_PROPERTY: {
             ASSERT_EQ(2, length);
             read();
             close(readFence());
-            break;
-        case Command::SELECT_DISPLAY:
+        } break;
+        case Command::SELECT_DISPLAY: {
             ASSERT_EQ(2, length);
             read64();  // display
-            break;
+        } break;
         case Command::SET_ERROR: {
             ASSERT_EQ(2, length);
             auto loc = read();
@@ -53,7 +53,7 @@
             std::pair<uint32_t, uint32_t> error(loc, err);
             mErrors.push_back(error);
         } break;
-        case Command::SET_CHANGED_COMPOSITION_TYPES:
+        case Command::SET_CHANGED_COMPOSITION_TYPES: {
             ASSERT_EQ(0, length % 3);
             for (uint16_t count = 0; count < length / 3; ++count) {
                 uint64_t layerId = read64();
@@ -62,8 +62,8 @@
                 std::pair<uint64_t, uint32_t> compositionChange(layerId, composition);
                 mCompositionChanges.push_back(compositionChange);
             }
-            break;
-        case Command::SET_DISPLAY_REQUESTS:
+        } break;
+        case Command::SET_DISPLAY_REQUESTS: {
             ASSERT_EQ(1, length % 3);
             read();  // displayRequests, ignored for now
             for (uint16_t count = 0; count < (length - 1) / 3; ++count) {
@@ -72,18 +72,18 @@
                 // client composition anyway
                 ASSERT_EQ(1u, read());
             }
-            break;
-        case Command::SET_PRESENT_FENCE:
+        } break;
+        case Command::SET_PRESENT_FENCE: {
             ASSERT_EQ(1, length);
             close(readFence());
-            break;
-        case Command::SET_RELEASE_FENCES:
+        } break;
+        case Command::SET_RELEASE_FENCES: {
             ASSERT_EQ(0, length % 3);
             for (uint16_t count = 0; count < length / 3; ++count) {
                 read64();
                 close(readFence());
             }
-            break;
+        } break;
         default:
             GTEST_FAIL() << "unexpected return command " << std::hex << static_cast<int>(command);
             break;
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/GraphicsComposerCallback.h b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/GraphicsComposerCallback.h
index 02e5151..c359d5e 100644
--- a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/GraphicsComposerCallback.h
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/GraphicsComposerCallback.h
@@ -19,7 +19,7 @@
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wconversion"
 
-#include <aidl/android/hardware/graphics/composer3/IComposerCallback.h>
+#include <aidl/android/hardware/graphics/composer3/BnComposerCallback.h>
 #include <android-base/thread_annotations.h>
 #include <mutex>
 #include <unordered_set>
@@ -29,8 +29,7 @@
 
 namespace aidl::android::hardware::graphics::composer3::vts {
 
-// IComposerCallback to be installed with IComposerClient::registerCallback.
-class GraphicsComposerCallback : public IComposerCallback {
+class GraphicsComposerCallback : public BnComposerCallback {
   public:
     void setVsyncAllowed(bool allowed);
 
@@ -59,9 +58,6 @@
             const ::aidl::android::hardware::graphics::composer3::VsyncPeriodChangeTimeline&
                     in_updatedTimeline) override;
 
-    ::ndk::SpAIBinder asBinder() override;
-    bool isRemote() override;
-
     mutable std::mutex mMutex;
     // the set of all currently connected displays
     std::unordered_set<int64_t> mDisplays GUARDED_BY(mMutex);