Revert "ISSUE 6849488 Bluedroid stack, remove system/bluetooth."

This reverts commit b620dc60b17a5abaf88e05c1872367bf5e9c416f.

(cherry picked from commit 128db96282d907ea2b81e7598d45bba68c33d472)

Change-Id: I21227e6232c925a42597e5c8fc0fcc0585d7a876
diff --git a/bluetoothd.te b/bluetoothd.te
new file mode 100644
index 0000000..640a1da
--- /dev/null
+++ b/bluetoothd.te
@@ -0,0 +1,10 @@
+# bluetoothd - bluetooth daemon
+type bluetoothd, domain;
+type bluetoothd_exec, exec_type, file_type;
+
+init_daemon_domain(bluetoothd)
+allow bluetoothd self:capability { setuid net_raw net_bind_service net_admin };
+allow bluetoothd self:socket *;
+allow bluetoothd bluetoothd_data_file:dir create_dir_perms;
+allow bluetoothd bluetoothd_data_file:file create_file_perms;
+unix_socket_connect(bluetoothd, dbus, dbusd)
diff --git a/file.te b/file.te
index 128a170..451ad1d 100644
--- a/file.te
+++ b/file.te
@@ -41,6 +41,7 @@
 # /data/gps
 type gps_data_file, file_type, data_file_type;
 # /data/misc subdirectories
+type bluetoothd_data_file, file_type, data_file_type;
 type bluetooth_data_file, file_type, data_file_type;
 type keystore_data_file, file_type, data_file_type;
 type vpn_data_file, file_type, data_file_type;
diff --git a/file_contexts b/file_contexts
index 05f8021..8876bfe 100644
--- a/file_contexts
+++ b/file_contexts
@@ -100,6 +100,7 @@
 /system/bin/installd	u:object_r:installd_exec:s0
 /system/bin/keystore	u:object_r:keystore_exec:s0
 /system/bin/debuggerd	u:object_r:debuggerd_exec:s0
+/system/bin/bluetoothd	u:object_r:bluetoothd_exec:s0
 /system/bin/wpa_supplicant	u:object_r:wpa_exec:s0
 /system/bin/qemud	u:object_r:qemud_exec:s0
 /system/bin/sdcard      u:object_r:sdcardd_exec:s0
@@ -124,6 +125,7 @@
 /data/tombstones(/.*)?	u:object_r:tombstone_data_file:s0
 /data/local(/.*)?	u:object_r:shell_data_file:s0
 # Misc data
+/data/misc/bluetoothd(/.*)?	u:object_r:bluetoothd_data_file:s0
 /data/misc/bluetooth(/.*)?	u:object_r:bluetooth_data_file:s0
 /data/misc/keystore(/.*)?	u:object_r:keystore_data_file:s0
 /data/misc/vpn(/.*)?		u:object_r:vpn_data_file:s0
diff --git a/system.te b/system.te
index 4c8c368..557a385 100644
--- a/system.te
+++ b/system.te
@@ -106,6 +106,7 @@
 unix_socket_connect(system, keystore, keystore)
 unix_socket_connect(system, dbus, dbusd)
 unix_socket_connect(system, gps, gpsd)
+unix_socket_connect(system, bluetooth, bluetoothd)
 unix_socket_send(system, wpa, wpa)
 
 # Communicate over a socket created by surfaceflinger.