Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE

Merged-In: If4e844b205ad43a0d6e753148e6eebf06e61d2dc
Change-Id: I1a7891a6cf23e8385f1fe3f0fceec8f8fb753203
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 07cd1ac..c06f9db 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -90,8 +90,8 @@
 BOARD_ROOT_EXTRA_FOLDERS := persist firmware metadata
 
 BOARD_VENDOR_SEPOLICY_DIRS += device/google/wahoo/sepolicy/vendor
-BOARD_PLAT_PUBLIC_SEPOLICY_DIR := device/google/wahoo/sepolicy/public
-BOARD_PLAT_PRIVATE_SEPOLICY_DIR := device/google/wahoo/sepolicy/private
+SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS := device/google/wahoo/sepolicy/public
+SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS := device/google/wahoo/sepolicy/private
 BOARD_VENDOR_SEPOLICY_DIRS += device/google/wahoo/sepolicy/verizon
 
 TARGET_FS_CONFIG_GEN := device/google/wahoo/config.fs
@@ -180,3 +180,5 @@
     system \
     vbmeta \
     dtbo
+
+BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+  license_type: NOTICE
+}
diff --git a/init.hardware.rc b/init.hardware.rc
index 6065249..8f6c48d 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -732,21 +732,6 @@
     disabled
     oneshot
 
-# b/70518189 vDSO experiments
-on property:sys.vdso=*
-   write /sys/module/vdso/parameters/enable_32 1
-   write /sys/module/vdso/parameters/enable_64 1
-
-on property:sys.vdso=false
-   write /sys/module/vdso/parameters/enable_32 0
-   write /sys/module/vdso/parameters/enable_64 0
-
-on property:sys.vdso=64
-   write /sys/module/vdso/parameters/enable_32 0
-
-on property:sys.vdso=32
-   write /sys/module/vdso/parameters/enable_64 0
-
 # charger driver exposes now finer grain control, map demo mode to those properties
 # demo mode can only be exit wipping data which will also reset the persist properties
 on property:sys.retaildemo.enabled=1
diff --git a/init.hardware.xr.rc b/init.hardware.xr.rc
index 6b07458..ca00b49 100644
--- a/init.hardware.xr.rc
+++ b/init.hardware.xr.rc
@@ -21,11 +21,6 @@
 import /vendor/etc/init/hw/init.${ro.hardware}.common.rc
 
 on init
-    # Temporarily stop booting into VR directly due to battery drain.
-    # TODO(b/131327495): Re-enable this once VrHeadsetPowerPolicyService or its
-    #                    equivalent lands in Android master.
-    setprop ro.boot.vr 0
-
     # Setup cpusets used by the VR services.
     mkdir /dev/cpuset/kernel 0750 root system
     write /dev/cpuset/kernel/cpus 0
diff --git a/sepolicy/OWNERS b/sepolicy/OWNERS
index e9baa1e..c133e99 100644
--- a/sepolicy/OWNERS
+++ b/sepolicy/OWNERS
@@ -6,6 +6,7 @@
 jgalenson@google.com
 jiyong@google.com
 nnk@google.com
+rurumihong@google.com
 smoreland@google.com
 sspatil@google.com
 tomcherry@google.com
diff --git a/sepolicy/public/hwservice.te b/sepolicy/public/hwservice.te
index 7365301..d777744 100644
--- a/sepolicy/public/hwservice.te
+++ b/sepolicy/public/hwservice.te
@@ -1,2 +1,2 @@
-type hal_cne_hwservice, hwservice_manager_type;
-type hal_imsrcsd_hwservice, hwservice_manager_type;
+type hal_cne_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_imsrcsd_hwservice, hwservice_manager_type, vendor_hwservice_type;
diff --git a/sepolicy/vendor/cnd.te b/sepolicy/vendor/cnd.te
index d7aa810..087017a 100644
--- a/sepolicy/vendor/cnd.te
+++ b/sepolicy/vendor/cnd.te
@@ -34,3 +34,5 @@
   allow cnd diag_device:chr_file rw_file_perms;
 ')
 dontaudit cnd diag_device:chr_file rw_file_perms;
+
+get_prop(cnd, wifi_hal_prop)
diff --git a/sepolicy/vendor/con_monitor.te b/sepolicy/vendor/con_monitor.te
index eeb6bf5..c238817 100644
--- a/sepolicy/vendor/con_monitor.te
+++ b/sepolicy/vendor/con_monitor.te
@@ -1,5 +1,5 @@
 # ConnectivityMonitor app
-type con_monitor_app, domain;
+type con_monitor_app, domain, coredomain;
 
 app_domain(con_monitor_app)
 
diff --git a/sepolicy/vendor/google_camera_app.te b/sepolicy/vendor/google_camera_app.te
index 25b0528..abf8fc2 100644
--- a/sepolicy/vendor/google_camera_app.te
+++ b/sepolicy/vendor/google_camera_app.te
@@ -13,13 +13,9 @@
 allow google_camera_app mediametrics_service:service_manager find;
 allow google_camera_app nfc_service:service_manager find;
 allow google_camera_app surfaceflinger_service:service_manager find;
-allow google_camera_app gpu_service:service_manager find;
 
 allow google_camera_app hidl_token_hwservice:hwservice_manager find;
 
-# Allow google_camera_app to interact with gpuservice
-binder_call(google_camera_app, gpuservice)
-
 # Execute libraries from RenderScript cache
 allow google_camera_app app_data_file:file { rx_file_perms };
 
diff --git a/sepolicy/vendor/hal_power_stats_default.te b/sepolicy/vendor/hal_power_stats_default.te
index 5c773db..0283223 100644
--- a/sepolicy/vendor/hal_power_stats_default.te
+++ b/sepolicy/vendor/hal_power_stats_default.te
@@ -1,12 +1,8 @@
 # power.stats HAL needs access to rpm, and wlan sysfs nodes in /d/
 r_dir_file(hal_power_stats_default, debugfs_rpm)
 r_dir_file(hal_power_stats_default, debugfs_wlan)
-get_prop(hal_power_stats_default, exported_wifi_prop) # Needed to detect wifi on/off
+get_prop(hal_power_stats_default, wifi_hal_prop) # Needed to detect wifi on/off
 
 # power.stats HAL needs access to the easel sysfs node
 r_dir_file(hal_power_stats_default, sysfs_easel)
 
-# Allow power.stats HAL to add the power_stats_service
-vndbinder_use(hal_power_stats)
-add_service(hal_power_stats_server, power_stats_service)
-
diff --git a/sepolicy/vendor/hwservice.te b/sepolicy/vendor/hwservice.te
index 9bc1dfa..b47d3b4 100644
--- a/sepolicy/vendor/hwservice.te
+++ b/sepolicy/vendor/hwservice.te
@@ -1,6 +1,6 @@
-type vnd_ims_radio_hwservice, hwservice_manager_type;
-type vnd_qcrilhook_hwservice, hwservice_manager_type;
-type vnd_atcmdfwd_hwservice, hwservice_manager_type;
-type hal_imsrtp_hwservice, hwservice_manager_type;
-type nxpnfc_hwservice, hwservice_manager_type;
-type nxpese_hwservice, hwservice_manager_type;
+type vnd_ims_radio_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type vnd_qcrilhook_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type vnd_atcmdfwd_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_imsrtp_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type nxpnfc_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type nxpese_hwservice, hwservice_manager_type, vendor_hwservice_type;
diff --git a/sepolicy/vendor/location.te b/sepolicy/vendor/location.te
index 02f8d4a..a31d242 100644
--- a/sepolicy/vendor/location.te
+++ b/sepolicy/vendor/location.te
@@ -27,7 +27,6 @@
 allowxperm location self:udp_socket ioctl { SIOCGIFINDEX SIOCGIFHWADDR SIOCIWFIRSTPRIV_05 };
 
 allow location self:socket create_socket_perms;
-# whitelist socket ioctl commands
 allowxperm location self:socket ioctl msm_sock_ipc_ioctls;
 
 # files in /sys
@@ -47,3 +46,5 @@
 userdebug_or_eng(`
   allow location diag_device:chr_file rw_file_perms;
 ')
+
+get_prop(location, wifi_hal_prop)
diff --git a/sepolicy/vendor/property_contexts b/sepolicy/vendor/property_contexts
index 36c44e5..65f340c 100644
--- a/sepolicy/vendor/property_contexts
+++ b/sepolicy/vendor/property_contexts
@@ -222,9 +222,6 @@
 vendor.fps.init.succeed               u:object_r:vendor_fingerprint_prop:s0
 vendor.fps.init_retry.count           u:object_r:vendor_fingerprint_prop:s0
 
-# vendor-init-settable
-ro.boot.vr                      u:object_r:exported2_system_prop:s0 exact bool
-
 # wifi_sniffer
 persist.vendor.wifi.sniffer.freq              u:object_r:vendor_wifi_sniffer_prop:s0
 persist.vendor.wifi.sniffer.bandwidth         u:object_r:vendor_wifi_sniffer_prop:s0
diff --git a/sepolicy/vendor/vndservice.te b/sepolicy/vendor/vndservice.te
index 75ac8e1..4788633 100644
--- a/sepolicy/vendor/vndservice.te
+++ b/sepolicy/vendor/vndservice.te
@@ -1,4 +1,3 @@
 type qdisplay_service,             vndservice_manager_type;
 type per_mgr_service,              vndservice_manager_type;
-type power_stats_service,          vndservice_manager_type;
 
diff --git a/sepolicy/vendor/vndservice_contexts b/sepolicy/vendor/vndservice_contexts
index 5ad35d6..1db4aa0 100644
--- a/sepolicy/vendor/vndservice_contexts
+++ b/sepolicy/vendor/vndservice_contexts
@@ -1,4 +1,2 @@
 display.qservice                        u:object_r:qdisplay_service:s0
 vendor.qcom.PeripheralManager           u:object_r:per_mgr_service:s0
-power.stats-vendor                      u:object_r:power_stats_service:s0
-
diff --git a/system.prop b/system.prop
index b5ef074..ecbb24c 100644
--- a/system.prop
+++ b/system.prop
@@ -33,9 +33,6 @@
 # Additional buffers shared between Camera and Video
 vendor.vidc.enc.dcvs.extra-buff-count=2
 
-# system props for the data netmgrd
-persist.data.mode=concurrent
-
 # system props for time-services
 persist.timed.enable=true
 
diff --git a/usb/Usb.cpp b/usb/Usb.cpp
index 25a2df2..08e25e5 100644
--- a/usb/Usb.cpp
+++ b/usb/Usb.cpp
@@ -193,7 +193,7 @@
       // There are no uevent signals which implies role swap timed out.
       if (err == ETIMEDOUT) {
         ALOGI("uevents wait timedout");
-      // Sanity check.
+      // Partner check.
       } else if (!usb->mPartnerUp) {
         goto wait_again;
       // Role switch succeeded since usb->mPartnerUp is true.