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

Commit 46470110 authored by Dominik Laskowski's avatar Dominik Laskowski
Browse files

SF: Omit layer tree dump if flag is specified

Bug: None
Test: dumpsys SurfaceFlinger --vsync
Change-Id: I4214d75faff5c0ee1f29ff3d63b45e5e0825dba7
parent 76b804f2
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -4498,7 +4498,8 @@ status_t SurfaceFlinger::doDump(int fd, const DumpArgs& args,

        const auto flag = args.empty() ? ""s : std::string(String8(args[0]));

        if (const auto it = dumpers.find(flag); it != dumpers.end()) {
        const auto it = dumpers.find(flag);
        if (it != dumpers.end()) {
            (it->second)(args, asProto, result);
        } else if (!asProto) {
            dumpAllLocked(args, result);
@@ -4508,15 +4509,17 @@ status_t SurfaceFlinger::doDump(int fd, const DumpArgs& args,
            mStateLock.unlock();
        }

        LayersProto layersProto = dumpProtoFromMainThread();
        if (it == dumpers.end()) {
            const LayersProto layersProto = dumpProtoFromMainThread();
            if (asProto) {
            result.append(layersProto.SerializeAsString().c_str(), layersProto.ByteSize());
                result.append(layersProto.SerializeAsString());
            } else {
            auto layerTree = LayerProtoParser::generateLayerTree(layersProto);
                const auto layerTree = LayerProtoParser::generateLayerTree(layersProto);
                result.append(LayerProtoParser::layerTreeToString(layerTree));
                result.append("\n");
            }
        }
    }
    write(fd, result.c_str(), result.size());
    return NO_ERROR;
}
+1 −1
Original line number Diff line number Diff line
@@ -613,7 +613,7 @@ void TimeStats::dump(bool asProto, std::optional<uint32_t> maxLayers, std::strin
    if (asProto) {
        ALOGD("Dumping TimeStats as proto");
        SFTimeStatsGlobalProto timeStatsProto = mTimeStats.toProto(maxLayers);
        result.append(timeStatsProto.SerializeAsString().c_str(), timeStatsProto.ByteSize());
        result.append(timeStatsProto.SerializeAsString());
    } else {
        ALOGD("Dumping TimeStats as text");
        result.append(mTimeStats.toString(maxLayers));