Loading service/java/com/android/server/bluetooth/BluetoothManagerService.java +9 −3 Original line number Original line Diff line number Diff line Loading @@ -115,6 +115,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private static final int ACTIVE_LOG_MAX_SIZE = 20; private static final int ACTIVE_LOG_MAX_SIZE = 20; private static final int CRASH_LOG_MAX_SIZE = 100; private static final int CRASH_LOG_MAX_SIZE = 100; private static final int DEFAULT_REBIND_COUNT = 3; private static final int TIMEOUT_BIND_MS = 3000; //Maximum msec to wait for a bind private static final int TIMEOUT_BIND_MS = 3000; //Maximum msec to wait for a bind /** /** Loading Loading @@ -1461,7 +1462,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { } } psc = new ProfileServiceConnections(intent); psc = new ProfileServiceConnections(intent); if (!psc.bindService()) { if (!psc.bindService(DEFAULT_REBIND_COUNT)) { return false; return false; } } Loading Loading @@ -1590,7 +1591,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { mIntent = intent; mIntent = intent; } } private boolean bindService() { private boolean bindService(int rebindCount) { int state = BluetoothAdapter.STATE_OFF; int state = BluetoothAdapter.STATE_OFF; try { try { mBluetoothLock.readLock().lock(); mBluetoothLock.readLock().lock(); Loading @@ -1613,6 +1614,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { && doBind(mIntent, this, 0, USER_HANDLE_CURRENT_OR_SELF)) { && doBind(mIntent, this, 0, USER_HANDLE_CURRENT_OR_SELF)) { Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); msg.obj = this; msg.obj = this; msg.arg1 = rebindCount; mHandler.sendMessageDelayed(msg, TIMEOUT_BIND_MS); mHandler.sendMessageDelayed(msg, TIMEOUT_BIND_MS); return true; return true; } } Loading @@ -1632,6 +1634,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { if (!mHandler.hasMessages(MESSAGE_BIND_PROFILE_SERVICE, this)) { if (!mHandler.hasMessages(MESSAGE_BIND_PROFILE_SERVICE, this)) { Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); msg.obj = this; msg.obj = this; msg.arg1 = DEFAULT_REBIND_COUNT; mHandler.sendMessage(msg); mHandler.sendMessage(msg); } } } } Loading Loading @@ -2185,7 +2188,10 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { if (psc == null) { if (psc == null) { break; break; } } psc.bindService(); if (msg.arg1 > 0) { mContext.unbindService(psc); psc.bindService(msg.arg1 - 1); } break; break; } } case MESSAGE_BLUETOOTH_SERVICE_CONNECTED: { case MESSAGE_BLUETOOTH_SERVICE_CONNECTED: { Loading Loading
service/java/com/android/server/bluetooth/BluetoothManagerService.java +9 −3 Original line number Original line Diff line number Diff line Loading @@ -115,6 +115,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private static final int ACTIVE_LOG_MAX_SIZE = 20; private static final int ACTIVE_LOG_MAX_SIZE = 20; private static final int CRASH_LOG_MAX_SIZE = 100; private static final int CRASH_LOG_MAX_SIZE = 100; private static final int DEFAULT_REBIND_COUNT = 3; private static final int TIMEOUT_BIND_MS = 3000; //Maximum msec to wait for a bind private static final int TIMEOUT_BIND_MS = 3000; //Maximum msec to wait for a bind /** /** Loading Loading @@ -1461,7 +1462,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { } } psc = new ProfileServiceConnections(intent); psc = new ProfileServiceConnections(intent); if (!psc.bindService()) { if (!psc.bindService(DEFAULT_REBIND_COUNT)) { return false; return false; } } Loading Loading @@ -1590,7 +1591,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { mIntent = intent; mIntent = intent; } } private boolean bindService() { private boolean bindService(int rebindCount) { int state = BluetoothAdapter.STATE_OFF; int state = BluetoothAdapter.STATE_OFF; try { try { mBluetoothLock.readLock().lock(); mBluetoothLock.readLock().lock(); Loading @@ -1613,6 +1614,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { && doBind(mIntent, this, 0, USER_HANDLE_CURRENT_OR_SELF)) { && doBind(mIntent, this, 0, USER_HANDLE_CURRENT_OR_SELF)) { Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); msg.obj = this; msg.obj = this; msg.arg1 = rebindCount; mHandler.sendMessageDelayed(msg, TIMEOUT_BIND_MS); mHandler.sendMessageDelayed(msg, TIMEOUT_BIND_MS); return true; return true; } } Loading @@ -1632,6 +1634,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { if (!mHandler.hasMessages(MESSAGE_BIND_PROFILE_SERVICE, this)) { if (!mHandler.hasMessages(MESSAGE_BIND_PROFILE_SERVICE, this)) { Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); msg.obj = this; msg.obj = this; msg.arg1 = DEFAULT_REBIND_COUNT; mHandler.sendMessage(msg); mHandler.sendMessage(msg); } } } } Loading Loading @@ -2185,7 +2188,10 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { if (psc == null) { if (psc == null) { break; break; } } psc.bindService(); if (msg.arg1 > 0) { mContext.unbindService(psc); psc.bindService(msg.arg1 - 1); } break; break; } } case MESSAGE_BLUETOOTH_SERVICE_CONNECTED: { case MESSAGE_BLUETOOTH_SERVICE_CONNECTED: { Loading