Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d432bb5f authored by Kriti Dang's avatar Kriti Dang
Browse files

Update setHdrConversionStrategy to return the preferredHdrOutput type

Bug: 268336382
Test: atest libsurfaceflinger_unittest
Test: atest libgui_test
Change-Id: I35108601a1b675f62fc02894ffee4f4e46bb892f
parent 08ff0804
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2629,9 +2629,11 @@ status_t SurfaceComposerClient::getHdrConversionCapabilities(
}

status_t SurfaceComposerClient::setHdrConversionStrategy(
        gui::HdrConversionStrategy hdrConversionStrategy) {
    binder::Status status = ComposerServiceAIDL::getComposerService()->setHdrConversionStrategy(
            hdrConversionStrategy);
        gui::HdrConversionStrategy hdrConversionStrategy, ui::Hdr* outPreferredHdrOutputType) {
    int hdrType;
    binder::Status status = ComposerServiceAIDL::getComposerService()
                                    ->setHdrConversionStrategy(hdrConversionStrategy, &hdrType);
    *outPreferredHdrOutputType = static_cast<ui::Hdr>(hdrType);
    return statusTFromBinderStatus(status);
}

+3 −1
Original line number Diff line number Diff line
@@ -191,10 +191,12 @@ interface ISurfaceComposer {

     /**
      * Sets the HDR conversion strategy of the device.
      * Returns the preferred HDR output type of the device, in case when HdrConversionStrategy has
      * autoAllowedHdrTypes set. Returns Hdr::INVALID in other cases.
      *
      * Requires the ACCESS_SURFACE_FLINGER permission.
      */
     void setHdrConversionStrategy(in HdrConversionStrategy hdrConversionStrategy);
     int setHdrConversionStrategy(in HdrConversionStrategy hdrConversionStrategy);

     /**
      * Gets whether HDR output conversion operations are supported on the device.
+2 −2
Original line number Diff line number Diff line
@@ -93,8 +93,8 @@ public:
    MOCK_METHOD(binder::Status, getBootDisplayModeSupport, (bool*), (override));
    MOCK_METHOD(binder::Status, getHdrConversionCapabilities,
                (std::vector<gui::HdrConversionCapability>*), (override));
    MOCK_METHOD(binder::Status, setHdrConversionStrategy, (const gui::HdrConversionStrategy&),
                (override));
    MOCK_METHOD(binder::Status, setHdrConversionStrategy,
                (const gui::HdrConversionStrategy&, int32_t*), (override));
    MOCK_METHOD(binder::Status, getHdrOutputConversionSupport, (bool*), (override));
    MOCK_METHOD(binder::Status, setAutoLowLatencyMode, (const sp<IBinder>&, bool), (override));
    MOCK_METHOD(binder::Status, setGameContentType, (const sp<IBinder>&, bool), (override));
+4 −2
Original line number Diff line number Diff line
@@ -192,8 +192,10 @@ public:

    // Gets the HDR conversion capabilities of the device
    static status_t getHdrConversionCapabilities(std::vector<gui::HdrConversionCapability>*);
    // Sets the HDR conversion strategy for the device
    static status_t setHdrConversionStrategy(gui::HdrConversionStrategy hdrConversionStrategy);
    // Sets the HDR conversion strategy for the device. in case when HdrConversionStrategy has
    // autoAllowedHdrTypes set. Returns Hdr::INVALID in other cases.
    static status_t setHdrConversionStrategy(gui::HdrConversionStrategy hdrConversionStrategy,
                                             ui::Hdr* outPreferredHdrOutputType);
    // Returns whether HDR conversion is supported by the device.
    static status_t getHdrOutputConversionSupport(bool* isSupported);

+2 −1
Original line number Diff line number Diff line
@@ -827,7 +827,8 @@ public:
    }

    binder::Status setHdrConversionStrategy(
            const gui::HdrConversionStrategy& /*hdrConversionStrategy*/) override {
            const gui::HdrConversionStrategy& /*hdrConversionStrategy*/,
            int32_t* /*outPreferredHdrOutputType*/) override {
        return binder::Status::ok();
    }

Loading