Merge changes from topic "sharedlib_in_recovery"

* changes:
  init is a dynamic executable
  adbd is allowed to execute shell in recovery mode
diff --git a/private/compat/26.0/26.0.cil b/private/compat/26.0/26.0.cil
index 5696d95..de83c81 100644
--- a/private/compat/26.0/26.0.cil
+++ b/private/compat/26.0/26.0.cil
@@ -5,6 +5,7 @@
 
 ;; types removed from current policy
 (type asan_reboot_prop)
+(type commontime_management_service)
 (type log_device)
 (type mediacasserver_service)
 (type mediacodec)
diff --git a/private/compat/27.0/27.0.cil b/private/compat/27.0/27.0.cil
index 4bc428c..b19f3d4 100644
--- a/private/compat/27.0/27.0.cil
+++ b/private/compat/27.0/27.0.cil
@@ -1,4 +1,5 @@
 ;; types removed from current policy
+(type commontime_management_service)
 (type qtaguid_proc)
 (type mediacodec)
 (type mediacodec_exec)
diff --git a/private/property_contexts b/private/property_contexts
index 32be0b3..8befae5 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -70,6 +70,7 @@
 ro.boot.bootreason      u:object_r:bootloader_boot_reason_prop:s0
 persist.sys.boot.reason u:object_r:last_boot_reason_prop:s0
 sys.boot.reason         u:object_r:system_boot_reason_prop:s0
+sys.boot.reason.last    u:object_r:last_boot_reason_prop:s0
 pm.                     u:object_r:pm_prop:s0
 test.sys.boot.reason    u:object_r:test_boot_reason_prop:s0
 
diff --git a/private/service_contexts b/private/service_contexts
index 287cf2f..54c1473 100644
--- a/private/service_contexts
+++ b/private/service_contexts
@@ -23,9 +23,6 @@
 carrier_config                            u:object_r:radio_service:s0
 clipboard                                 u:object_r:clipboard_service:s0
 com.android.net.IProxyService             u:object_r:IProxyService_service:s0
-commontime_management                     u:object_r:commontime_management_service:s0
-common_time.clock                         u:object_r:mediaserver_service:s0
-common_time.config                        u:object_r:mediaserver_service:s0
 companiondevice                           u:object_r:companion_device_service:s0
 connectivity                              u:object_r:connectivity_service:s0
 connmetrics                               u:object_r:connmetrics_service:s0
diff --git a/private/system_server.te b/private/system_server.te
index f74159e..d3b8bcd 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -524,8 +524,8 @@
 
 # BootReceiver to read ro.boot.bootreason
 get_prop(system_server, bootloader_boot_reason_prop)
-# PowerManager to read persist.sys.boot.reason
-get_prop(system_server, last_boot_reason_prop)
+# PowerManager to read sys.boot.reason
+get_prop(system_server, system_boot_reason_prop)
 
 # Collect metrics on boot time created by init
 get_prop(system_server, boottime_prop)
diff --git a/public/hal_allocator.te b/public/hal_allocator.te
index 646cebd..b7e3ca5 100644
--- a/public/hal_allocator.te
+++ b/public/hal_allocator.te
@@ -1,6 +1,5 @@
 # HwBinder IPC from client to server
 binder_call(hal_allocator_client, hal_allocator_server)
 
-add_hwservice(hal_allocator_server, hidl_allocator_hwservice)
-allow hal_allocator_client hidl_allocator_hwservice:hwservice_manager find;
+hal_attribute_hwservice(hal_allocator, hidl_allocator_hwservice)
 allow hal_allocator_client hidl_memory_hwservice:hwservice_manager find;
diff --git a/public/hal_configstore.te b/public/hal_configstore.te
index c8051e1..2931cb5 100644
--- a/public/hal_configstore.te
+++ b/public/hal_configstore.te
@@ -1,12 +1,7 @@
 # HwBinder IPC from client to server
 binder_call(hal_configstore_client, hal_configstore_server)
 
-allow hal_configstore_client hal_configstore_ISurfaceFlingerConfigs:hwservice_manager find;
-
-add_hwservice(hal_configstore_server, hal_configstore_ISurfaceFlingerConfigs)
-# As opposed to the rules of most other HALs, the different services exposed by
-# this HAL should be restricted to different clients. Thus, the allow rules for
-# clients are defined in the .te files of the clients.
+hal_attribute_hwservice(hal_configstore, hal_configstore_ISurfaceFlingerConfigs)
 
 # hal_configstore runs with a strict seccomp filter. Use crash_dump's
 # fallback path to collect crash data.
diff --git a/public/service.te b/public/service.te
index 1166025..9180e88 100644
--- a/public/service.te
+++ b/public/service.te
@@ -56,7 +56,6 @@
 type contexthub_service, app_api_service,  system_server_service, service_manager_type;
 type crossprofileapps_service, app_api_service, system_server_service, service_manager_type;
 type IProxyService_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
-type commontime_management_service, system_server_service, service_manager_type;
 type companion_device_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 type connectivity_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 type connmetrics_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;