Skip to content

Commit d21b483

Browse files
Matthew XieAndroid (Google) Code Review
authored andcommitted
Merge "Add multi user support for bluetooth" into jb-mr1-dev
2 parents efd7b26 + fca9d63 commit d21b483

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

core/res/AndroidManifest.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,13 @@
620620
android:description="@string/permdesc_bluetoothAdmin"
621621
android:label="@string/permlab_bluetoothAdmin" />
622622

623+
<!-- Allows bluetooth stack to access files
624+
@hide This should only be used by Bluetooth apk.
625+
-->
626+
<permission android:name="android.permission.BLUETOOTH_STACK"
627+
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
628+
android:protectionLevel="signature" />
629+
623630
<!-- Allows applications to perform I/O operations over NFC -->
624631
<permission android:name="android.permission.NFC"
625632
android:permissionGroup="android.permission-group.NETWORK"

data/etc/platform.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@
4242
<group gid="net_bt" />
4343
</permission>
4444

45+
<permission name="android.permission.BLUETOOTH_STACK" >
46+
<group gid="net_bt_stack" />
47+
</permission>
48+
4549
<permission name="android.permission.NET_TUNNELING" >
4650
<group gid="vpn" />
4751
</permission>
@@ -176,6 +180,7 @@
176180
<assign-permission name="android.permission.INTERACT_ACROSS_USERS" uid="shell" />
177181
<assign-permission name="android.permission.INTERACT_ACROSS_USERS_FULL" uid="shell" />
178182
<assign-permission name="android.permission.MANAGE_USERS" uid="shell" />
183+
<assign-permission name="android.permission.BLUETOOTH_STACK" uid="shell" />
179184

180185
<assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
181186
<assign-permission name="android.permission.ACCESS_DRM" uid="media" />

services/java/com/android/server/BluetoothManagerService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ public void handleMessage(Message msg) {
481481
mHandler.sendMessageDelayed(timeoutMsg,TIMEOUT_BIND_MS);
482482
Intent i = new Intent(IBluetooth.class.getName());
483483
if (!mContext.bindService(i, mConnection,
484-
Context.BIND_AUTO_CREATE)) {
484+
Context.BIND_AUTO_CREATE, UserHandle.USER_CURRENT)) {
485485
mHandler.removeMessages(MESSAGE_TIMEOUT_BIND);
486486
Log.e(TAG, "fail to bind to: " + IBluetooth.class.getName());
487487
}
@@ -717,7 +717,8 @@ private void handleEnable(boolean persist, boolean quietMode) {
717717
mHandler.sendMessageDelayed(timeoutMsg,TIMEOUT_BIND_MS);
718718
mConnection.setGetNameAddressOnly(false);
719719
Intent i = new Intent(IBluetooth.class.getName());
720-
if (!mContext.bindService(i, mConnection,Context.BIND_AUTO_CREATE)) {
720+
if (!mContext.bindService(i, mConnection, Context.BIND_AUTO_CREATE,
721+
UserHandle.USER_CURRENT)) {
721722
mHandler.removeMessages(MESSAGE_TIMEOUT_BIND);
722723
Log.e(TAG, "Fail to bind to: " + IBluetooth.class.getName());
723724
}

0 commit comments

Comments
 (0)