Add SystemUI support for front-facing camera protection

Devices with a DisplayCutout configured may want to add some extra area
of turned-off pixels around the cutout in order to keep light from
leaking into camera hardware. This CL adds two new config values to
sysui to enable the configuration of this cutout protection, and listens
for CameraManager events telling us that a relevant camera has turned
on.

Test: manual
Bug: 145095085
Change-Id: Ifce67a593247e3a2151d41800ae46a50478e0b7d
(cherry picked from commit 6075dd7f58766902e06941552f27ff5ceacd369f)
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 27ffcee..d160829 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -506,4 +506,21 @@
         <item>@*android:string/status_bar_headset</item>
     </string-array>
 
+    <!-- A path similar to frameworks/base/core/res/res/values/config.xml
+      config_mainBuiltInDisplayCutout that describes a path larger than the exact path of a display
+      cutout. If present as well as config_enableDisplayCutoutProtection is set to true, then
+      SystemUI will draw this "protection path" instead of the display cutout path that is normally
+      used for anti-aliasing.
+
+      This path will only be drawn when the front-facing camera turns on, otherwise the main
+      DisplayCutout path will be rendered
+       -->
+    <string translatable="false" name="config_frontBuiltInDisplayCutoutProtection"></string>
+
+    <!--  ID for the camera that needs extra protection -->
+    <string translatable="false" name="config_protectedCameraId"></string>
+
+    <!--  Flag to turn on the rendering of the above path or not  -->
+    <bool name="config_enableDisplayCutoutProtection">false</bool>
+
 </resources>