1 关键提交

1)framework/base
Commit ede3ded : santoscordon@google.com @ 2021-04-12 3:23 AM
Add HDR-HBM support into framework.

Add a listener to know when HDR layers are present on displays
which support HBM.

Pass both HDR and SDR brightness requests from DPC to
SurfaceFlinger. Lots and lots of scaffolding for this

2)framework/native
Commit 8827090 : jreck@google.com @ 2021-03-18 11:27 PM
HDR layer info listener

2 代码路径:

3 代码流程跟踪

frameworks/base/core/java/android/hardware/display/BrightnessInfo.java
在这里插入图片描述
在这里插入图片描述
frameworks/base/services/core/java/com/android/server/display/DisplayDevice.java
在这里插入图片描述
frameworks/base/services/core/java/com/android/server/display/DisplayDeviceConfig.java
在这里插入图片描述
frameworks/base/services/core/java/com/android/server/display/DisplayManagerService.java
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java # onDisplayChanged
在这里插入图片描述
private void updatePowerState(
在这里插入图片描述
frameworks/base/services/core/java/com/android/server/display/DisplayPowerState.java
SCREEN_SDR_BRIGHTNESS_FLOAT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
frameworks/base/services/core/java/com/android/server/display/HighBrightnessModeController.java # registerHdrListener
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

frameworks/base/core/java/android/view/SurfaceControlHdrLayerInfoListener.java # register
在这里插入图片描述
frameworks/base/core/jni/android_view_SurfaceControlHdrLayerInfoListener.cpp # nRegister
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
frameworks/base/core/jni/android_view_SurfaceControlHdrLayerInfoListener.cpp # startListening
在这里插入图片描述
frameworks/native/libs/gui/SurfaceComposerClient.cpp # addHdrLayerInfoListener
在这里插入图片描述
frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp # addHdrLayerInfoListener
在这里插入图片描述
frameworks/native/services/surfaceflinger/HdrLayerInfoReporter.cpp # addListener
在这里插入图片描述
在这里插入图片描述

更多推荐