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

Commit 7709f7fd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Map the hwc-id -> SF-id in getPreferredBootDisplayMode and SF-Id -> HWC...

Merge "Map the hwc-id -> SF-id in getPreferredBootDisplayMode and SF-Id -> HWC id in setUserPreferredDisplayMode" into tm-dev
parents ce3db42f 30e378de
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ public:
    virtual void createClientCompositionCache(uint32_t cacheSize) = 0;

    // Returns the boot display mode preferred by HWC.
    virtual int32_t getPreferredBootModeId() const = 0;
    virtual int32_t getPreferredBootHwcConfigId() const = 0;

protected:
    ~Display() = default;
+2 −2
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ public:
    bool isSecure() const override;
    bool isVirtual() const override;
    void disconnect() override;
    int32_t getPreferredBootModeId() const override;
    int32_t getPreferredBootHwcConfigId() const override;
    void createDisplayColorProfile(
            const compositionengine::DisplayColorProfileCreationArgs&) override;
    void createRenderSurface(const compositionengine::RenderSurfaceCreationArgs&) override;
@@ -91,7 +91,7 @@ private:
    DisplayId mId;
    bool mIsDisconnected = false;
    Hwc2::PowerAdvisor* mPowerAdvisor = nullptr;
    int32_t mPreferredBootDisplayModeId = -1;
    int32_t mPreferredBootHwcConfigId = -1;
};

// This template factory function standardizes the implementation details of the
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ public:
    MOCK_CONST_METHOD0(getId, DisplayId());
    MOCK_CONST_METHOD0(isSecure, bool());
    MOCK_CONST_METHOD0(isVirtual, bool());
    MOCK_CONST_METHOD0(getPreferredBootModeId, int32_t());
    MOCK_CONST_METHOD0(getPreferredBootHwcConfigId, int32_t());

    MOCK_METHOD0(disconnect, void());

+3 −3
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ void Display::setConfiguration(const compositionengine::DisplayCreationArgs& arg
    std::optional<hal::HWConfigId> preferredBootModeId =
            getCompositionEngine().getHwComposer().getPreferredBootDisplayMode(*physicalId);
    if (preferredBootModeId.has_value()) {
        mPreferredBootDisplayModeId = static_cast<int32_t>(preferredBootModeId.value());
        mPreferredBootHwcConfigId = static_cast<int32_t>(preferredBootModeId.value());
    }
}

@@ -90,8 +90,8 @@ std::optional<DisplayId> Display::getDisplayId() const {
    return mId;
}

int32_t Display::getPreferredBootModeId() const {
    return mPreferredBootDisplayModeId;
int32_t Display::getPreferredBootHwcConfigId() const {
    return mPreferredBootHwcConfigId;
}

void Display::disconnect() {
+16 −1
Original line number Diff line number Diff line
@@ -236,6 +236,15 @@ DisplayModePtr DisplayDevice::getMode(DisplayModeId modeId) const {
    return nullptr;
}

DisplayModePtr DisplayDevice::getModefromHwcId(uint32_t hwcId) const {
    const auto it = std::find_if(mSupportedModes.begin(), mSupportedModes.end(),
                                 [&](DisplayModePtr mode) { return mode->getHwcId() == hwcId; });
    if (it != mSupportedModes.end()) {
        return *it;
    }
    return nullptr;
}

nsecs_t DisplayDevice::getVsyncPeriodFromHWC() const {
    const auto physicalId = getPhysicalId();
    if (!mHwComposer.isConnected(physicalId)) {
@@ -461,7 +470,13 @@ HdrCapabilities DisplayDevice::getHdrCapabilities() const {
}

ui::DisplayModeId DisplayDevice::getPreferredBootModeId() const {
    return mCompositionDisplay->getPreferredBootModeId();
    const auto preferredBootHwcModeId = mCompositionDisplay->getPreferredBootHwcConfigId();
    const auto mode = getModefromHwcId(preferredBootHwcModeId);
    if (mode == nullptr) {
        ALOGE("%s: invalid display mode (%d)", __FUNCTION__, preferredBootHwcModeId);
        return BAD_VALUE;
    }
    return mode->getId().value();
}

void DisplayDevice::enableRefreshRateOverlay(bool enable, bool showSpinnner) {
Loading