SystemUI: Add support for udfps dim layer
Oplus decided to use a custom UDFPS implementation where the dim layer and pressed icon layer aren't controlled by the kernel. Stock Oplus toggles HBM based on show/hide of the UDFPS overlay instead of touch event. Thus, a dim layer is created, where the appropriate level of dimming based on the brightness level is applied. Oplus uses this implementation for most devices starting from SM8450 to at least up to SM8650, with the very latest ones being the exception, where they have switched to LHBM. Concomitant changes are also made to SurfaceFlinger to pass the magic Z-order value so that the HBM is engaged. While bitwise operations ensure that HBM is engaged one way or another, not enabling HBM before touchdown results in noticeably slower fingerprint operations compared to those of relatively older devices. Applying dim also modifies the colors of the UI elements to a slighly darker shade, more so on low brightness conditions. Change-Id: I6e3032dd2b4b4b7018c7d6abf27d7e4e6c089896
Loading