Merge changes from topic "b37280010"

* changes:
  fused_location.h: vendor-only
  Add include/hardware/*.h symlinks.
  Split up headers.
diff --git a/Android.bp b/Android.bp
index 6baab68..70d76fa 100644
--- a/Android.bp
+++ b/Android.bp
@@ -32,6 +32,7 @@
 
 cc_library_headers {
     name: "libhardware_headers",
+
     header_libs: [
         "libaudio_system_headers",
         "libsystem_headers",
@@ -45,11 +46,22 @@
         "libbluetooth-types-header",
     ],
 
-    export_include_dirs: ["include"],
     recovery_available: true,
     vendor_available: true,
     // TODO(b/153609531): remove when no longer needed.
     native_bridge_supported: true,
+
+    // There are three include directories currently:
+    // - include: this directory is the original location of libhardware headers. It is globally
+    //       available (even if you do not depend on libhardware). Many locations also use
+    //       LOCAL_C_INCLUDES or include_dirs to access these from a global namespace. These processes
+    //       should replace this dependency with a direct dependency on libhardware(_headers)?.
+    // - include_all: this directory is for system and vendor include files. Gradually, the number of
+    //       files here should be reduced to 0 by moving them to vendor as old code is phased out.
+    // - include_vendor: this directory is the current designated resting place for these headers.
+    //       They are kept around to try to help insure existing codebases can function.
+    export_include_dirs: ["include_all"],
+
     target: {
         recovery: {
             exclude_header_libs: [
@@ -60,6 +72,12 @@
         windows: {
             enabled: true,
         },
+        vendor: {
+            override_export_include_dirs: [
+                "include_all",
+                "include_vendor",
+            ],
+        },
     },
     apex_available: [
         "//apex_available:platform",
diff --git a/include/hardware/activity_recognition.h b/include/hardware/activity_recognition.h
new file mode 120000
index 0000000..b1d4fbe
--- /dev/null
+++ b/include/hardware/activity_recognition.h
@@ -0,0 +1 @@
+../../include_all/hardware/activity_recognition.h
\ No newline at end of file
diff --git a/include/hardware/audio.h b/include/hardware/audio.h
new file mode 120000
index 0000000..7e25631
--- /dev/null
+++ b/include/hardware/audio.h
@@ -0,0 +1 @@
+../../include_all/hardware/audio.h
\ No newline at end of file
diff --git a/include/hardware/audio_alsaops.h b/include/hardware/audio_alsaops.h
new file mode 120000
index 0000000..a3087d2
--- /dev/null
+++ b/include/hardware/audio_alsaops.h
@@ -0,0 +1 @@
+../../include_all/hardware/audio_alsaops.h
\ No newline at end of file
diff --git a/include/hardware/audio_effect.h b/include/hardware/audio_effect.h
new file mode 120000
index 0000000..e557a2d
--- /dev/null
+++ b/include/hardware/audio_effect.h
@@ -0,0 +1 @@
+../../include_all/hardware/audio_effect.h
\ No newline at end of file
diff --git a/include/hardware/audio_policy.h b/include/hardware/audio_policy.h
new file mode 120000
index 0000000..d9dca23
--- /dev/null
+++ b/include/hardware/audio_policy.h
@@ -0,0 +1 @@
+../../include_all/hardware/audio_policy.h
\ No newline at end of file
diff --git a/include/hardware/bluetooth.h b/include/hardware/bluetooth.h
new file mode 120000
index 0000000..bcd8225
--- /dev/null
+++ b/include/hardware/bluetooth.h
@@ -0,0 +1 @@
+../../include_all/hardware/bluetooth.h
\ No newline at end of file
diff --git a/include/hardware/boot_control.h b/include/hardware/boot_control.h
new file mode 120000
index 0000000..a514282
--- /dev/null
+++ b/include/hardware/boot_control.h
@@ -0,0 +1 @@
+../../include_all/hardware/boot_control.h
\ No newline at end of file
diff --git a/include/hardware/camera.h b/include/hardware/camera.h
new file mode 120000
index 0000000..2f56bc8
--- /dev/null
+++ b/include/hardware/camera.h
@@ -0,0 +1 @@
+../../include_all/hardware/camera.h
\ No newline at end of file
diff --git a/include/hardware/camera2.h b/include/hardware/camera2.h
new file mode 120000
index 0000000..6edb861
--- /dev/null
+++ b/include/hardware/camera2.h
@@ -0,0 +1 @@
+../../include_all/hardware/camera2.h
\ No newline at end of file
diff --git a/include/hardware/camera3.h b/include/hardware/camera3.h
new file mode 120000
index 0000000..10676a9
--- /dev/null
+++ b/include/hardware/camera3.h
@@ -0,0 +1 @@
+../../include_all/hardware/camera3.h
\ No newline at end of file
diff --git a/include/hardware/camera_common.h b/include/hardware/camera_common.h
new file mode 120000
index 0000000..359395a
--- /dev/null
+++ b/include/hardware/camera_common.h
@@ -0,0 +1 @@
+../../include_all/hardware/camera_common.h
\ No newline at end of file
diff --git a/include/hardware/consumerir.h b/include/hardware/consumerir.h
new file mode 120000
index 0000000..bde1d55
--- /dev/null
+++ b/include/hardware/consumerir.h
@@ -0,0 +1 @@
+../../include_all/hardware/consumerir.h
\ No newline at end of file
diff --git a/include/hardware/context_hub.h b/include/hardware/context_hub.h
new file mode 120000
index 0000000..3f06d0a
--- /dev/null
+++ b/include/hardware/context_hub.h
@@ -0,0 +1 @@
+../../include_all/hardware/context_hub.h
\ No newline at end of file
diff --git a/include/hardware/fb.h b/include/hardware/fb.h
new file mode 120000
index 0000000..4606b50
--- /dev/null
+++ b/include/hardware/fb.h
@@ -0,0 +1 @@
+../../include_all/hardware/fb.h
\ No newline at end of file
diff --git a/include/hardware/fingerprint.h b/include/hardware/fingerprint.h
new file mode 120000
index 0000000..6510889
--- /dev/null
+++ b/include/hardware/fingerprint.h
@@ -0,0 +1 @@
+../../include_all/hardware/fingerprint.h
\ No newline at end of file
diff --git a/include/hardware/gatekeeper.h b/include/hardware/gatekeeper.h
new file mode 120000
index 0000000..e186e3c
--- /dev/null
+++ b/include/hardware/gatekeeper.h
@@ -0,0 +1 @@
+../../include_all/hardware/gatekeeper.h
\ No newline at end of file
diff --git a/include/hardware/gnss-base.h b/include/hardware/gnss-base.h
new file mode 120000
index 0000000..c17eed7
--- /dev/null
+++ b/include/hardware/gnss-base.h
@@ -0,0 +1 @@
+../../include_all/hardware/gnss-base.h
\ No newline at end of file
diff --git a/include/hardware/gps.h b/include/hardware/gps.h
new file mode 120000
index 0000000..19b8cd3
--- /dev/null
+++ b/include/hardware/gps.h
@@ -0,0 +1 @@
+../../include_all/hardware/gps.h
\ No newline at end of file
diff --git a/include/hardware/gps_internal.h b/include/hardware/gps_internal.h
new file mode 120000
index 0000000..7ae93d6
--- /dev/null
+++ b/include/hardware/gps_internal.h
@@ -0,0 +1 @@
+../../include_all/hardware/gps_internal.h
\ No newline at end of file
diff --git a/include/hardware/gralloc.h b/include/hardware/gralloc.h
new file mode 120000
index 0000000..7842f87
--- /dev/null
+++ b/include/hardware/gralloc.h
@@ -0,0 +1 @@
+../../include_all/hardware/gralloc.h
\ No newline at end of file
diff --git a/include/hardware/gralloc1.h b/include/hardware/gralloc1.h
new file mode 120000
index 0000000..9529fc3
--- /dev/null
+++ b/include/hardware/gralloc1.h
@@ -0,0 +1 @@
+../../include_all/hardware/gralloc1.h
\ No newline at end of file
diff --git a/include/hardware/hardware.h b/include/hardware/hardware.h
new file mode 120000
index 0000000..dd9251a
--- /dev/null
+++ b/include/hardware/hardware.h
@@ -0,0 +1 @@
+../../include_all/hardware/hardware.h
\ No newline at end of file
diff --git a/include/hardware/hdmi_cec.h b/include/hardware/hdmi_cec.h
new file mode 120000
index 0000000..9b40a10
--- /dev/null
+++ b/include/hardware/hdmi_cec.h
@@ -0,0 +1 @@
+../../include_all/hardware/hdmi_cec.h
\ No newline at end of file
diff --git a/include/hardware/hw_auth_token.h b/include/hardware/hw_auth_token.h
new file mode 120000
index 0000000..dba2b12
--- /dev/null
+++ b/include/hardware/hw_auth_token.h
@@ -0,0 +1 @@
+../../include_all/hardware/hw_auth_token.h
\ No newline at end of file
diff --git a/include/hardware/hwcomposer.h b/include/hardware/hwcomposer.h
new file mode 120000
index 0000000..48b8766
--- /dev/null
+++ b/include/hardware/hwcomposer.h
@@ -0,0 +1 @@
+../../include_all/hardware/hwcomposer.h
\ No newline at end of file
diff --git a/include/hardware/hwcomposer2.h b/include/hardware/hwcomposer2.h
new file mode 120000
index 0000000..f1b1b80
--- /dev/null
+++ b/include/hardware/hwcomposer2.h
@@ -0,0 +1 @@
+../../include_all/hardware/hwcomposer2.h
\ No newline at end of file
diff --git a/include/hardware/hwcomposer_defs.h b/include/hardware/hwcomposer_defs.h
new file mode 120000
index 0000000..b742cce
--- /dev/null
+++ b/include/hardware/hwcomposer_defs.h
@@ -0,0 +1 @@
+../../include_all/hardware/hwcomposer_defs.h
\ No newline at end of file
diff --git a/include/hardware/input.h b/include/hardware/input.h
new file mode 120000
index 0000000..82154a2
--- /dev/null
+++ b/include/hardware/input.h
@@ -0,0 +1 @@
+../../include_all/hardware/input.h
\ No newline at end of file
diff --git a/include/hardware/keymaster1.h b/include/hardware/keymaster1.h
new file mode 120000
index 0000000..89c9526
--- /dev/null
+++ b/include/hardware/keymaster1.h
@@ -0,0 +1 @@
+../../include_all/hardware/keymaster1.h
\ No newline at end of file
diff --git a/include/hardware/keymaster2.h b/include/hardware/keymaster2.h
new file mode 120000
index 0000000..1f23c5e
--- /dev/null
+++ b/include/hardware/keymaster2.h
@@ -0,0 +1 @@
+../../include_all/hardware/keymaster2.h
\ No newline at end of file
diff --git a/include/hardware/keymaster_common.h b/include/hardware/keymaster_common.h
new file mode 120000
index 0000000..b2033fb
--- /dev/null
+++ b/include/hardware/keymaster_common.h
@@ -0,0 +1 @@
+../../include_all/hardware/keymaster_common.h
\ No newline at end of file
diff --git a/include/hardware/keymaster_defs.h b/include/hardware/keymaster_defs.h
new file mode 120000
index 0000000..18abd60
--- /dev/null
+++ b/include/hardware/keymaster_defs.h
@@ -0,0 +1 @@
+../../include_all/hardware/keymaster_defs.h
\ No newline at end of file
diff --git a/include/hardware/lights.h b/include/hardware/lights.h
new file mode 120000
index 0000000..3c75883
--- /dev/null
+++ b/include/hardware/lights.h
@@ -0,0 +1 @@
+../../include_all/hardware/lights.h
\ No newline at end of file
diff --git a/include/hardware/local_time_hal.h b/include/hardware/local_time_hal.h
new file mode 120000
index 0000000..27f4315
--- /dev/null
+++ b/include/hardware/local_time_hal.h
@@ -0,0 +1 @@
+../../include_all/hardware/local_time_hal.h
\ No newline at end of file
diff --git a/include/hardware/memtrack.h b/include/hardware/memtrack.h
new file mode 120000
index 0000000..3bc4448
--- /dev/null
+++ b/include/hardware/memtrack.h
@@ -0,0 +1 @@
+../../include_all/hardware/memtrack.h
\ No newline at end of file
diff --git a/include/hardware/nfc-base.h b/include/hardware/nfc-base.h
new file mode 120000
index 0000000..adb2d5d
--- /dev/null
+++ b/include/hardware/nfc-base.h
@@ -0,0 +1 @@
+../../include_all/hardware/nfc-base.h
\ No newline at end of file
diff --git a/include/hardware/nfc.h b/include/hardware/nfc.h
new file mode 120000
index 0000000..920dfd8
--- /dev/null
+++ b/include/hardware/nfc.h
@@ -0,0 +1 @@
+../../include_all/hardware/nfc.h
\ No newline at end of file
diff --git a/include/hardware/nfc_tag.h b/include/hardware/nfc_tag.h
new file mode 120000
index 0000000..3492557
--- /dev/null
+++ b/include/hardware/nfc_tag.h
@@ -0,0 +1 @@
+../../include_all/hardware/nfc_tag.h
\ No newline at end of file
diff --git a/include/hardware/nvram.h b/include/hardware/nvram.h
new file mode 120000
index 0000000..75be085
--- /dev/null
+++ b/include/hardware/nvram.h
@@ -0,0 +1 @@
+../../include_all/hardware/nvram.h
\ No newline at end of file
diff --git a/include/hardware/nvram_defs.h b/include/hardware/nvram_defs.h
new file mode 120000
index 0000000..2dca93b
--- /dev/null
+++ b/include/hardware/nvram_defs.h
@@ -0,0 +1 @@
+../../include_all/hardware/nvram_defs.h
\ No newline at end of file
diff --git a/include/hardware/power.h b/include/hardware/power.h
new file mode 120000
index 0000000..d51a922
--- /dev/null
+++ b/include/hardware/power.h
@@ -0,0 +1 @@
+../../include_all/hardware/power.h
\ No newline at end of file
diff --git a/include/hardware/radio.h b/include/hardware/radio.h
new file mode 120000
index 0000000..f9ad9d7
--- /dev/null
+++ b/include/hardware/radio.h
@@ -0,0 +1 @@
+../../include_all/hardware/radio.h
\ No newline at end of file
diff --git a/include/hardware/sensors-base.h b/include/hardware/sensors-base.h
new file mode 120000
index 0000000..b64751d
--- /dev/null
+++ b/include/hardware/sensors-base.h
@@ -0,0 +1 @@
+../../include_all/hardware/sensors-base.h
\ No newline at end of file
diff --git a/include/hardware/sensors.h b/include/hardware/sensors.h
new file mode 120000
index 0000000..28591f8
--- /dev/null
+++ b/include/hardware/sensors.h
@@ -0,0 +1 @@
+../../include_all/hardware/sensors.h
\ No newline at end of file
diff --git a/include/hardware/sound_trigger.h b/include/hardware/sound_trigger.h
new file mode 120000
index 0000000..0bd0d03
--- /dev/null
+++ b/include/hardware/sound_trigger.h
@@ -0,0 +1 @@
+../../include_all/hardware/sound_trigger.h
\ No newline at end of file
diff --git a/include/hardware/thermal.h b/include/hardware/thermal.h
new file mode 120000
index 0000000..d6b5270
--- /dev/null
+++ b/include/hardware/thermal.h
@@ -0,0 +1 @@
+../../include_all/hardware/thermal.h
\ No newline at end of file
diff --git a/include/hardware/tv_input.h b/include/hardware/tv_input.h
new file mode 120000
index 0000000..0c8780d
--- /dev/null
+++ b/include/hardware/tv_input.h
@@ -0,0 +1 @@
+../../include_all/hardware/tv_input.h
\ No newline at end of file
diff --git a/include/hardware/vibrator.h b/include/hardware/vibrator.h
new file mode 120000
index 0000000..423e53e
--- /dev/null
+++ b/include/hardware/vibrator.h
@@ -0,0 +1 @@
+../../include_all/hardware/vibrator.h
\ No newline at end of file
diff --git a/include/hardware/vr.h b/include/hardware/vr.h
new file mode 120000
index 0000000..fb20991
--- /dev/null
+++ b/include/hardware/vr.h
@@ -0,0 +1 @@
+../../include_all/hardware/vr.h
\ No newline at end of file
diff --git a/include/hardware/activity_recognition.h b/include_all/hardware/activity_recognition.h
similarity index 100%
rename from include/hardware/activity_recognition.h
rename to include_all/hardware/activity_recognition.h
diff --git a/include/hardware/audio.h b/include_all/hardware/audio.h
similarity index 100%
rename from include/hardware/audio.h
rename to include_all/hardware/audio.h
diff --git a/include/hardware/audio_alsaops.h b/include_all/hardware/audio_alsaops.h
similarity index 100%
rename from include/hardware/audio_alsaops.h
rename to include_all/hardware/audio_alsaops.h
diff --git a/include/hardware/audio_effect.h b/include_all/hardware/audio_effect.h
similarity index 100%
rename from include/hardware/audio_effect.h
rename to include_all/hardware/audio_effect.h
diff --git a/include/hardware/audio_policy.h b/include_all/hardware/audio_policy.h
similarity index 100%
rename from include/hardware/audio_policy.h
rename to include_all/hardware/audio_policy.h
diff --git a/include/hardware/bluetooth.h b/include_all/hardware/bluetooth.h
similarity index 100%
rename from include/hardware/bluetooth.h
rename to include_all/hardware/bluetooth.h
diff --git a/include/hardware/boot_control.h b/include_all/hardware/boot_control.h
similarity index 100%
rename from include/hardware/boot_control.h
rename to include_all/hardware/boot_control.h
diff --git a/include/hardware/camera.h b/include_all/hardware/camera.h
similarity index 100%
rename from include/hardware/camera.h
rename to include_all/hardware/camera.h
diff --git a/include/hardware/camera2.h b/include_all/hardware/camera2.h
similarity index 100%
rename from include/hardware/camera2.h
rename to include_all/hardware/camera2.h
diff --git a/include/hardware/camera3.h b/include_all/hardware/camera3.h
similarity index 100%
rename from include/hardware/camera3.h
rename to include_all/hardware/camera3.h
diff --git a/include/hardware/camera_common.h b/include_all/hardware/camera_common.h
similarity index 100%
rename from include/hardware/camera_common.h
rename to include_all/hardware/camera_common.h
diff --git a/include/hardware/consumerir.h b/include_all/hardware/consumerir.h
similarity index 100%
rename from include/hardware/consumerir.h
rename to include_all/hardware/consumerir.h
diff --git a/include/hardware/context_hub.h b/include_all/hardware/context_hub.h
similarity index 100%
rename from include/hardware/context_hub.h
rename to include_all/hardware/context_hub.h
diff --git a/include/hardware/fb.h b/include_all/hardware/fb.h
similarity index 100%
rename from include/hardware/fb.h
rename to include_all/hardware/fb.h
diff --git a/include/hardware/fingerprint.h b/include_all/hardware/fingerprint.h
similarity index 100%
rename from include/hardware/fingerprint.h
rename to include_all/hardware/fingerprint.h
diff --git a/include/hardware/gatekeeper.h b/include_all/hardware/gatekeeper.h
similarity index 100%
rename from include/hardware/gatekeeper.h
rename to include_all/hardware/gatekeeper.h
diff --git a/include/hardware/gnss-base.h b/include_all/hardware/gnss-base.h
similarity index 100%
rename from include/hardware/gnss-base.h
rename to include_all/hardware/gnss-base.h
diff --git a/include/hardware/gps.h b/include_all/hardware/gps.h
similarity index 100%
rename from include/hardware/gps.h
rename to include_all/hardware/gps.h
diff --git a/include/hardware/gps_internal.h b/include_all/hardware/gps_internal.h
similarity index 100%
rename from include/hardware/gps_internal.h
rename to include_all/hardware/gps_internal.h
diff --git a/include/hardware/gralloc.h b/include_all/hardware/gralloc.h
similarity index 100%
rename from include/hardware/gralloc.h
rename to include_all/hardware/gralloc.h
diff --git a/include/hardware/gralloc1.h b/include_all/hardware/gralloc1.h
similarity index 100%
rename from include/hardware/gralloc1.h
rename to include_all/hardware/gralloc1.h
diff --git a/include/hardware/hardware.h b/include_all/hardware/hardware.h
similarity index 100%
rename from include/hardware/hardware.h
rename to include_all/hardware/hardware.h
diff --git a/include/hardware/hdmi_cec.h b/include_all/hardware/hdmi_cec.h
similarity index 100%
rename from include/hardware/hdmi_cec.h
rename to include_all/hardware/hdmi_cec.h
diff --git a/include/hardware/hw_auth_token.h b/include_all/hardware/hw_auth_token.h
similarity index 100%
rename from include/hardware/hw_auth_token.h
rename to include_all/hardware/hw_auth_token.h
diff --git a/include/hardware/hwcomposer.h b/include_all/hardware/hwcomposer.h
similarity index 100%
rename from include/hardware/hwcomposer.h
rename to include_all/hardware/hwcomposer.h
diff --git a/include/hardware/hwcomposer2.h b/include_all/hardware/hwcomposer2.h
similarity index 100%
rename from include/hardware/hwcomposer2.h
rename to include_all/hardware/hwcomposer2.h
diff --git a/include/hardware/hwcomposer_defs.h b/include_all/hardware/hwcomposer_defs.h
similarity index 100%
rename from include/hardware/hwcomposer_defs.h
rename to include_all/hardware/hwcomposer_defs.h
diff --git a/include/hardware/input.h b/include_all/hardware/input.h
similarity index 100%
rename from include/hardware/input.h
rename to include_all/hardware/input.h
diff --git a/include/hardware/keymaster1.h b/include_all/hardware/keymaster1.h
similarity index 100%
rename from include/hardware/keymaster1.h
rename to include_all/hardware/keymaster1.h
diff --git a/include/hardware/keymaster2.h b/include_all/hardware/keymaster2.h
similarity index 100%
rename from include/hardware/keymaster2.h
rename to include_all/hardware/keymaster2.h
diff --git a/include/hardware/keymaster_common.h b/include_all/hardware/keymaster_common.h
similarity index 100%
rename from include/hardware/keymaster_common.h
rename to include_all/hardware/keymaster_common.h
diff --git a/include/hardware/keymaster_defs.h b/include_all/hardware/keymaster_defs.h
similarity index 100%
rename from include/hardware/keymaster_defs.h
rename to include_all/hardware/keymaster_defs.h
diff --git a/include/hardware/lights.h b/include_all/hardware/lights.h
similarity index 100%
rename from include/hardware/lights.h
rename to include_all/hardware/lights.h
diff --git a/include/hardware/local_time_hal.h b/include_all/hardware/local_time_hal.h
similarity index 100%
rename from include/hardware/local_time_hal.h
rename to include_all/hardware/local_time_hal.h
diff --git a/include/hardware/memtrack.h b/include_all/hardware/memtrack.h
similarity index 100%
rename from include/hardware/memtrack.h
rename to include_all/hardware/memtrack.h
diff --git a/include/hardware/nfc-base.h b/include_all/hardware/nfc-base.h
similarity index 100%
rename from include/hardware/nfc-base.h
rename to include_all/hardware/nfc-base.h
diff --git a/include/hardware/nfc.h b/include_all/hardware/nfc.h
similarity index 100%
rename from include/hardware/nfc.h
rename to include_all/hardware/nfc.h
diff --git a/include/hardware/nfc_tag.h b/include_all/hardware/nfc_tag.h
similarity index 100%
rename from include/hardware/nfc_tag.h
rename to include_all/hardware/nfc_tag.h
diff --git a/include/hardware/nvram.h b/include_all/hardware/nvram.h
similarity index 100%
rename from include/hardware/nvram.h
rename to include_all/hardware/nvram.h
diff --git a/include/hardware/nvram_defs.h b/include_all/hardware/nvram_defs.h
similarity index 100%
rename from include/hardware/nvram_defs.h
rename to include_all/hardware/nvram_defs.h
diff --git a/include/hardware/power.h b/include_all/hardware/power.h
similarity index 100%
rename from include/hardware/power.h
rename to include_all/hardware/power.h
diff --git a/include/hardware/radio.h b/include_all/hardware/radio.h
similarity index 100%
rename from include/hardware/radio.h
rename to include_all/hardware/radio.h
diff --git a/include/hardware/sensors-base.h b/include_all/hardware/sensors-base.h
similarity index 100%
rename from include/hardware/sensors-base.h
rename to include_all/hardware/sensors-base.h
diff --git a/include/hardware/sensors.h b/include_all/hardware/sensors.h
similarity index 100%
rename from include/hardware/sensors.h
rename to include_all/hardware/sensors.h
diff --git a/include/hardware/sound_trigger.h b/include_all/hardware/sound_trigger.h
similarity index 100%
rename from include/hardware/sound_trigger.h
rename to include_all/hardware/sound_trigger.h
diff --git a/include/hardware/thermal.h b/include_all/hardware/thermal.h
similarity index 100%
rename from include/hardware/thermal.h
rename to include_all/hardware/thermal.h
diff --git a/include/hardware/tv_input.h b/include_all/hardware/tv_input.h
similarity index 100%
rename from include/hardware/tv_input.h
rename to include_all/hardware/tv_input.h
diff --git a/include/hardware/vibrator.h b/include_all/hardware/vibrator.h
similarity index 100%
rename from include/hardware/vibrator.h
rename to include_all/hardware/vibrator.h
diff --git a/include/hardware/vr.h b/include_all/hardware/vr.h
similarity index 100%
rename from include/hardware/vr.h
rename to include_all/hardware/vr.h
diff --git a/include/hardware/fused_location.h b/include_vendor/hardware/fused_location.h
similarity index 99%
rename from include/hardware/fused_location.h
rename to include_vendor/hardware/fused_location.h
index 550e193..d8cfc7b 100644
--- a/include/hardware/fused_location.h
+++ b/include_vendor/hardware/fused_location.h
@@ -19,7 +19,7 @@
 
 #include <hardware/hardware.h>
 
-#include "gnss-base.h"
+#include <hardware/gnss-base.h>
 
 /**
  * This header file defines the interface of the Fused Location Provider.
diff --git a/update-includes.sh b/update-includes.sh
new file mode 100755
index 0000000..92aafc9
--- /dev/null
+++ b/update-includes.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+set +ex
+
+if [ ! "$ANDROID_BUILD_TOP" ]; then
+    echo "lunch?"
+    exit 1
+fi
+
+function update-includes() {
+    find -L "$ANDROID_BUILD_TOP/hardware/libhardware/include/hardware" -maxdepth 1 -xtype l -exec rm {} \;
+
+    for f in $ANDROID_BUILD_TOP/hardware/libhardware/include_all/hardware/*; do
+        local bn="$(basename $f)"
+        ln -s "../../include_all/hardware/$bn" "$ANDROID_BUILD_TOP/hardware/libhardware/include/hardware/$bn"
+    done
+}
+
+update-includes