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

Commit 18d16a72 authored by Huihong Luo's avatar Huihong Luo Committed by Android (Google) Code Review
Browse files

Merge "Fix data type error in AIDL"

parents baf34203 30aa4375
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2542,7 +2542,7 @@ status_t SurfaceComposerClient::onPullAtom(const int32_t atomId, std::string* ou
    gui::PullAtomData pad;
    binder::Status status = ComposerServiceAIDL::getComposerService()->onPullAtom(atomId, &pad);
    if (status.isOk()) {
        outData->assign((const char*)pad.data.data(), pad.data.size());
        outData->assign(pad.data.begin(), pad.data.end());
        *success = pad.success;
    }
    return statusTFromBinderStatus(status);
+1 −1
Original line number Diff line number Diff line
@@ -18,6 +18,6 @@ package android.gui;

/** @hide */
parcelable PullAtomData {
    @utf8InCpp String data;
    byte[] data;
    boolean success;
}
+2 −1
Original line number Diff line number Diff line
@@ -1558,7 +1558,8 @@ status_t SurfaceFlinger::overrideHdrTypes(const sp<IBinder>& displayToken,
    return NO_ERROR;
}

status_t SurfaceFlinger::onPullAtom(const int32_t atomId, std::string* pulledData, bool* success) {
status_t SurfaceFlinger::onPullAtom(const int32_t atomId, std::vector<uint8_t>* pulledData,
                                    bool* success) {
    *success = mTimeStats->onPullAtom(atomId, pulledData);
    return NO_ERROR;
}
+1 −1
Original line number Diff line number Diff line
@@ -527,7 +527,7 @@ private:
    void setPowerMode(const sp<IBinder>& displayToken, int mode);
    status_t overrideHdrTypes(const sp<IBinder>& displayToken,
                              const std::vector<ui::Hdr>& hdrTypes);
    status_t onPullAtom(const int32_t atomId, std::string* pulledData, bool* success);
    status_t onPullAtom(const int32_t atomId, std::vector<uint8_t>* pulledData, bool* success);
    status_t getLayerDebugInfo(std::vector<gui::LayerDebugInfo>* outLayers);
    status_t getColorManagement(bool* outGetColorManagement) const;
    status_t getCompositionPreference(ui::Dataspace* outDataspace, ui::PixelFormat* outPixelFormat,
+7 −5
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ SurfaceflingerStatsLayerInfo_SetFrameRateVote frameRateVoteToProto(
}
} // namespace

bool TimeStats::populateGlobalAtom(std::string* pulledData) {
bool TimeStats::populateGlobalAtom(std::vector<uint8_t>* pulledData) {
    std::lock_guard<std::mutex> lock(mMutex);

    if (mTimeStats.statsStartLegacy == 0) {
@@ -138,10 +138,11 @@ bool TimeStats::populateGlobalAtom(std::string* pulledData) {
    // Always clear data.
    clearGlobalLocked();

    return atomList.SerializeToString(pulledData);
    pulledData->resize(atomList.ByteSizeLong());
    return atomList.SerializeToArray(pulledData->data(), atomList.ByteSizeLong());
}

bool TimeStats::populateLayerAtom(std::string* pulledData) {
bool TimeStats::populateLayerAtom(std::vector<uint8_t>* pulledData) {
    std::lock_guard<std::mutex> lock(mMutex);

    std::vector<TimeStatsHelper::TimeStatsLayer*> dumpStats;
@@ -229,7 +230,8 @@ bool TimeStats::populateLayerAtom(std::string* pulledData) {
    // Always clear data.
    clearLayersLocked();

    return atomList.SerializeToString(pulledData);
    pulledData->resize(atomList.ByteSizeLong());
    return atomList.SerializeToArray(pulledData->data(), atomList.ByteSizeLong());
}

TimeStats::TimeStats() : TimeStats(std::nullopt, std::nullopt) {}
@@ -245,7 +247,7 @@ TimeStats::TimeStats(std::optional<size_t> maxPulledLayers,
    }
}

bool TimeStats::onPullAtom(const int atomId, std::string* pulledData) {
bool TimeStats::onPullAtom(const int atomId, std::vector<uint8_t>* pulledData) {
    bool success = false;
    if (atomId == 10062) { // SURFACEFLINGER_STATS_GLOBAL_INFO
        success = populateGlobalAtom(pulledData);
Loading