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

Commit 9897d79b authored by Gil Dekel's avatar Gil Dekel
Browse files

SF: Remove PhysicalDisplayId::getPort()

Work towards DisplayId opaqueness by eliminating call-sites to APIs that
parse the display ID values directly.

This CL removes PhysicalDisplayId::getPort from the PhysicalDislayId
interface entirely. The only call-sites that are dependant on port are
replaced with getting the port info via StaticDisplayInfo.

Flag: com.android.graphics.surfaceflinger.flags.stable_edid_ids
Bug: 390689635
Test: libsurfaceflinger_unittest
Change-Id: I92ea4850b158f9c49dff9166a9b61565ad4537d7
parent 147626ab
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2766,6 +2766,7 @@ status_t SurfaceComposerClient::getStaticDisplayInfo(int64_t displayId,
    if (status.isOk()) {
        // convert gui::StaticDisplayInfo to ui::StaticDisplayInfo
        outInfo->connectionType = static_cast<ui::DisplayConnectionType>(ginfo.connectionType);
        outInfo->port = ginfo.port;
        outInfo->density = ginfo.density;
        outInfo->secure = ginfo.secure;
        outInfo->installOrientation = static_cast<ui::Rotation>(ginfo.installOrientation);
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.gui.Rotation;
/** @hide */
parcelable StaticDisplayInfo {
    DisplayConnectionType connectionType = DisplayConnectionType.Internal;
    int port = -1;
    float density;
    boolean secure;
    @nullable DeviceProductInfo deviceProductInfo;
+0 −2
Original line number Diff line number Diff line
@@ -83,8 +83,6 @@ struct PhysicalDisplayId : DisplayId {
        return PhysicalDisplayId(value);
    }

    constexpr uint8_t getPort() const { return static_cast<uint8_t>(value); }

private:
    // Flag indicating that the ID is stable across reboots.
    static constexpr uint64_t FLAG_STABLE = 1ULL << 62;
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ enum class DisplayConnectionType { Internal, External, ftl_last = External };
// Immutable information about physical display.
struct StaticDisplayInfo {
    DisplayConnectionType connectionType = DisplayConnectionType::Internal;
    uint8_t port;
    float density = 0.f;
    bool secure = false;
    std::optional<DeviceProductInfo> deviceProductInfo;
+2 −0
Original line number Diff line number Diff line
@@ -1185,6 +1185,7 @@ status_t SurfaceFlinger::getStaticDisplayInfo(int64_t displayId, ui::StaticDispl
    const auto& snapshot = snapshotRef.get();

    info->connectionType = snapshot.connectionType();
    info->port = snapshot.port();
    info->deviceProductInfo = snapshot.deviceProductInfo();

    if (mEmulatedDisplayDensity) {
@@ -8879,6 +8880,7 @@ binder::Status SurfaceComposerAIDL::getStaticDisplayInfo(int64_t displayId,
    if (status == NO_ERROR) {
        // convert ui::StaticDisplayInfo to gui::StaticDisplayInfo
        outInfo->connectionType = static_cast<gui::DisplayConnectionType>(info.connectionType);
        outInfo->port = info.port;
        outInfo->density = info.density;
        outInfo->secure = info.secure;
        outInfo->installOrientation = static_cast<gui::Rotation>(info.installOrientation);