diff options
| author | 2023-04-12 19:00:58 +0000 | |
|---|---|---|
| committer | 2023-04-12 19:00:58 +0000 | |
| commit | f14a8755f74bd395013ce8d9c647829a36c47c3c (patch) | |
| tree | 1e6802ee2ffa6d89720dd115b993af5bd9d1a33a /libs/gui/LayerState.cpp | |
| parent | 69dca29baf3df73cc54c0d38911958e5b394e399 (diff) | |
| parent | 33aa9dc6d6c5f918d7154ab3c5f874fd7facaa21 (diff) | |
Merge "Merge TQ2A.230405.003" am: 33aa9dc6d6
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2529224
Change-Id: I4131be645ecf4b3938aa5d83a0242f39492ce34f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libs/gui/LayerState.cpp')
| -rw-r--r-- | libs/gui/LayerState.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index 502031c8d8..74e6ae6a9b 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -353,6 +353,27 @@ void DisplayState::merge(const DisplayState& other) { } } +void DisplayState::sanitize(int32_t permissions) { + if (what & DisplayState::eLayerStackChanged) { + if (!(permissions & layer_state_t::Permission::ACCESS_SURFACE_FLINGER)) { + what &= ~DisplayState::eLayerStackChanged; + ALOGE("Stripped attempt to set eLayerStackChanged in sanitize"); + } + } + if (what & DisplayState::eDisplayProjectionChanged) { + if (!(permissions & layer_state_t::Permission::ACCESS_SURFACE_FLINGER)) { + what &= ~DisplayState::eDisplayProjectionChanged; + ALOGE("Stripped attempt to set eDisplayProjectionChanged in sanitize"); + } + } + if (what & DisplayState::eSurfaceChanged) { + if (!(permissions & layer_state_t::Permission::ACCESS_SURFACE_FLINGER)) { + what &= ~DisplayState::eSurfaceChanged; + ALOGE("Stripped attempt to set eSurfaceChanged in sanitize"); + } + } +} + void layer_state_t::sanitize(int32_t permissions) { // TODO: b/109894387 // |