Loading core/java/android/bluetooth/BluetoothDevice.java +1 −4 Original line number Diff line number Diff line Loading @@ -1714,7 +1714,7 @@ public final class BluetoothDevice implements Parcelable { * an d{@link BluetoothDevice#PHY_LE_CODED_MASK}. This option does not take effect * if {@code autoConnect} is set to true. * @param handler The handler to use for the callback. If {@code null}, callbacks will happen * on the service's main thread. * on an un-specified background thread. * @throws NullPointerException if callback is null */ public BluetoothGatt connectGatt(Context context, boolean autoConnect, Loading @@ -1723,9 +1723,6 @@ public final class BluetoothDevice implements Parcelable { if (callback == null) throw new NullPointerException("callback is null"); if (handler == null) handler = new Handler(Looper.getMainLooper()); // TODO(Bluetooth) check whether platform support BLE // Do the check here or in GattServer? BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); Loading core/java/android/bluetooth/BluetoothGatt.java +30 −14 Original line number Diff line number Diff line Loading @@ -156,7 +156,7 @@ public final class BluetoothGatt implements BluetoothProfile { } mClientIf = clientIf; if (status != GATT_SUCCESS) { mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -191,7 +191,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -213,7 +213,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -238,7 +238,7 @@ public final class BluetoothGatt implements BluetoothProfile { int profileState = connected ? BluetoothProfile.STATE_CONNECTED : BluetoothProfile.STATE_DISCONNECTED; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -300,7 +300,7 @@ public final class BluetoothGatt implements BluetoothProfile { } } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -352,7 +352,7 @@ public final class BluetoothGatt implements BluetoothProfile { if (status == 0) characteristic.setValue(value); mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -401,7 +401,7 @@ public final class BluetoothGatt implements BluetoothProfile { mAuthRetryState = AUTH_RETRY_STATE_IDLE; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -430,7 +430,7 @@ public final class BluetoothGatt implements BluetoothProfile { characteristic.setValue(value); mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -477,7 +477,7 @@ public final class BluetoothGatt implements BluetoothProfile { mAuthRetryState = AUTH_RETRY_STATE_IDLE; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -523,7 +523,7 @@ public final class BluetoothGatt implements BluetoothProfile { mAuthRetryState = AUTH_RETRY_STATE_IDLE; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -549,7 +549,7 @@ public final class BluetoothGatt implements BluetoothProfile { mDeviceBusy = false; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -570,7 +570,7 @@ public final class BluetoothGatt implements BluetoothProfile { if (!address.equals(mDevice.getAddress())) { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -592,7 +592,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -616,7 +616,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -702,6 +702,22 @@ public final class BluetoothGatt implements BluetoothProfile { return null; } /** * Queue the runnable on a {@link Handler} provided by the user, or execute the runnable * immediately if no Handler was provided. */ private void runOrQueueCallback(final Runnable cb) { if (mHandler == null) { try { cb.run(); } catch (Exception ex) { Log.w(TAG, "Unhandled exception in callback", ex); } } else { mHandler.post(cb); } } /** * Register an application callback to start using GATT. * Loading Loading
core/java/android/bluetooth/BluetoothDevice.java +1 −4 Original line number Diff line number Diff line Loading @@ -1714,7 +1714,7 @@ public final class BluetoothDevice implements Parcelable { * an d{@link BluetoothDevice#PHY_LE_CODED_MASK}. This option does not take effect * if {@code autoConnect} is set to true. * @param handler The handler to use for the callback. If {@code null}, callbacks will happen * on the service's main thread. * on an un-specified background thread. * @throws NullPointerException if callback is null */ public BluetoothGatt connectGatt(Context context, boolean autoConnect, Loading @@ -1723,9 +1723,6 @@ public final class BluetoothDevice implements Parcelable { if (callback == null) throw new NullPointerException("callback is null"); if (handler == null) handler = new Handler(Looper.getMainLooper()); // TODO(Bluetooth) check whether platform support BLE // Do the check here or in GattServer? BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); Loading
core/java/android/bluetooth/BluetoothGatt.java +30 −14 Original line number Diff line number Diff line Loading @@ -156,7 +156,7 @@ public final class BluetoothGatt implements BluetoothProfile { } mClientIf = clientIf; if (status != GATT_SUCCESS) { mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -191,7 +191,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -213,7 +213,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -238,7 +238,7 @@ public final class BluetoothGatt implements BluetoothProfile { int profileState = connected ? BluetoothProfile.STATE_CONNECTED : BluetoothProfile.STATE_DISCONNECTED; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -300,7 +300,7 @@ public final class BluetoothGatt implements BluetoothProfile { } } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -352,7 +352,7 @@ public final class BluetoothGatt implements BluetoothProfile { if (status == 0) characteristic.setValue(value); mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -401,7 +401,7 @@ public final class BluetoothGatt implements BluetoothProfile { mAuthRetryState = AUTH_RETRY_STATE_IDLE; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -430,7 +430,7 @@ public final class BluetoothGatt implements BluetoothProfile { characteristic.setValue(value); mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -477,7 +477,7 @@ public final class BluetoothGatt implements BluetoothProfile { mAuthRetryState = AUTH_RETRY_STATE_IDLE; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -523,7 +523,7 @@ public final class BluetoothGatt implements BluetoothProfile { mAuthRetryState = AUTH_RETRY_STATE_IDLE; mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -549,7 +549,7 @@ public final class BluetoothGatt implements BluetoothProfile { mDeviceBusy = false; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -570,7 +570,7 @@ public final class BluetoothGatt implements BluetoothProfile { if (!address.equals(mDevice.getAddress())) { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -592,7 +592,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading @@ -616,7 +616,7 @@ public final class BluetoothGatt implements BluetoothProfile { return; } mHandler.post(new Runnable() { runOrQueueCallback(new Runnable() { @Override public void run() { if (mCallback != null) { Loading Loading @@ -702,6 +702,22 @@ public final class BluetoothGatt implements BluetoothProfile { return null; } /** * Queue the runnable on a {@link Handler} provided by the user, or execute the runnable * immediately if no Handler was provided. */ private void runOrQueueCallback(final Runnable cb) { if (mHandler == null) { try { cb.run(); } catch (Exception ex) { Log.w(TAG, "Unhandled exception in callback", ex); } } else { mHandler.post(cb); } } /** * Register an application callback to start using GATT. * Loading