Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e0e7579 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Fix NPE when accessing mCallback in BluetoothGatt

This issue was introduced in commit
4eab4965.

Bug: 37710354
Test: none
Change-Id: I2d985ce97c44d4e096713e156e57437f44ea3ddb
(cherry picked from commit 0e4ac75f)
parent 348ba3da
Loading
Loading
Loading
Loading
+47 −16
Original line number Diff line number Diff line
@@ -159,9 +159,11 @@ public final class BluetoothGatt implements BluetoothProfile {
                    mHandler.post(new Runnable() {
                        @Override
                        public void run() {
                            if (mCallback != null) {
                                mCallback.onConnectionStateChange(BluetoothGatt.this, GATT_FAILURE,
                                                  BluetoothProfile.STATE_DISCONNECTED);
                            }
                        }
                    });

                    synchronized(mStateLock) {
@@ -192,8 +194,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onPhyUpdate(BluetoothGatt.this, txPhy, rxPhy, status);
                        }
                    }
                });
            }

@@ -212,8 +216,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onPhyRead(BluetoothGatt.this, txPhy, rxPhy, status);
                        }
                    }
                });
            }

@@ -235,7 +241,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        mCallback.onConnectionStateChange(BluetoothGatt.this, status, profileState);
                        if (mCallback != null) {
                            mCallback.onConnectionStateChange(BluetoothGatt.this, status,
                                                              profileState);
                        }
                    }
                });

@@ -294,8 +303,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onServicesDiscovered(BluetoothGatt.this, status);
                        }
                    }
                });
            }

@@ -344,7 +355,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        mCallback.onCharacteristicRead(BluetoothGatt.this, characteristic, status);
                        if (mCallback != null) {
                            mCallback.onCharacteristicRead(BluetoothGatt.this, characteristic,
                                                           status);
                        }
                    }
                });
            }
@@ -390,7 +404,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        mCallback.onCharacteristicWrite(BluetoothGatt.this, characteristic, status);
                        if (mCallback != null) {
                            mCallback.onCharacteristicWrite(BluetoothGatt.this, characteristic,
                                                            status);
                        }
                    }
                });
            }
@@ -416,8 +433,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onCharacteristicChanged(BluetoothGatt.this, characteristic);
                        }
                    }
                });
            }

@@ -461,8 +480,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onDescriptorRead(BluetoothGatt.this, descriptor, status);
                        }
                    }
                });
            }

@@ -505,8 +526,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onDescriptorWrite(BluetoothGatt.this, descriptor, status);
                        }
                    }
                });
            }

@@ -529,8 +552,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                           mCallback.onReliableWriteCompleted(BluetoothGatt.this, status);
                        }
                    }
                });
            }

@@ -548,8 +573,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onReadRemoteRssi(BluetoothGatt.this, rssi, status);
                        }
                    }
                });
            }

@@ -568,8 +595,10 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onMtuChanged(BluetoothGatt.this, mtu, status);
                        }
                    }
                });
            }

@@ -590,9 +619,11 @@ public final class BluetoothGatt implements BluetoothProfile {
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (mCallback != null) {
                            mCallback.onConnectionUpdated(BluetoothGatt.this, interval, latency,
                                                          timeout, status);
                        }
                    }
                });
            }
        };