diff options
Diffstat (limited to 'composer/hwc_session.cpp')
-rw-r--r-- | composer/hwc_session.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/composer/hwc_session.cpp b/composer/hwc_session.cpp index b715dc84..4b56fa73 100644 --- a/composer/hwc_session.cpp +++ b/composer/hwc_session.cpp @@ -3117,13 +3117,14 @@ void HWCSession::HandleSecureSession() { display < HWCCallbacks::kNumRealDisplays; display++) { Locker::ScopeLock lock_d(locker_[display]); HWCDisplay *hwc_display = hwc_display_[display]; - if (!hwc_display || hwc_display->GetDisplayClass() != DISPLAY_CLASS_BUILTIN) { + if (!hwc_display) { continue; } bool is_active_secure_display = false; // The first On/Doze/DozeSuspend built-in display is taken as the secure display. if (!found_active_secure_display && + hwc_display->GetDisplayClass() == DISPLAY_CLASS_BUILTIN && hwc_display->GetCurrentPowerMode() != HWC2::PowerMode::Off) { is_active_secure_display = true; found_active_secure_display = true; @@ -3420,6 +3421,20 @@ int32_t HWCSession::GetDisplayConnectionType(hwc2_display_t display, return HWC2_ERROR_NONE; } +int32_t HWCSession::GetClientTargetProperty(hwc2_display_t display, + HwcClientTargetProperty *outClientTargetProperty) { + if (!outClientTargetProperty) { + return HWC2_ERROR_BAD_PARAMETER; + } + + if (display >= HWCCallbacks::kNumDisplays) { + return HWC2_ERROR_BAD_DISPLAY; + } + + return CallDisplayFunction(display, &HWCDisplay::GetClientTargetProperty, + outClientTargetProperty); +} + int32_t HWCSession::GetDisplayBrightnessSupport(hwc2_display_t display, bool *outSupport) { if (!outSupport) { return HWC2_ERROR_BAD_PARAMETER; |