Skip QD1A.190821.011 in stage-aosp-master am: ba7b15100f am: 10b9f6fe6f
am: efc9a06b3a

Change-Id: I543268574961fff538766c0b4ea034987ce9e90f
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 5773daf..7f9c2a1 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -80,9 +80,11 @@
     system \
     vbmeta \
     dtbo \
-    product
+    product \
+    system_ext
 
 BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
 
 # Partitions (listed in the file) to be wiped under recovery.
 TARGET_RECOVERY_WIPE := device/google/bonito/recovery.wipe
@@ -110,7 +112,8 @@
 BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
     system \
     vendor \
-    product
+    product \
+    system_ext
 
 BOARD_SUPER_PARTITION_SIZE := 4072669184
 BOARD_SUPER_PARTITION_METADATA_DEVICE := system
@@ -153,6 +156,8 @@
 # Sensors
 USE_SENSOR_MULTI_HAL := true
 TARGET_SUPPORT_DIRECT_REPORT := true
+# Enable sensor Version V_2
+USE_SENSOR_HAL_VER := 2.0
 
 # wlan
 BOARD_WLAN_DEVICE := qcwcn
@@ -164,6 +169,9 @@
 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
 WIFI_HIDL_FEATURE_AWARE := true
 WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true
+WIFI_FEATURE_WIFI_EXT_HAL := true
+WIFI_FEATURE_IMU_DETECTION := false
+WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
 
 # Audio
 BOARD_USES_ALSA_AUDIO := true
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 6d71bc6..060a347 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -177,3 +177,16 @@
 
 # Remove obsolete android.hardware.boot@1.0-impl-wrapper.recovery.so
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/system/lib64/hw/android.hardware.boot@1.0-impl-wrapper.recovery.so)
+
+# Vibrator HAL 1.2 renamed from 'bonito' to 'drv2624'
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.vibrator@1.2-service.bonito.rc)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.vibrator@1.2-service.bonito)
+
+# Vibrator HAL upgraded from 1-2 to 1-3
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.vibrator@1.2-service.drv2624.rc)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.vibrator@1.2-service.drv2624)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.vibrator@1.2-service.drv2624.xml)
+
+# Move android.hidl.base@1.0.so to system_ext
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/android.hidl.base@1.0.so)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/android.hidl.base@1.0.so)
diff --git a/audio_policy_volumes.xml b/audio_policy_volumes.xml
index 635f721..f119317 100644
--- a/audio_policy_volumes.xml
+++ b/audio_policy_volumes.xml
@@ -44,7 +44,7 @@
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
                                              ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
-                                             ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+                                             ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
         <point>1,-3000</point>
         <point>33,-2600</point>
diff --git a/bonito/overlay/frameworks/base/core/res/res/values/config.xml b/bonito/overlay/frameworks/base/core/res/res/values/config.xml
index 0c28a5a..fbb8b52 100755
--- a/bonito/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/bonito/overlay/frameworks/base/core/res/res/values/config.xml
@@ -138,11 +138,6 @@
          Must be in the range specified by minimum and maximum. -->
     <integer name="config_screenBrightnessSettingDefault">98</integer>
 
-    <!-- Default screen brightness for VR setting. Default value: 0x1F => 127. -->
-    <integer name="config_screenBrightnessForVrSettingDefault">127</integer>
-
-    <integer name="config_screenBrightnessForVrSettingMinimum">127</integer>
-
     <!-- Minimum screen brightness setting allowed by the power manager.
          The user is forbidden from setting the brightness below this level. -->
     <integer name="config_screenBrightnessSettingMinimum">1</integer>
diff --git a/component-overrides.xml b/component-overrides.xml
new file mode 100644
index 0000000..bb3419d
--- /dev/null
+++ b/component-overrides.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<config>
+    <component-override package="com.android.bluetooth" >
+        <component class=".sap.SapService" enabled="true" />
+    </component-override>
+</config>
\ No newline at end of file
diff --git a/device-bonito.mk b/device-bonito.mk
index f98bd39..f5a1f94 100644
--- a/device-bonito.mk
+++ b/device-bonito.mk
@@ -25,6 +25,7 @@
 
 # Vibrator HAL
 PRODUCT_PRODUCT_PROPERTIES +=\
+    ro.vibrator.hal.config.dynamic=1 \
     ro.vibrator.hal.click.duration=8 \
     ro.vibrator.hal.tick.duration=5 \
     ro.vibrator.hal.heavyclick.duration=12 \
diff --git a/device-sargo.mk b/device-sargo.mk
index 8362fd2..5e1c8c4 100644
--- a/device-sargo.mk
+++ b/device-sargo.mk
@@ -27,6 +27,7 @@
 
 # Vibrator HAL
 PRODUCT_PRODUCT_PROPERTIES +=\
+    ro.vibrator.hal.config.dynamic=1 \
     ro.vibrator.hal.click.duration=8 \
     ro.vibrator.hal.tick.duration=5 \
     ro.vibrator.hal.heavyclick.duration=12 \
diff --git a/device.mk b/device.mk
index 6d4195b..4799276 100644
--- a/device.mk
+++ b/device.mk
@@ -40,6 +40,7 @@
 
 PRODUCT_COPY_FILES += \
     device/google/bonito/default-permissions.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default-permissions/default-permissions.xml \
+    device/google/bonito/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
     frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
     frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.software.verified_boot.xml
 
@@ -54,6 +55,10 @@
 PRODUCT_PACKAGES += \
     messaging
 
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+PRODUCT_PACKAGES += chre_test_client
+endif
+
 LOCAL_PATH := device/google/bonito
 
 TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
@@ -311,6 +316,10 @@
     vendor.rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so \
     ro.hardware.keystore_desede=true \
 
+PRODUCT_PRODUCT_PROPERTIES += \
+    ro.telephony.max.active.modems=2 \
+    persist.radio.reboot_on_modem_change=false
+
 # Disable snapshot timer
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.vendor.radio.snapshot_enabled=0 \
@@ -456,8 +465,9 @@
 
 PRODUCT_PACKAGES += \
     sensors.$(PRODUCT_HARDWARE) \
-    android.hardware.sensors@1.0-impl \
-    android.hardware.sensors@1.0-service
+    android.hardware.sensors@2.0-impl \
+    android.hardware.sensors@2.0-service \
+    android.hardware.sensors@2.0-service.rc
 
 PRODUCT_COPY_FILES += \
     $(LOCAL_PATH)/sensors/hals.conf:vendor/etc/sensors/hals.conf
@@ -483,7 +493,7 @@
 
 # Vibrator HAL
 PRODUCT_PACKAGES += \
-    android.hardware.vibrator@1.2-service.bonito \
+    android.hardware.vibrator@1.3-service.drv2624
 
 # Thermal HAL
 PRODUCT_PACKAGES += \
@@ -605,13 +615,6 @@
     $(LOCAL_PATH)/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
     $(LOCAL_PATH)/media_codecs_omx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_omx.xml
 
-# configures both aac and xaac decoders
-PRODUCT_COPY_FILES += \
-    device/google/bonito/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
-# and ensure that the xaac decoder is built
-PRODUCT_PACKAGES += \
-    libstagefright_soft_xaacdec.vendor
-
 PRODUCT_PROPERTY_OVERRIDES += \
     audio.snd_card.open.retries=50
 
@@ -637,6 +640,13 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.vendor.sys.ssr.restart_level=modem,slpi,adsp
 
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+# Sensor debug flag
+PRODUCT_PROPERTY_OVERRIDES += \
+    persist.vendor.debug.ash.logger=0 \
+    persist.vendor.debug.ash.logger.time=0
+endif
+
 # setup dalvik vm configs
 $(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
 
@@ -684,8 +694,8 @@
     dalvik.vm.heapgrowthlimit=256m
 
 PRODUCT_COPY_FILES += \
-    device/google/bonito/hidl/android.hidl.base@1.0.so-32:system/lib/android.hidl.base@1.0.so \
-    device/google/bonito/hidl/android.hidl.base@1.0.so-64:system/lib64/android.hidl.base@1.0.so \
+    device/google/bonito/hidl/android.hidl.base@1.0.so-32:system_ext/lib/android.hidl.base@1.0.so \
+    device/google/bonito/hidl/android.hidl.base@1.0.so-64:system_ext/lib64/android.hidl.base@1.0.so \
     device/google/bonito/hidl/android.hidl.base@1.0.so-32:vendor/lib/android.hidl.base@1.0.so \
     device/google/bonito/hidl/android.hidl.base@1.0.so-64:vendor/lib64/android.hidl.base@1.0.so \
 
diff --git a/device_framework_matrix.xml b/device_framework_matrix.xml
index 036a645..720b125 100644
--- a/device_framework_matrix.xml
+++ b/device_framework_matrix.xml
@@ -172,7 +172,7 @@
     <hal format="hidl" optional="true">
         <name>vendor.google.wifi_ext</name>
         <transport>hwbinder</transport>
-        <version>1.0</version>
+        <version>1.1</version>
         <interface>
             <name>IWifiExt</name>
             <instance>default</instance>
diff --git a/dumpstate/Android.mk b/dumpstate/Android.mk
index 0981477..5461766 100644
--- a/dumpstate/Android.mk
+++ b/dumpstate/Android.mk
@@ -30,8 +30,6 @@
     libcutils \
     libdumpstateutil \
     libhidlbase \
-    libhidltransport \
-    libhwbinder \
     liblog \
     libutils
 
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index b4b3661..4d6215f 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -148,6 +148,7 @@
               "/data/vendor/radio/imsdatadaemon_log_old",
               "/data/vendor/netmgr/netmgr_log",
               "/data/vendor/netmgr/netmgr_log_old",
+              "/data/vendor/radio/omadm_logs.txt",
               "/data/vendor/radio/power_anomaly_data.txt",
               "/data/vendor/radio/diag_logs/diag_trace.txt",
               "/data/vendor/radio/diag_logs/diag_trace_old.txt",
@@ -276,6 +277,18 @@
     }
 }
 
+static void DumpSensorLog(int fd) {
+    const std::string logPath = "/data/vendor/sensors/log/sensor_log.txt";
+    const std::string lastlogPath = "/data/vendor/sensors/log/sensor_lastlog.txt";
+
+    if (!access(logPath.c_str(), R_OK)) {
+        DumpFileToFd(fd, "sensor log", logPath);
+    }
+    if (!access(lastlogPath.c_str(), R_OK)) {
+        DumpFileToFd(fd, "sensor lastlog", lastlogPath);
+    }
+}
+
 static void DumpF2FS(int fd) {
     DumpFileToFd(fd, "F2FS", "/sys/kernel/debug/f2fs/status");
     DumpFileToFd(fd, "F2FS - fragmentation", "/proc/fs/f2fs/dm-6/segment_info");
@@ -332,11 +345,16 @@
     DumpF2FS(fd);
     DumpeMMC(fd);
 
+    DumpSensorLog(fd);
+
     DumpFileToFd(fd, "INTERRUPTS", "/proc/interrupts");
     DumpFileToFd(fd, "Sleep Stats", "/sys/power/system_sleep/stats");
     DumpFileToFd(fd, "Power Management Stats", "/sys/power/rpmh_stats/master_stats");
     DumpFileToFd(fd, "WLAN Power Stats", "/d/wlan0/power_stats");
     DumpFileToFd(fd, "LL-Stats", "/d/wlan0/ll_stats");
+    DumpFileToFd(fd, "WLAN Connect Info", "/d/wlan0/connect_info");
+    DumpFileToFd(fd, "WLAN Offload Info", "/d/wlan0/offload_info");
+    DumpFileToFd(fd, "WLAN Roaming Stats", "/d/wlan0/roam_stats");
     DumpFileToFd(fd, "ICNSS Stats", "/d/icnss/stats");
     DumpFileToFd(fd, "SMD Log", "/d/ipc_logging/smd/log");
     RunCommandToFd(fd, "ION HEAPS", {"/vendor/bin/sh", "-c", "for d in $(ls -d /d/ion/*); do for f in $(ls $d); do echo --- $d/$f; cat $d/$f; done; done"});
@@ -384,6 +402,9 @@
         dumpModem(fd, fdModem);
     }
 
+    // Dump various events in WiFi data path
+    DumpFileToFd(fd, "WLAN DP Trace", "/d/wlan/dpt_stats/dump_set_dpt_logs");
+
     // Keep this at the end as very long on not for humans
     DumpFileToFd(fd, "WLAN FW Log Symbol Table", "/vendor/firmware/Data.msc");
 
diff --git a/fstab.hardware b/fstab.hardware
index 422c9cc..d79826e 100644
--- a/fstab.hardware
+++ b/fstab.hardware
@@ -7,6 +7,7 @@
 
 #<src>                                                 <mnt_point>                        <type>  <mnt_flags and options>                            <fs_mgr_flags>
 system                                                  /system                           ext4    ro,barrier=1                                         wait,slotselect,avb=vbmeta,logical,first_stage_mount
+system_ext                                              /system_ext                       ext4    ro,barrier=1                                         wait,slotselect,avb,logical,first_stage_mount
 vendor                                                  /vendor                           ext4    ro,barrier=1                                         wait,slotselect,avb,logical,first_stage_mount
 product                                                 /product                          ext4    ro,barrier=1                                         wait,slotselect,avb,logical,first_stage_mount
 /dev/block/by-name/metadata                             /metadata                         ext4    noatime,nosuid,nodev,discard,sync                    wait,formattable,first_stage_mount
diff --git a/gpt-utils/gpt-utils.h b/gpt-utils/gpt-utils.h
index fb272ef..0051d2b 100644
--- a/gpt-utils/gpt-utils.h
+++ b/gpt-utils/gpt-utils.h
@@ -84,7 +84,8 @@
             "dtbo", "hyp", "keymaster", "qupfw", "storsec", \
             "tz", "vbmeta", "xbl_config"
 
-#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "system", "vendor", "modem"
+#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "system", "vendor", "modem", \
+                                   "system_ext", "product"
 #define BOOT_DEV_DIR    "/dev/block/bootdevice/by-name"
 
 /******************************************************************************
diff --git a/health/Android.bp b/health/Android.bp
index b06227b..9eb609f 100644
--- a/health/Android.bp
+++ b/health/Android.bp
@@ -43,8 +43,6 @@
         "libbase",
         "libcutils",
         "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
         "libpixelhealth",
         "libutils",
         "android.hardware.health@2.0",
diff --git a/health/HealthService.cpp b/health/HealthService.cpp
index 37c1c24..7d780f1 100644
--- a/health/HealthService.cpp
+++ b/health/HealthService.cpp
@@ -14,9 +14,8 @@
  * limitations under the License.
  */
 #define LOG_TAG "android.hardware.health@2.0-service.bonito"
-#include <android-base/logging.h>
-
 #include <android-base/file.h>
+#include <android-base/logging.h>
 #include <android-base/parseint.h>
 #include <android-base/strings.h>
 #include <health2/Health.h>
@@ -24,18 +23,20 @@
 #include <healthd/healthd.h>
 #include <hidl/HidlTransportSupport.h>
 #include <pixelhealth/BatteryMetricsLogger.h>
+#include <pixelhealth/BatteryThermalControl.h>
 #include <pixelhealth/CycleCountBackupRestore.h>
 #include <pixelhealth/DeviceHealth.h>
 #include <pixelhealth/LowBatteryShutdownMetrics.h>
 
-#include "BatteryRechargingControl.h"
-#include "BatteryInfoUpdate.h"
-#include "LearnedCapacityBackupRestore.h"
 #include <fstream>
 #include <iomanip>
 #include <string>
 #include <vector>
 
+#include "BatteryInfoUpdate.h"
+#include "BatteryRechargingControl.h"
+#include "LearnedCapacityBackupRestore.h"
+
 namespace {
 
 using android::hardware::health::V2_0::DiskStats;
@@ -45,6 +46,7 @@
 using ::device::google::bonito::health::BatteryInfoUpdate;
 using ::device::google::bonito::health::LearnedCapacityBackupRestore;
 using hardware::google::pixel::health::BatteryMetricsLogger;
+using hardware::google::pixel::health::BatteryThermalControl;
 using hardware::google::pixel::health::CycleCountBackupRestore;
 using hardware::google::pixel::health::DeviceHealth;
 using hardware::google::pixel::health::LowBatteryShutdownMetrics;
@@ -57,6 +59,7 @@
 
 static BatteryRechargingControl battRechargingControl;
 static BatteryInfoUpdate battInfoUpdate;
+static BatteryThermalControl battThermalControl("sys/devices/virtual/thermal/tz-by-name/soc/mode");
 static BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV);
 static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg);
 static CycleCountBackupRestore ccBackupRestoreBMS(
@@ -111,6 +114,7 @@
 int healthd_board_battery_update(struct android::BatteryProperties *props) {
     battRechargingControl.updateBatteryProperties(props);
     deviceHealth.update(props);
+    battThermalControl.updateThermalState(props);
     battInfoUpdate.update(props);
     battMetricsLogger.logBatteryProperties(props);
     shutdownMetrics.logShutdownVoltage(props);
diff --git a/init.hardware.rc b/init.hardware.rc
index f2c6d83..0008249 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -148,6 +148,7 @@
     chown system system /sys/devices/virtual/thermal/tz-by-name/mb-therm-monitor/trip_point_0_hyst
     chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_temp
     chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_hyst
+    chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode
 
 on fs
     mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early
@@ -304,6 +305,8 @@
 
     mkdir /data/vendor/sensors 0770
     chown system system /data/vendor/sensors
+    mkdir /data/vendor/sensors/log 0770
+    chown system system /data/vendor/sensors/log
 
     chmod 770 /mnt/vendor/persist/audio
     chmod 660 /mnt/vendor/persist/audio/audio.cal
@@ -386,7 +389,6 @@
     chown system system /sys/class/leds/green/rgb_start
     chown system system /sys/class/leds/blue/rgb_start
     chown system system /sys/class/backlight/panel0-backlight/brightness
-    chown system system /sys/class/backlight/panel0-backlight/vr_mode
 
     # Permission for Wireless charger
     chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/rxdata
@@ -638,21 +640,6 @@
    group system
    capabilities NET_BIND_SERVICE
 
-service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-    -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
-    -g@android:wpa_wlan0
-    #   we will start as root and wpa_supplicant will switch to user wifi
-    #   after setting up the capabilities required for WEXT
-    #   user wifi
-    #   group wifi inet keystore
-    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.2::ISupplicant default
-    class main
-    socket wpa_wlan0 dgram 660 wifi wifi
-    disabled
-    oneshot
-
 service cnss-daemon /vendor/bin/cnss-daemon -n -l
    class late_start
    user system
@@ -724,8 +711,7 @@
      class core
 
 # bugreport is triggered by holding down volume down, volume up and power
-service bugreport /system/bin/dumpstate -d -p -B -z \
-        -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
+service bugreport /system/bin/dumpstate -d -p -z
     class main
     disabled
     oneshot
@@ -870,6 +856,10 @@
 on property:persist.radio.multisim.config=dsds
     start vendor.qcrild2
 
+# Stop 2nd qcrild when the property set to empty string
+on property:persist.radio.multisim.config=
+    stop vendor.qcrild2
+
 on property:sys.boot_completed=1 && property:ro.boot.mode=firstboot
     start init-firstboot-sh
 
diff --git a/init.qcom.devstart.sh b/init.qcom.devstart.sh
index 4d5c4f9..9f67a0b 100644
--- a/init.qcom.devstart.sh
+++ b/init.qcom.devstart.sh
@@ -8,4 +8,4 @@
 version=`grep -ao "OEM_IMAGE_VERSION_STRING[ -~]*" \
               /vendor/firmware/adsp.b04 | \
          sed -e s/OEM_IMAGE_VERSION_STRING=ADSP.version.// -e s/\(.*\).//`
-setprop sys.adsp.firmware.version "$version"
+setprop vendor.sys.adsp.firmware.version "$version"
diff --git a/keymaster/Android.bp b/keymaster/Android.bp
index 168ed8f..8e07d6b 100644
--- a/keymaster/Android.bp
+++ b/keymaster/Android.bp
@@ -21,6 +21,7 @@
         "android.hardware.keymaster@4.0",
         "libbase",
         "libkeymaster4support",
+        "libutils",
     ],
     proprietary: true,
 }
diff --git a/manifest.xml b/manifest.xml
index 8000b1d..b8781cd 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -309,7 +309,7 @@
     <hal format="hidl">
         <name>android.hardware.sensors</name>
         <transport>hwbinder</transport>
-        <version>1.0</version>
+        <version>2.0</version>
         <interface>
             <name>ISensors</name>
             <instance>default</instance>
@@ -361,15 +361,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.vibrator</name>
-        <transport>hwbinder</transport>
-        <version>1.2</version>
-        <interface>
-            <name>IVibrator</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.weaver</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -379,15 +370,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.wifi</name>
-        <transport>hwbinder</transport>
-        <version>1.3</version>
-        <interface>
-            <name>IWifi</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.wifi.hostapd</name>
         <transport>hwbinder</transport>
         <version>1.1</version>
@@ -397,15 +379,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.wifi.supplicant</name>
-        <transport>hwbinder</transport>
-        <version>1.2</version>
-        <interface>
-            <name>ISupplicant</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>vendor.qti.hardware.radio.ims</name>
         <transport>hwbinder</transport>
         <version>1.2</version>
diff --git a/media_codecs_google_audio.xml b/media_codecs_google_audio.xml
deleted file mode 100644
index 7e586fe..0000000
--- a/media_codecs_google_audio.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
-
--->
-
-<Included>
-    <Decoders>
-        <MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg">
-            <Limit name="channel-count" max="2" />
-            <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
-            <Limit name="bitrate" range="8000-320000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp">
-            <Limit name="channel-count" max="1" />
-            <Limit name="sample-rate" ranges="8000" />
-            <Limit name="bitrate" range="4750-12200" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb">
-            <Limit name="channel-count" max="1" />
-            <Limit name="sample-rate" ranges="16000" />
-            <Limit name="bitrate" range="6600-23850" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm">
-            <Limit name="channel-count" max="8" />
-            <Limit name="sample-rate" ranges="7350,8000,11025,12000,16000,22050,24000,32000,44100,48000" />
-            <Limit name="bitrate" range="8000-960000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.xaac.decoder" type="audio/mp4a-latm">
-            <Limit name="channel-count" max="8" />
-            <Limit name="sample-rate" ranges="7350,8000,11025,12000,16000,22050,24000,32000,44100,48000" />
-            <Limit name="bitrate" range="8000-960000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw">
-            <Limit name="channel-count" max="1" />
-            <Limit name="sample-rate" ranges="8000-48000" />
-            <Limit name="bitrate" range="64000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw">
-            <Limit name="channel-count" max="1" />
-            <Limit name="sample-rate" ranges="8000-48000" />
-            <Limit name="bitrate" range="64000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis">
-            <Limit name="channel-count" max="8" />
-            <Limit name="sample-rate" ranges="8000-96000" />
-            <Limit name="bitrate" range="32000-500000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.opus.decoder" type="audio/opus">
-            <Limit name="channel-count" max="8" />
-            <Limit name="sample-rate" ranges="48000" />
-            <Limit name="bitrate" range="6000-510000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.raw.decoder" type="audio/raw">
-            <Limit name="channel-count" max="8" />
-            <Limit name="sample-rate" ranges="8000-96000" />
-            <Limit name="bitrate" range="1-10000000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.flac.decoder" type="audio/flac">
-            <Limit name="channel-count" max="8" />
-            <Limit name="sample-rate" ranges="1-655350" />
-            <Limit name="bitrate" range="1-21000000" />
-        </MediaCodec>
-    </Decoders>
-    <Encoders>
-        <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm">
-            <Limit name="channel-count" max="6" />
-            <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
-            <!-- also may support 64000, 88200  and 96000 Hz -->
-            <Limit name="bitrate" range="8000-960000" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp">
-            <Limit name="channel-count" max="1" />
-            <Limit name="sample-rate" ranges="8000" />
-            <Limit name="bitrate" range="4750-12200" />
-            <Feature name="bitrate-modes" value="CBR" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb">
-            <Limit name="channel-count" max="1" />
-            <Limit name="sample-rate" ranges="16000" />
-            <Limit name="bitrate" range="6600-23850" />
-            <Feature name="bitrate-modes" value="CBR" />
-        </MediaCodec>
-        <MediaCodec name="OMX.google.flac.encoder" type="audio/flac">
-            <Limit name="channel-count" max="2" />
-            <Limit name="sample-rate" ranges="1-655350" />
-            <Limit name="bitrate" range="1-21000000" />
-            <Limit name="complexity" range="0-8"  default="5" />
-            <Feature name="bitrate-modes" value="CQ" />
-        </MediaCodec>
-    </Encoders>
-</Included>
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index bef2559..acccbff 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -322,8 +322,8 @@
         <item>"/system/framework/services.jar"</item>
         <item>"/system/framework/arm64/boot.oat"</item>
         <item>"/system/framework/arm64/boot-core-libart.oat"</item>
-        <item>"/apex/com.android.runtime/javalib/core-oj.jar"</item>
-        <item>"/apex/com.android.runtime/javalib/core-libart.jar"</item>
+        <item>"/apex/com.android.art/javalib/core-oj.jar"</item>
+        <item>"/apex/com.android.art/javalib/core-libart.jar"</item>
         <item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
         <item>"/product/priv-app/SystemUIGoogle/SystemUIGoogle.apk"</item>
         <item>"/product/priv-app/SystemUIGoogle/oat/arm64/SystemUIGoogle.odex"</item>
diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
deleted file mode 100644
index 378e34b..0000000
--- a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<resources>
-    <!-- Default for Settings.System.VIBRATE_WHEN_RINGING -->
-    <bool name="def_vibrate_when_ringing">true</bool>
-    <!-- Default for Settings.Global.APPLY_RAMPING_RINGER -->
-    <bool name="def_apply_ramping_ringer">false</bool>
-</resources>
diff --git a/overlay/packages/apps/Bluetooth/res/values/config.xml b/overlay/packages/apps/Bluetooth/res/values/config.xml
deleted file mode 100644
index e403105..0000000
--- a/overlay/packages/apps/Bluetooth/res/values/config.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright (c) 2017, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-    * Neither the name of The Linux Foundation nor the names of its
-      contributors may be used to endorse or promote products derived
-      from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<resources>
-    <bool name="profile_supported_sap">true</bool>
-    <bool name="profile_supported_hearing_aid">true</bool>
-</resources>
diff --git a/pixelstats/Android.bp b/pixelstats/Android.bp
index bb65839..dadea9d 100644
--- a/pixelstats/Android.bp
+++ b/pixelstats/Android.bp
@@ -24,7 +24,6 @@
     "libbinder",
     "libcutils",
     "libhidlbase",
-    "libhidltransport",
     "liblog",
     "libutils",
     "libpixelstats",
diff --git a/powerstats/Android.bp b/powerstats/Android.bp
index 5c4fac6..ad273df 100644
--- a/powerstats/Android.bp
+++ b/powerstats/Android.bp
@@ -28,7 +28,6 @@
         "libbase",
         "libcutils",
         "libhidlbase",
-        "libhidltransport",
         "libfmq",
         "liblog",
         "libutils",
diff --git a/sargo/overlay/frameworks/base/core/res/res/values/config.xml b/sargo/overlay/frameworks/base/core/res/res/values/config.xml
index f798762..85f54f3 100755
--- a/sargo/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/sargo/overlay/frameworks/base/core/res/res/values/config.xml
@@ -138,11 +138,6 @@
          Must be in the range specified by minimum and maximum. -->
     <integer name="config_screenBrightnessSettingDefault">98</integer>
 
-    <!-- Default screen brightness for VR setting. Default value: 0x7F => 127. -->
-    <integer name="config_screenBrightnessForVrSettingDefault">127</integer>
-
-    <integer name="config_screenBrightnessForVrSettingMinimum">127</integer>
-
     <!-- Minimum screen brightness setting allowed by the power manager.
          The user is forbidden from setting the brightness below this level. -->
     <integer name="config_screenBrightnessSettingMinimum">1</integer>
diff --git a/usb/Android.bp b/usb/Android.bp
index 449b067..124f468 100644
--- a/usb/Android.bp
+++ b/usb/Android.bp
@@ -20,7 +20,6 @@
     shared_libs: [
         "libbase",
         "libhidlbase",
-        "libhidltransport",
         "liblog",
         "libutils",
         "libhardware",
diff --git a/vibrator/Android.bp b/vibrator/Android.bp
deleted file mode 100644
index 2462082..0000000
--- a/vibrator/Android.bp
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Copyright (C) 2017 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-cc_binary {
-    name: "android.hardware.vibrator@1.2-service.bonito",
-    relative_install_path: "hw",
-    init_rc: ["android.hardware.vibrator@1.2-service.bonito.rc"],
-    srcs: ["service.cpp", "Vibrator.cpp"],
-    cflags: ["-Wall", "-Werror"],
-    shared_libs: [
-        "libhidlbase",
-        "libcutils",
-        "libhidltransport",
-        "liblog",
-        "libhwbinder",
-        "libutils",
-        "libhardware",
-        "android.hardware.vibrator@1.0",
-        "android.hardware.vibrator@1.1",
-        "android.hardware.vibrator@1.2"
-    ],
-    proprietary: true,
-}
diff --git a/vibrator/OWNERS b/vibrator/OWNERS
deleted file mode 100644
index 2ce9955..0000000
--- a/vibrator/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-eliptus@google.com
-michaelwr@google.com
-chasewu@google.com
diff --git a/vibrator/Vibrator.cpp b/vibrator/Vibrator.cpp
deleted file mode 100644
index 509d739..0000000
--- a/vibrator/Vibrator.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "VibratorService"
-
-#include <log/log.h>
-
-#include <cutils/properties.h>
-#include <hardware/hardware.h>
-#include <hardware/vibrator.h>
-
-#include "Vibrator.h"
-
-#include <cinttypes>
-#include <cmath>
-#include <fstream>
-#include <iostream>
-
-namespace android {
-namespace hardware {
-namespace vibrator {
-namespace V1_2 {
-namespace implementation {
-
-static constexpr int8_t MAX_RTP_INPUT = 127;
-static constexpr int8_t MIN_RTP_INPUT = 0;
-
-static constexpr char RTP_MODE[] = "rtp";
-static constexpr char WAVEFORM_MODE[] = "waveform";
-
-static constexpr uint32_t LOOP_MODE_OPEN = 1;
-static constexpr uint32_t SINE_WAVE = 1;
-static constexpr uint32_t SQUARE_WAVE = 0;
-
-// Default max voltage 2.15V
-static constexpr uint32_t VOLTAGE_MAX = 107;
-
-// Use effect #1 in the waveform library for CLICK effect
-static constexpr char WAVEFORM_CLICK_EFFECT_SEQ[] = "1 0";
-static constexpr int32_t WAVEFORM_CLICK_EFFECT_MS = 6;
-
-// Use effect #2 in the waveform library for TICK effect
-static constexpr char WAVEFORM_TICK_EFFECT_SEQ[] = "2 0";
-static constexpr int32_t WAVEFORM_TICK_EFFECT_MS = 2;
-
-// Use effect #3 in the waveform library for DOUBLE_CLICK effect
-static constexpr char WAVEFORM_DOUBLE_CLICK_EFFECT_SEQ[] = "3 0";
-static constexpr uint32_t WAVEFORM_DOUBLE_CLICK_EFFECT_MS = 182;
-
-// Use effect #4 in the waveform library for HEAVY_CLICK effect
-static constexpr char WAVEFORM_HEAVY_CLICK_EFFECT_SEQ[] = "4 0";
-static constexpr uint32_t WAVEFORM_HEAVY_CLICK_EFFECT_MS = 8;
-
-using Status = ::android::hardware::vibrator::V1_0::Status;
-using EffectStrength = ::android::hardware::vibrator::V1_0::EffectStrength;
-
-Vibrator::Vibrator(HwApi &&hwapi, std::uint32_t short_lra_period, std::uint32_t long_lra_period)
-    : mHwApi(std::move(hwapi)), mShortLraPeriod(short_lra_period), mLongLraPeriod(long_lra_period) {
-    mClickDuration = property_get_int32("ro.vibrator.hal.click.duration", WAVEFORM_CLICK_EFFECT_MS);
-    mTickDuration = property_get_int32("ro.vibrator.hal.tick.duration", WAVEFORM_TICK_EFFECT_MS);
-    mHeavyClickDuration =
-        property_get_int32("ro.vibrator.hal.heavyclick.duration", WAVEFORM_HEAVY_CLICK_EFFECT_MS);
-    mShortVoltageMax = property_get_int32("ro.vibrator.hal.short.voltage", VOLTAGE_MAX);
-    mLongVoltageMax = property_get_int32("ro.vibrator.hal.long.voltage", VOLTAGE_MAX);
-
-    // This enables effect #1 from the waveform library to be triggered by SLPI
-    // while the AP is in suspend mode
-    mHwApi.lpTriggerEffect << 1 << std::endl;
-    if (!mHwApi.lpTriggerEffect) {
-        ALOGW("Failed to set LP trigger mode (%d): %s", errno, strerror(errno));
-    }
-}
-
-Return<Status> Vibrator::on(uint32_t timeoutMs, bool isWaveform) {
-    // Bonito / Sargo only support open-loop mode
-    mHwApi.ctrlLoop << LOOP_MODE_OPEN << std::endl;
-    mHwApi.duration << timeoutMs << std::endl;
-    if (!mHwApi.duration) {
-        ALOGE("Failed to set duration (%d): %s", errno, strerror(errno));
-        return Status::UNKNOWN_ERROR;
-    }
-
-    if (isWaveform) {
-        mHwApi.mode << WAVEFORM_MODE << std::endl;
-        mHwApi.lraWaveShape << SINE_WAVE << std::endl;
-        mHwApi.odClamp << mShortVoltageMax << std::endl;
-        mHwApi.olLraPeriod << mShortLraPeriod << std::endl;
-    } else {
-        mHwApi.mode << RTP_MODE << std::endl;
-        mHwApi.lraWaveShape << SQUARE_WAVE << std::endl;
-        mHwApi.odClamp << mLongVoltageMax << std::endl;
-        mHwApi.olLraPeriod << mLongLraPeriod << std::endl;
-    }
-
-    mHwApi.activate << 1 << std::endl;
-    if (!mHwApi.activate) {
-        ALOGE("Failed to activate (%d): %s", errno, strerror(errno));
-        return Status::UNKNOWN_ERROR;
-    }
-
-    return Status::OK;
-}
-
-// Methods from ::android::hardware::vibrator::V1_2::IVibrator follow.
-Return<Status> Vibrator::on(uint32_t timeoutMs) {
-    return on(timeoutMs, false /* isWaveform */);
-}
-
-Return<Status> Vibrator::off()  {
-    mHwApi.activate << 0 << std::endl;
-    if (!mHwApi.activate) {
-        ALOGE("Failed to turn vibrator off (%d): %s", errno, strerror(errno));
-        return Status::UNKNOWN_ERROR;
-    }
-    return Status::OK;
-}
-
-Return<bool> Vibrator::supportsAmplitudeControl() {
-    return (mHwApi.rtpInput ? true : false);
-}
-
-Return<Status> Vibrator::setAmplitude(uint8_t amplitude) {
-    if (amplitude == 0) {
-        return Status::BAD_VALUE;
-    }
-
-    int32_t rtp_input =
-        std::round((amplitude - 1) / 254.0 * (MAX_RTP_INPUT - MIN_RTP_INPUT) + MIN_RTP_INPUT);
-
-    mHwApi.rtpInput << rtp_input << std::endl;
-    if (!mHwApi.rtpInput) {
-        ALOGE("Failed to set amplitude (%d): %s", errno, strerror(errno));
-        return Status::UNKNOWN_ERROR;
-    }
-
-    return Status::OK;
-}
-
-static uint8_t convertEffectStrength(EffectStrength strength) {
-    uint8_t scale;
-
-    switch (strength) {
-        case EffectStrength::LIGHT:
-            scale = 2;  // 50%
-            break;
-        case EffectStrength::MEDIUM:
-        case EffectStrength::STRONG:
-            scale = 0;  // 100%
-            break;
-    }
-
-    return scale;
-}
-
-Return<void> Vibrator::perform(V1_0::Effect effect, EffectStrength strength, perform_cb _hidl_cb) {
-    return performWrapper(effect, strength, _hidl_cb);
-}
-
-Return<void> Vibrator::perform_1_1(V1_1::Effect_1_1 effect, EffectStrength strength,
-                                   perform_cb _hidl_cb) {
-    return performWrapper(effect, strength, _hidl_cb);
-}
-
-Return<void> Vibrator::perform_1_2(Effect effect, EffectStrength strength, perform_cb _hidl_cb) {
-    return performWrapper(effect, strength, _hidl_cb);
-}
-
-template <typename T>
-Return<void> Vibrator::performWrapper(T effect, EffectStrength strength, perform_cb _hidl_cb) {
-    auto validEffectRange = hidl_enum_range<T>();
-    if (effect < *validEffectRange.begin() || effect > *std::prev(validEffectRange.end())) {
-        _hidl_cb(Status::UNSUPPORTED_OPERATION, 0);
-        return Void();
-    }
-    auto validStrengthRange = hidl_enum_range<EffectStrength>();
-    if (strength < *validStrengthRange.begin() || strength > *std::prev(validStrengthRange.end())) {
-        _hidl_cb(Status::UNSUPPORTED_OPERATION, 0);
-        return Void();
-    }
-    return performEffect(static_cast<Effect>(effect), strength, _hidl_cb);
-}
-
-Return<void> Vibrator::performEffect(Effect effect, EffectStrength strength, perform_cb _hidl_cb) {
-    Status status = Status::OK;
-    uint32_t timeMS;
-
-    switch (effect) {
-        case Effect::CLICK:
-            mHwApi.sequencer << WAVEFORM_CLICK_EFFECT_SEQ << std::endl;
-            timeMS = mClickDuration;
-            break;
-        case Effect::DOUBLE_CLICK:
-            mHwApi.sequencer << WAVEFORM_DOUBLE_CLICK_EFFECT_SEQ << std::endl;
-            timeMS = WAVEFORM_DOUBLE_CLICK_EFFECT_MS;
-            break;
-        case Effect::TICK:
-            mHwApi.sequencer << WAVEFORM_TICK_EFFECT_SEQ << std::endl;
-            timeMS = mTickDuration;
-            break;
-        case Effect::HEAVY_CLICK:
-            mHwApi.sequencer << WAVEFORM_HEAVY_CLICK_EFFECT_SEQ << std::endl;
-            timeMS = mHeavyClickDuration;
-            break;
-        default:
-            _hidl_cb(Status::UNSUPPORTED_OPERATION, 0);
-            return Void();
-    }
-    mHwApi.scale << convertEffectStrength(strength) << std::endl;
-    on(timeMS, true /* isWaveform */);
-    _hidl_cb(status, timeMS);
-    return Void();
-}
-
-}  // namespace implementation
-}  // namespace V1_2
-}  // namespace vibrator
-}  // namespace hardware
-}  // namespace android
diff --git a/vibrator/Vibrator.h b/vibrator/Vibrator.h
deleted file mode 100644
index 08635cf..0000000
--- a/vibrator/Vibrator.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef ANDROID_HARDWARE_VIBRATOR_V1_2_VIBRATOR_H
-#define ANDROID_HARDWARE_VIBRATOR_V1_2_VIBRATOR_H
-
-#include <android/hardware/vibrator/1.2/IVibrator.h>
-#include <hidl/Status.h>
-
-#include <fstream>
-
-namespace android {
-namespace hardware {
-namespace vibrator {
-namespace V1_2 {
-namespace implementation {
-
-class Vibrator : public IVibrator {
-  public:
-    typedef struct {
-        std::ofstream activate;
-        std::ofstream ctrlLoop;
-        std::ofstream duration;
-        std::ofstream lpTriggerEffect;
-        std::ofstream lraWaveShape;
-        std::ofstream mode;
-        std::ofstream odClamp;
-        std::ofstream olLraPeriod;
-        std::ofstream rtpInput;
-        std::ofstream scale;
-        std::ofstream sequencer;
-        std::ofstream state;
-    } HwApi;
-
-  public:
-    Vibrator(HwApi &&hwapi, std::uint32_t short_lra_period, std::uint32_t long_lra_period);
-
-    // Methods from ::android::hardware::vibrator::V1_0::IVibrator follow.
-    using Status = ::android::hardware::vibrator::V1_0::Status;
-    Return<Status> on(uint32_t timeoutMs) override;
-    Return<Status> off() override;
-    Return<bool> supportsAmplitudeControl() override;
-    Return<Status> setAmplitude(uint8_t amplitude) override;
-
-    using EffectStrength = ::android::hardware::vibrator::V1_0::EffectStrength;
-    Return<void> perform(V1_0::Effect effect, EffectStrength strength,
-                         perform_cb _hidl_cb) override;
-    Return<void> perform_1_1(V1_1::Effect_1_1 effect, EffectStrength strength,
-                             perform_cb _hidl_cb) override;
-    Return<void> perform_1_2(Effect effect, EffectStrength strength, perform_cb _hidl_cb) override;
-
-  private:
-    Return<Status> on(uint32_t timeoutMs, bool isWaveform);
-    template <typename T>
-    Return<void> performWrapper(T effect, EffectStrength strength, perform_cb _hidl_cb);
-    Return<void> performEffect(Effect effect, EffectStrength strength, perform_cb _hidl_cb);
-    HwApi mHwApi;
-    std::uint32_t mShortLraPeriod;
-    std::uint32_t mLongLraPeriod;
-    int32_t mClickDuration;
-    int32_t mTickDuration;
-    int32_t mHeavyClickDuration;
-    int32_t mShortVoltageMax;
-    int32_t mLongVoltageMax;
-};
-}  // namespace implementation
-}  // namespace V1_2
-}  // namespace vibrator
-}  // namespace hardware
-}  // namespace android
-
-#endif  // ANDROID_HARDWARE_VIBRATOR_V1_2_VIBRATOR_H
diff --git a/vibrator/android.hardware.vibrator@1.2-service.bonito.rc b/vibrator/android.hardware.vibrator@1.2-service.bonito.rc
deleted file mode 100644
index b47bee8..0000000
--- a/vibrator/android.hardware.vibrator@1.2-service.bonito.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service vendor.vibrator-1-2 /vendor/bin/hw/android.hardware.vibrator@1.2-service.bonito
-    class hal
-    user system
-    group system
diff --git a/vibrator/service.cpp b/vibrator/service.cpp
deleted file mode 100644
index b090420..0000000
--- a/vibrator/service.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#define LOG_TAG "android.hardware.vibrator@1.2-service.bonito"
-
-#include <android/hardware/vibrator/1.2/IVibrator.h>
-#include <cutils/properties.h>
-#include <hidl/HidlSupport.h>
-#include <hidl/HidlTransportSupport.h>
-#include <utils/Errors.h>
-#include <utils/StrongPointer.h>
-
-#include "Vibrator.h"
-
-using android::hardware::configureRpcThreadpool;
-using android::hardware::joinRpcThreadpool;
-using android::hardware::vibrator::V1_2::IVibrator;
-using android::hardware::vibrator::V1_2::implementation::Vibrator;
-using namespace android;
-
-// Refer to Documentation/ABI/testing/sysfs-class-led-driver-drv2624
-// kernel documentation on the detail usages for ABIs below
-static constexpr char ACTIVATE_PATH[] = "/sys/class/leds/vibrator/activate";
-static constexpr char DURATION_PATH[] = "/sys/class/leds/vibrator/duration";
-static constexpr char STATE_PATH[] = "/sys/class/leds/vibrator/state";
-static constexpr char RTP_INPUT_PATH[] = "/sys/class/leds/vibrator/device/rtp_input";
-static constexpr char MODE_PATH[] = "/sys/class/leds/vibrator/device/mode";
-static constexpr char SEQUENCER_PATH[] = "/sys/class/leds/vibrator/device/set_sequencer";
-static constexpr char SCALE_PATH[] = "/sys/class/leds/vibrator/device/scale";
-static constexpr char CTRL_LOOP_PATH[] = "/sys/class/leds/vibrator/device/ctrl_loop";
-static constexpr char LP_TRIGGER_PATH[] = "/sys/class/leds/vibrator/device/lp_trigger_effect";
-static constexpr char LRA_WAVE_SHAPE_PATH[] = "/sys/class/leds/vibrator/device/lra_wave_shape";
-static constexpr char OD_CLAMP_PATH[] = "/sys/class/leds/vibrator/device/od_clamp";
-
-// File path to the calibration file
-static constexpr char CALIBRATION_FILEPATH[] = "/persist/haptics/drv2624.cal";
-
-// Kernel ABIs for updating the calibration data
-static constexpr char AUTOCAL_CONFIG[] = "autocal";
-static constexpr char LRA_PERIOD_CONFIG[] = "lra_period";
-static constexpr char AUTOCAL_FILEPATH[] = "/sys/class/leds/vibrator/device/autocal";
-static constexpr char OL_LRA_PERIOD_FILEPATH[] = "/sys/class/leds/vibrator/device/ol_lra_period";
-
-// Set a default lra period in case there is no calibration file
-static constexpr uint32_t DEFAULT_LRA_PERIOD = 262;
-static constexpr uint32_t DEFAULT_FREQUENCY_SHIFT = 10;
-
-static std::uint32_t freqPeriodFormula(std::uint32_t in) {
-    return 1000000000 / (24615 * in);
-}
-
-static std::string trim(const std::string &str, const std::string &whitespace = " \t") {
-    const auto str_begin = str.find_first_not_of(whitespace);
-    if (str_begin == std::string::npos) {
-        return "";
-    }
-
-    const auto str_end = str.find_last_not_of(whitespace);
-    const auto str_range = str_end - str_begin + 1;
-
-    return str.substr(str_begin, str_range);
-}
-
-static bool loadCalibrationData(std::uint32_t &short_lra_period, std::uint32_t &long_lra_period) {
-    std::map<std::string, std::string> config_data;
-
-    std::ofstream autocal{AUTOCAL_FILEPATH};
-    if (!autocal) {
-        int error = errno;
-        ALOGE("Failed to open %s (%d): %s", AUTOCAL_FILEPATH, error, strerror(error));
-        return false;
-    }
-
-    std::ofstream ol_lra_period{OL_LRA_PERIOD_FILEPATH};
-    if (!ol_lra_period) {
-        int error = errno;
-        ALOGE("Failed to open %s (%d): %s", OL_LRA_PERIOD_FILEPATH, error, strerror(error));
-        return false;
-    }
-
-    std::ifstream cal_data{CALIBRATION_FILEPATH};
-    if (!cal_data) {
-        int error = errno;
-        ALOGE("Failed to open %s (%d): %s", CALIBRATION_FILEPATH, error, strerror(error));
-        return false;
-    }
-
-    std::string line;
-
-    while (std::getline(cal_data, line)) {
-        if (line.empty() || line[0] == '#') {
-            continue;
-        }
-        std::istringstream is_line(line);
-        std::string key;
-        if (std::getline(is_line, key, ':')) {
-            std::string value;
-
-            if (std::getline(is_line, value)) {
-                config_data[trim(key)] = trim(value);
-            }
-        }
-    }
-
-    if (config_data.find(AUTOCAL_CONFIG) != config_data.end()) {
-        autocal << config_data[AUTOCAL_CONFIG] << std::endl;
-    }
-
-    if (config_data.find(LRA_PERIOD_CONFIG) != config_data.end()) {
-        uint32_t thisFrequency;
-        uint32_t thisPeriod;
-        ol_lra_period << config_data[LRA_PERIOD_CONFIG] << std::endl;
-        thisPeriod = std::stoul(config_data[LRA_PERIOD_CONFIG]);
-        short_lra_period = thisPeriod;
-        // 1. Change long lra period to frequency
-        // 2. Get frequency': subtract the frequency shift from the frequency
-        // 3. Get final long lra period after put the frequency' to formula
-        thisFrequency =
-            freqPeriodFormula(thisPeriod) -
-            property_get_int32("ro.vibrator.hal.long.frequency.shift", DEFAULT_FREQUENCY_SHIFT);
-        long_lra_period = freqPeriodFormula(thisFrequency);
-    }
-
-    return true;
-}
-
-status_t registerVibratorService() {
-    // Calibration data: lra period 262(i.e. 155Hz)
-    std::uint32_t short_lra_period(DEFAULT_LRA_PERIOD);
-    std::uint32_t long_lra_period(DEFAULT_LRA_PERIOD);
-    Vibrator::HwApi hwapi;
-
-    // ostreams below are required
-    hwapi.activate.open(ACTIVATE_PATH);
-    if (!hwapi.activate) {
-        int error = errno;
-        ALOGE("Failed to open %s (%d): %s", ACTIVATE_PATH, error, strerror(error));
-        return -error;
-    }
-
-    hwapi.duration.open(DURATION_PATH);
-    if (!hwapi.duration) {
-        int error = errno;
-        ALOGE("Failed to open %s (%d): %s", DURATION_PATH, error, strerror(error));
-        return -error;
-    }
-
-    hwapi.state.open(STATE_PATH);
-    if (!hwapi.state) {
-        int error = errno;
-        ALOGE("Failed to open %s (%d): %s", STATE_PATH, error, strerror(error));
-        return -error;
-    }
-
-    hwapi.state << 1 << std::endl;
-    if (!hwapi.state) {
-        int error = errno;
-        ALOGE("Failed to set state (%d): %s", errno, strerror(errno));
-        return -error;
-    }
-
-    // ostreams below are optional
-    hwapi.rtpInput.open(RTP_INPUT_PATH);
-    if (!hwapi.rtpInput) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", RTP_INPUT_PATH, error, strerror(error));
-    }
-
-    hwapi.mode.open(MODE_PATH);
-    if (!hwapi.mode) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", MODE_PATH, error, strerror(error));
-    }
-
-    hwapi.sequencer.open(SEQUENCER_PATH);
-    if (!hwapi.sequencer) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", SEQUENCER_PATH, error, strerror(error));
-    }
-
-    hwapi.scale.open(SCALE_PATH);
-    if (!hwapi.scale) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", SCALE_PATH, error, strerror(error));
-    }
-
-    hwapi.ctrlLoop.open(CTRL_LOOP_PATH);
-    if (!hwapi.ctrlLoop) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", CTRL_LOOP_PATH, error, strerror(error));
-    }
-
-    hwapi.lpTriggerEffect.open(LP_TRIGGER_PATH);
-    if (!hwapi.lpTriggerEffect) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", LP_TRIGGER_PATH, error, strerror(error));
-    }
-
-    hwapi.lraWaveShape.open(LRA_WAVE_SHAPE_PATH);
-    if (!hwapi.lraWaveShape) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", LRA_WAVE_SHAPE_PATH, error, strerror(error));
-    }
-
-    hwapi.odClamp.open(OD_CLAMP_PATH);
-    if (!hwapi.odClamp) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", OD_CLAMP_PATH, error, strerror(error));
-    }
-
-    hwapi.olLraPeriod.open(OL_LRA_PERIOD_FILEPATH);
-    if (!hwapi.olLraPeriod) {
-        int error = errno;
-        ALOGW("Failed to open %s (%d): %s", OL_LRA_PERIOD_FILEPATH, error, strerror(error));
-    }
-
-    if (!loadCalibrationData(short_lra_period, long_lra_period)) {
-        ALOGW("Failed load calibration data");
-    }
-
-    sp<IVibrator> vibrator = new Vibrator(std::move(hwapi), short_lra_period, long_lra_period);
-
-    return vibrator->registerAsService();
-}
-
-int main() {
-    configureRpcThreadpool(1, true);
-    status_t status = registerVibratorService();
-
-    if (status != OK) {
-        return status;
-    }
-
-    joinRpcThreadpool();
-}
diff --git a/vr/Android.bp b/vr/Android.bp
deleted file mode 100644
index 952338e..0000000
--- a/vr/Android.bp
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// Copyright (C) 2017 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-cc_binary {
-    name: "android.hardware.vr@1.0-service.bonito",
-    relative_install_path: "hw",
-    init_rc: ["android.hardware.vr@1.0-service.bonito.rc"],
-    srcs: ["service.cpp", "VrDevice.cpp"],
-    cflags: ["-Werror", "-Wall"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "liblog",
-        "libutils",
-        "android.hardware.vr@1.0",
-    ],
-    proprietary: true,
-}
diff --git a/vr/NOTICE b/vr/NOTICE
deleted file mode 100644
index 667db97..0000000
--- a/vr/NOTICE
+++ /dev/null
@@ -1,10 +0,0 @@
-Copyright (C) 2017 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/vr/VrDevice.cpp b/vr/VrDevice.cpp
deleted file mode 100644
index dc8f3d7..0000000
--- a/vr/VrDevice.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "VrDevice"
-
-#include <android-base/file.h>
-#include <android-base/logging.h>
-#include <android-base/properties.h>
-#include <android-base/stringprintf.h>
-
-#include "VrDevice.h"
-
-namespace android {
-namespace hardware {
-namespace vr {
-namespace V1_0 {
-namespace implementation {
-
-VrDevice::VrDevice() : mVRmode(false) {}
-
-Return<void> VrDevice::init() {
-    // NOOP
-    return Void();
-}
-
-Return<void> VrDevice::setVrMode(bool enabled) {
-    std::string hwProp = android::base::GetProperty("ro.hardware", "default");
-    std::string vrMode = enabled ? "-vr" : "";
-    std::string thermalConf = "/vendor/etc/thermal-engine-" + hwProp + vrMode + ".conf";
-    mVRmode = enabled;
-
-    if (!android::base::SetProperty("vendor.sys.qcom.thermalcfg", thermalConf)) {
-        LOG(ERROR) << "Couldn't set vendor.sys.qcom.thermalcfg to " << thermalConf;
-        return Void();
-    }
-    if (!android::base::SetProperty("ctl.restart", "vendor.thermal-engine")) {
-        LOG(ERROR) << "Couldn't set thermal_engine restart property";
-    }
-    return Void();
-}
-
-Return<void> VrDevice::debug(const hidl_handle& handle, const hidl_vec<hidl_string>&) {
-    if (handle != nullptr && handle->numFds >= 1) {
-        int fd = handle->data[0];
-        std::string buf(android::base::StringPrintf("VRMode: %s\n",
-                                                    (mVRmode ? "true" : "false")));
-        if (!android::base::WriteStringToFd(buf, fd)) {
-            PLOG(ERROR) << "Failed to dump state to fd";
-        }
-        fsync(fd);
-    }
-    return Void();
-}
-
-}  // namespace implementation
-}  // namespace V1_0
-}  // namespace vr
-}  // namespace hardware
-}  // namespace android
diff --git a/vr/VrDevice.h b/vr/VrDevice.h
deleted file mode 100644
index f5f1210..0000000
--- a/vr/VrDevice.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef ANDROID_HARDWARE_VR_V1_0_VR_H
-#define ANDROID_HARDWARE_VR_V1_0_VR_H
-
-#include <android/hardware/vr/1.0/IVr.h>
-
-namespace android {
-namespace hardware {
-namespace vr {
-namespace V1_0 {
-namespace implementation {
-
-using ::android::hardware::vr::V1_0::IVr;
-using ::android::hardware::Return;
-
-class VrDevice : public IVr {
-  public:
-    VrDevice();
-
-    Return<void> init()  override;
-    Return<void> setVrMode(bool enabled)  override;
-    Return<void> debug(const hidl_handle& handle, const hidl_vec<hidl_string>&)  override;
-
-  private:
-    bool mVRmode;
-};
-
-}  // namespace implementation
-}  // namespace V1_0
-}  // namespace vr
-}  // namespace hardware
-}  // namespace android
-
-#endif  // ANDROID_HARDWARE_VR_V1_0_VR_H
diff --git a/vr/android.hardware.vr@1.0-service.bonito.rc b/vr/android.hardware.vr@1.0-service.bonito.rc
deleted file mode 100644
index c546021..0000000
--- a/vr/android.hardware.vr@1.0-service.bonito.rc
+++ /dev/null
@@ -1,9 +0,0 @@
-service vendor.vr-bonito-1-0 /vendor/bin/hw/android.hardware.vr@1.0-service.bonito
-    class hal
-    user system
-    group system
-
-# reset thermal-engine when framework died and thermal-engine is in VR mode
-on property:init.svc.zygote=restarting && property:vendor.sys.qcom.thermalcfg=/vendor/etc/thermal-engine-${ro.hardware}-vr.conf
-   setprop vendor.sys.qcom.thermalcfg /vendor/etc/thermal-engine-${ro.hardware}.conf
-   restart vendor.thermal-engine
diff --git a/vr/service.cpp b/vr/service.cpp
deleted file mode 100644
index 1ff9cdf..0000000
--- a/vr/service.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#define LOG_TAG "android.hardware.vr@1.0-service.bonito"
-
-#include <android-base/logging.h>
-#include <hidl/HidlSupport.h>
-#include <hidl/HidlTransportSupport.h>
-#include <utils/StrongPointer.h>
-
-#include "VrDevice.h"
-
-using ::android::hardware::configureRpcThreadpool;
-using ::android::hardware::joinRpcThreadpool;
-using ::android::hardware::vr::V1_0::implementation::VrDevice;
-using ::android::hardware::vr::V1_0::IVr;
-using ::android::sp;
-
-int main(int /* argc */, char* /* argv */ []) {
-    sp<IVr> vr = new VrDevice;
-    configureRpcThreadpool(1, true);
-    CHECK_EQ(vr->registerAsService(), android::NO_ERROR)
-            << "Failed to register vr HAL";
-    joinRpcThreadpool();
-    return 0;
-}
diff --git a/wpa_supplicant_overlay.conf b/wpa_supplicant_overlay.conf
index 3ac13d1..e63a4bb 100644
--- a/wpa_supplicant_overlay.conf
+++ b/wpa_supplicant_overlay.conf
@@ -4,3 +4,4 @@
 wowlan_triggers=magic_pkt
 bss_max_count=512
 bss_no_flush_when_down=1
+driver_param=use_p2p_group_interface=1