Loading libs/gui/include/gui/LayerMetadata.h +0 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ enum class GameMode : int32_t { } // namespace android::gui using android::gui::METADATA_ACCESSIBILITY_ID; using android::gui::METADATA_CALLING_UID; using android::gui::METADATA_DEQUEUE_TIME; using android::gui::METADATA_GAME_MODE; using android::gui::METADATA_MOUSE_CURSOR; Loading services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp +4 −6 Original line number Diff line number Diff line Loading @@ -785,12 +785,10 @@ void LayerSnapshotBuilder::updateSnapshot(LayerSnapshot& snapshot, const Args& a } } if (forceUpdate || snapshot.changes.test(RequestedLayerState::Changes::Metadata)) { if (snapshot.changes.test(RequestedLayerState::Changes::GameMode)) { if (forceUpdate || snapshot.changes.test(RequestedLayerState::Changes::GameMode)) { snapshot.gameMode = requested.metadata.has(gui::METADATA_GAME_MODE) ? requested.gameMode : parentSnapshot.gameMode; } updateMetadata(snapshot, requested, args); if (args.includeMetadata) { snapshot.layerMetadata = parentSnapshot.layerMetadata; Loading services/surfaceflinger/FrontEnd/RequestedLayerState.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -328,7 +328,6 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta changes |= RequestedLayerState::Changes::GameMode; } } changes |= RequestedLayerState::Changes::Metadata; } if (clientState.what & layer_state_t::eFrameRateChanged) { const auto compatibility = Loading services/surfaceflinger/tests/unittests/LayerSnapshotTest.cpp +1 −45 Original line number Diff line number Diff line Loading @@ -280,57 +280,13 @@ TEST_F(LayerSnapshotTest, GameMode) { transactions.back().states.front().layerId = 1; transactions.back().states.front().state.layerId = static_cast<int32_t>(1); mLifecycleManager.applyTransactions(transactions); EXPECT_EQ(mLifecycleManager.getGlobalChanges(), RequestedLayerState::Changes::GameMode | RequestedLayerState::Changes::Metadata); EXPECT_EQ(mLifecycleManager.getGlobalChanges(), RequestedLayerState::Changes::GameMode); UPDATE_AND_VERIFY(mSnapshotBuilder, STARTING_ZORDER); EXPECT_EQ(getSnapshot(1)->clientChanges, layer_state_t::eMetadataChanged); EXPECT_EQ(static_cast<int32_t>(getSnapshot(1)->gameMode), 42); EXPECT_EQ(static_cast<int32_t>(getSnapshot(11)->gameMode), 42); } TEST_F(LayerSnapshotTest, UpdateMetadata) { std::vector<TransactionState> transactions; transactions.emplace_back(); transactions.back().states.push_back({}); transactions.back().states.front().state.what = layer_state_t::eMetadataChanged; // This test focuses on metadata used by ARC++ to ensure LayerMetadata is updated correctly, // and not using stale data. transactions.back().states.front().state.metadata = LayerMetadata(); transactions.back().states.front().state.metadata.setInt32(METADATA_OWNER_UID, 123); transactions.back().states.front().state.metadata.setInt32(METADATA_WINDOW_TYPE, 234); transactions.back().states.front().state.metadata.setInt32(METADATA_TASK_ID, 345); transactions.back().states.front().state.metadata.setInt32(METADATA_MOUSE_CURSOR, 456); transactions.back().states.front().state.metadata.setInt32(METADATA_ACCESSIBILITY_ID, 567); transactions.back().states.front().state.metadata.setInt32(METADATA_OWNER_PID, 678); transactions.back().states.front().state.metadata.setInt32(METADATA_CALLING_UID, 789); transactions.back().states.front().layerId = 1; transactions.back().states.front().state.layerId = static_cast<int32_t>(1); mLifecycleManager.applyTransactions(transactions); EXPECT_EQ(mLifecycleManager.getGlobalChanges(), RequestedLayerState::Changes::Metadata); // Setting includeMetadata=true to ensure metadata update is applied to LayerSnapshot LayerSnapshotBuilder::Args args{.root = mHierarchyBuilder.getHierarchy(), .layerLifecycleManager = mLifecycleManager, .includeMetadata = true, .displays = mFrontEndDisplayInfos, .globalShadowSettings = globalShadowSettings, .supportsBlur = true, .supportedLayerGenericMetadata = {}, .genericLayerMetadataKeyMap = {}}; update(mSnapshotBuilder, args); EXPECT_EQ(getSnapshot(1)->clientChanges, layer_state_t::eMetadataChanged); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_OWNER_UID, -1), 123); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_WINDOW_TYPE, -1), 234); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_TASK_ID, -1), 345); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_MOUSE_CURSOR, -1), 456); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_ACCESSIBILITY_ID, -1), 567); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_OWNER_PID, -1), 678); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_CALLING_UID, -1), 789); } TEST_F(LayerSnapshotTest, NoLayerVoteForParentWithChildVotes) { // ROOT // ├── 1 Loading Loading
libs/gui/include/gui/LayerMetadata.h +0 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ enum class GameMode : int32_t { } // namespace android::gui using android::gui::METADATA_ACCESSIBILITY_ID; using android::gui::METADATA_CALLING_UID; using android::gui::METADATA_DEQUEUE_TIME; using android::gui::METADATA_GAME_MODE; using android::gui::METADATA_MOUSE_CURSOR; Loading
services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp +4 −6 Original line number Diff line number Diff line Loading @@ -785,12 +785,10 @@ void LayerSnapshotBuilder::updateSnapshot(LayerSnapshot& snapshot, const Args& a } } if (forceUpdate || snapshot.changes.test(RequestedLayerState::Changes::Metadata)) { if (snapshot.changes.test(RequestedLayerState::Changes::GameMode)) { if (forceUpdate || snapshot.changes.test(RequestedLayerState::Changes::GameMode)) { snapshot.gameMode = requested.metadata.has(gui::METADATA_GAME_MODE) ? requested.gameMode : parentSnapshot.gameMode; } updateMetadata(snapshot, requested, args); if (args.includeMetadata) { snapshot.layerMetadata = parentSnapshot.layerMetadata; Loading
services/surfaceflinger/FrontEnd/RequestedLayerState.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -328,7 +328,6 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta changes |= RequestedLayerState::Changes::GameMode; } } changes |= RequestedLayerState::Changes::Metadata; } if (clientState.what & layer_state_t::eFrameRateChanged) { const auto compatibility = Loading
services/surfaceflinger/tests/unittests/LayerSnapshotTest.cpp +1 −45 Original line number Diff line number Diff line Loading @@ -280,57 +280,13 @@ TEST_F(LayerSnapshotTest, GameMode) { transactions.back().states.front().layerId = 1; transactions.back().states.front().state.layerId = static_cast<int32_t>(1); mLifecycleManager.applyTransactions(transactions); EXPECT_EQ(mLifecycleManager.getGlobalChanges(), RequestedLayerState::Changes::GameMode | RequestedLayerState::Changes::Metadata); EXPECT_EQ(mLifecycleManager.getGlobalChanges(), RequestedLayerState::Changes::GameMode); UPDATE_AND_VERIFY(mSnapshotBuilder, STARTING_ZORDER); EXPECT_EQ(getSnapshot(1)->clientChanges, layer_state_t::eMetadataChanged); EXPECT_EQ(static_cast<int32_t>(getSnapshot(1)->gameMode), 42); EXPECT_EQ(static_cast<int32_t>(getSnapshot(11)->gameMode), 42); } TEST_F(LayerSnapshotTest, UpdateMetadata) { std::vector<TransactionState> transactions; transactions.emplace_back(); transactions.back().states.push_back({}); transactions.back().states.front().state.what = layer_state_t::eMetadataChanged; // This test focuses on metadata used by ARC++ to ensure LayerMetadata is updated correctly, // and not using stale data. transactions.back().states.front().state.metadata = LayerMetadata(); transactions.back().states.front().state.metadata.setInt32(METADATA_OWNER_UID, 123); transactions.back().states.front().state.metadata.setInt32(METADATA_WINDOW_TYPE, 234); transactions.back().states.front().state.metadata.setInt32(METADATA_TASK_ID, 345); transactions.back().states.front().state.metadata.setInt32(METADATA_MOUSE_CURSOR, 456); transactions.back().states.front().state.metadata.setInt32(METADATA_ACCESSIBILITY_ID, 567); transactions.back().states.front().state.metadata.setInt32(METADATA_OWNER_PID, 678); transactions.back().states.front().state.metadata.setInt32(METADATA_CALLING_UID, 789); transactions.back().states.front().layerId = 1; transactions.back().states.front().state.layerId = static_cast<int32_t>(1); mLifecycleManager.applyTransactions(transactions); EXPECT_EQ(mLifecycleManager.getGlobalChanges(), RequestedLayerState::Changes::Metadata); // Setting includeMetadata=true to ensure metadata update is applied to LayerSnapshot LayerSnapshotBuilder::Args args{.root = mHierarchyBuilder.getHierarchy(), .layerLifecycleManager = mLifecycleManager, .includeMetadata = true, .displays = mFrontEndDisplayInfos, .globalShadowSettings = globalShadowSettings, .supportsBlur = true, .supportedLayerGenericMetadata = {}, .genericLayerMetadataKeyMap = {}}; update(mSnapshotBuilder, args); EXPECT_EQ(getSnapshot(1)->clientChanges, layer_state_t::eMetadataChanged); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_OWNER_UID, -1), 123); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_WINDOW_TYPE, -1), 234); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_TASK_ID, -1), 345); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_MOUSE_CURSOR, -1), 456); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_ACCESSIBILITY_ID, -1), 567); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_OWNER_PID, -1), 678); EXPECT_EQ(getSnapshot(1)->layerMetadata.getInt32(METADATA_CALLING_UID, -1), 789); } TEST_F(LayerSnapshotTest, NoLayerVoteForParentWithChildVotes) { // ROOT // ├── 1 Loading