Merge Android 12 QPR1

Bug: 210511427
Merged-In: Ic4403e3a9fbe9d9bf04cfe5549bb0e580ccedb2e
Change-Id: I7b1571a807d8e9f1ddbafc677f2ed8b8d8bd693d
diff --git a/system_ext/private/platform_app.te b/system_ext/private/platform_app.te
new file mode 100644
index 0000000..10d6bba
--- /dev/null
+++ b/system_ext/private/platform_app.te
@@ -0,0 +1,2 @@
+# allow systemui to set boot animation colors
+set_prop(platform_app, bootanim_system_prop);
diff --git a/system_ext/private/property_contexts b/system_ext/private/property_contexts
index b22926f..c9e51d6 100644
--- a/system_ext/private/property_contexts
+++ b/system_ext/private/property_contexts
@@ -2,3 +2,9 @@
 pixel.oslo.airplane_mode.allowed_override       u:object_r:pixel_oslo_debug_prop:s0
 pixel.oslo.allowed_override                     u:object_r:pixel_oslo_debug_prop:s0
 pixel.oslo.gating                               u:object_r:pixel_oslo_debug_prop:s0
+
+# Boot animation dynamic colors
+persist.bootanim.color1     u:object_r:bootanim_system_prop:s0     exact    int
+persist.bootanim.color2     u:object_r:bootanim_system_prop:s0     exact    int
+persist.bootanim.color3     u:object_r:bootanim_system_prop:s0     exact    int
+persist.bootanim.color4     u:object_r:bootanim_system_prop:s0     exact    int
diff --git a/vendor/qcom/common/hal_rcsservice.te b/vendor/qcom/common/hal_rcsservice.te
index a298231..e88370a 100644
--- a/vendor/qcom/common/hal_rcsservice.te
+++ b/vendor/qcom/common/hal_rcsservice.te
@@ -10,6 +10,8 @@
 # add IUceSerive and IService to Hidl interface
 add_hwservice(hal_rcsservice, hal_imsrcsd_hwservice)
 add_hwservice(hal_rcsservice, hal_imscallinfo_hwservice)
+# add imsfactory to HIDl interface
+add_hwservice(hal_rcsservice, hal_imsfactory_hwservice)
 
 get_prop(hal_rcsservice, hwservicemanager_prop)
 get_prop(hal_rcsservice, qcom_ims_prop)
diff --git a/vendor/qcom/common/hwservice.te b/vendor/qcom/common/hwservice.te
index e8ea67a..6fe589d 100644
--- a/vendor/qcom/common/hwservice.te
+++ b/vendor/qcom/common/hwservice.te
@@ -24,3 +24,4 @@
 type hal_capabilityconfigstore_qti_hwservice, hwservice_manager_type, vendor_hwservice_type;
 type hal_qseecom_hwservice, hwservice_manager_type, protected_hwservice, vendor_hwservice_type;
 type hal_mwqemadapter_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_imsfactory_hwservice, hwservice_manager_type, protected_hwservice, vendor_hwservice_type;
diff --git a/vendor/qcom/common/hwservice_contexts b/vendor/qcom/common/hwservice_contexts
index 385d22c..8049b91 100644
--- a/vendor/qcom/common/hwservice_contexts
+++ b/vendor/qcom/common/hwservice_contexts
@@ -24,6 +24,7 @@
 vendor.qti.hardware.radio.atcmdfwd::IAtCmdFwd                           u:object_r:vnd_atcmdfwd_hwservice:s0
 vendor.qti.hardware.data.latency::ILinkLatency                          u:object_r:hal_latency_hwservice:s0
 vendor.qti.data.factory::IFactory                                       u:object_r:hal_datafactory_hwservice:s0
+vendor.qti.ims.factory::IImsFactory                                     u:object_r:hal_imsfactory_hwservice:s0
 vendor.qti.imsrtpservice::IRTPService                                   u:object_r:hal_imsrtp_hwservice:s0
 vendor.qti.hardware.cacert::IService                                    u:object_r:hal_cacert_hwservice:s0
 hardware.google.media.c2::IConfigurable                                 u:object_r:hal_codec2_hwservice:s0