Skip to content

Commit 9897d79

Browse files
committed
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
1 parent 147626a commit 9897d79

5 files changed

Lines changed: 5 additions & 2 deletions

File tree

libs/gui/SurfaceComposerClient.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2766,6 +2766,7 @@ status_t SurfaceComposerClient::getStaticDisplayInfo(int64_t displayId,
27662766
if (status.isOk()) {
27672767
// convert gui::StaticDisplayInfo to ui::StaticDisplayInfo
27682768
outInfo->connectionType = static_cast<ui::DisplayConnectionType>(ginfo.connectionType);
2769+
outInfo->port = ginfo.port;
27692770
outInfo->density = ginfo.density;
27702771
outInfo->secure = ginfo.secure;
27712772
outInfo->installOrientation = static_cast<ui::Rotation>(ginfo.installOrientation);

libs/gui/aidl/android/gui/StaticDisplayInfo.aidl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import android.gui.Rotation;
2323
/** @hide */
2424
parcelable StaticDisplayInfo {
2525
DisplayConnectionType connectionType = DisplayConnectionType.Internal;
26+
int port = -1;
2627
float density;
2728
boolean secure;
2829
@nullable DeviceProductInfo deviceProductInfo;

libs/ui/include/ui/DisplayId.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,6 @@ struct PhysicalDisplayId : DisplayId {
8383
return PhysicalDisplayId(value);
8484
}
8585

86-
constexpr uint8_t getPort() const { return static_cast<uint8_t>(value); }
87-
8886
private:
8987
// Flag indicating that the ID is stable across reboots.
9088
static constexpr uint64_t FLAG_STABLE = 1ULL << 62;

libs/ui/include/ui/StaticDisplayInfo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ enum class DisplayConnectionType { Internal, External, ftl_last = External };
2828
// Immutable information about physical display.
2929
struct StaticDisplayInfo {
3030
DisplayConnectionType connectionType = DisplayConnectionType::Internal;
31+
uint8_t port;
3132
float density = 0.f;
3233
bool secure = false;
3334
std::optional<DeviceProductInfo> deviceProductInfo;

services/surfaceflinger/SurfaceFlinger.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1185,6 +1185,7 @@ status_t SurfaceFlinger::getStaticDisplayInfo(int64_t displayId, ui::StaticDispl
11851185
const auto& snapshot = snapshotRef.get();
11861186

11871187
info->connectionType = snapshot.connectionType();
1188+
info->port = snapshot.port();
11881189
info->deviceProductInfo = snapshot.deviceProductInfo();
11891190

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

0 commit comments

Comments
 (0)