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

Commit 0e4ac75f authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by Andre Eisenbach
Browse files

Fix NPE when accessing mCallback in BluetoothGatt

This issue was introduced in commit
4eab4965.

Bug: 37710354
Test: none
Change-Id: I2d985ce97c44d4e096713e156e57437f44ea3ddb
parent 4898b704
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);
                        }
                    }
                });
            }
        };