Ensure AdapterService and GattService are accessed from BluetoothManagerService only

Both AdapterService and GattService were designed with just one client
in mind - BluetoothManagerService. Ensure 3p apps can't bind to it.

ACCESS_BLUETOOTH_SHARE permission have "signature" protection level,
which makes sure only apps signed with same key can use it.

Test: compile, ensure Bluetooth functioning, POC is throwing security
      exception  and no longer reproducing bug
Bug: 182583850
Change-Id: Iaebb33787c3ac3076b51e358ff4313f0ff8e744b
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1a92268..bb48db5 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -108,7 +108,8 @@
         </provider>
         <service android:process="@string/process"
              android:name=".btservice.AdapterService"
-             android:exported="true">
+             android:exported="true"
+             android:permission="android.permission.ACCESS_BLUETOOTH_SHARE">
             <intent-filter>
                 <action android:name="android.bluetooth.IBluetooth"/>
             </intent-filter>
@@ -285,7 +286,8 @@
         <service android:process="@string/process"
              android:name=".gatt.GattService"
              android:enabled="@bool/profile_supported_gatt"
-             android:exported="true">
+             android:exported="true"
+             android:permission="android.permission.ACCESS_BLUETOOTH_SHARE">
             <intent-filter>
                 <action android:name="android.bluetooth.IBluetoothGatt"/>
             </intent-filter>