Add flag for applying picture profiles in SurfaceFlinger

Bug: 337330263
Test: build
Flag: com.android.graphics.surfaceflinger.flags.apply_picture_profiles_sf
Change-Id: Ic6d08f00098e79547148626598ede00b1887df95
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index 1243b21..80e148b 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -341,6 +341,10 @@
         "libgui_aidl_headers",
     ],
 
+    static_libs: [
+        "libsurfaceflingerflags",
+    ],
+
     afdo: true,
 
     lto: {
diff --git a/services/surfaceflinger/common/FlagManager.cpp b/services/surfaceflinger/common/FlagManager.cpp
index 57ef4c7..bfa3e6e 100644
--- a/services/surfaceflinger/common/FlagManager.cpp
+++ b/services/surfaceflinger/common/FlagManager.cpp
@@ -117,6 +117,7 @@
 
     /// Trunk stable readonly flags ///
     DUMP_READ_ONLY_FLAG(adpf_fmq_sf);
+    DUMP_READ_ONLY_FLAG(apply_picture_profiles_sf);
     DUMP_READ_ONLY_FLAG(connected_display);
     DUMP_READ_ONLY_FLAG(enable_small_area_detection);
     DUMP_READ_ONLY_FLAG(frame_rate_category_mrr);
@@ -224,6 +225,7 @@
 
 /// Trunk stable readonly flags ///
 FLAG_MANAGER_READ_ONLY_FLAG(adpf_fmq_sf, "")
+FLAG_MANAGER_READ_ONLY_FLAG(apply_picture_profiles_sf, "")
 FLAG_MANAGER_READ_ONLY_FLAG(connected_display, "")
 FLAG_MANAGER_READ_ONLY_FLAG(enable_small_area_detection, "")
 FLAG_MANAGER_READ_ONLY_FLAG(frame_rate_category_mrr, "debug.sf.frame_rate_category_mrr")
diff --git a/services/surfaceflinger/common/include/common/FlagManager.h b/services/surfaceflinger/common/include/common/FlagManager.h
index 7716762..dea76db 100644
--- a/services/surfaceflinger/common/include/common/FlagManager.h
+++ b/services/surfaceflinger/common/include/common/FlagManager.h
@@ -55,6 +55,7 @@
 
     /// Trunk stable readonly flags ///
     bool adpf_fmq_sf() const;
+    bool apply_picture_profiles_sf() const;
     bool connected_display() const;
     bool frame_rate_category_mrr() const;
     bool enable_small_area_detection() const;
diff --git a/services/surfaceflinger/surfaceflinger_flags_new.aconfig b/services/surfaceflinger/surfaceflinger_flags_new.aconfig
index ce334e4..df8cc17 100644
--- a/services/surfaceflinger/surfaceflinger_flags_new.aconfig
+++ b/services/surfaceflinger/surfaceflinger_flags_new.aconfig
@@ -19,6 +19,14 @@
 } # adpf_gpu_sf
 
 flag {
+  name: "apply_picture_profiles_sf"
+  namespace: "tv_os_media"
+  description: "SurfaceFlinger applies picture profile requests and sends them to Composer HAL"
+  bug: "337330263"
+  is_fixed_read_only: true
+} # apply_picture_profiles_sf
+
+flag {
   name: "arr_setframerate_api"
   namespace: "core_graphics"
   description: "New SDK Surface#setFrameRate API and Surface.FrameRateParams for Android 16"