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

Commit 47878be5 authored by Wei Wang's avatar Wei Wang Committed by Android Git Automerger
Browse files

am c02eef6d: am da4a111e: DO NOT MERGE: Move advetise clean up to callback...

am c02eef6d: am da4a111e: DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050 Cherrypick from master to fix b/13289050

* commit 'c02eef6d':
  DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050 Cherrypick from master to fix b/13289050
parents 751ef3b2 c02eef6d
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -593,7 +593,6 @@ public final class BluetoothAdapter {
                return false;
            }
            mAdvertisingGattCallback.stopAdvertising();
            mAdvertisingGattCallback = null;
            return true;
        } catch (RemoteException e) {
            Log.e(TAG, "", e);
@@ -1797,15 +1796,12 @@ public final class BluetoothAdapter {
                    try {
                        IBluetoothGatt iGatt = adapter.getBluetoothManager().getBluetoothGatt();
                        iGatt.stopAdvertising();
                        Log.d(TAG, "unregistering client " + mLeHandle);
                        iGatt.unregisterClient(mLeHandle);
                    } catch (RemoteException e) {
                        Log.e(TAG, "Failed to stop advertising and unregister" + e);
                        Log.e(TAG, "Failed to stop advertising" + e);
                    }
                } else {
                    Log.e(TAG, "stopAdvertising, BluetoothAdapter is null");
                }
                mLeHandle = -1;
                notifyAll();
            }
        }
@@ -1995,6 +1991,26 @@ public final class BluetoothAdapter {
            if (advertiseState == STATE_ADVERTISE_STARTED) {
                mAdvertiseCallback.onAdvertiseStart(status);
            } else {
                synchronized (this) {
                    if (status == ADVERTISE_CALLBACK_SUCCESS) {
                        BluetoothAdapter adapter = mBluetoothAdapter.get();
                        if (adapter != null) {
                            try {
                                IBluetoothGatt iGatt =
                                        adapter.getBluetoothManager().getBluetoothGatt();
                                Log.d(TAG, "unregistering client " + mLeHandle);
                                iGatt.unregisterClient(mLeHandle);
                                // Reset advertise app handle.
                                mLeHandle = -1;
                                adapter.mAdvertisingGattCallback = null;
                            } catch (RemoteException e) {
                                Log.e(TAG, "Failed to unregister client" + e);
                            }
                        } else {
                            Log.e(TAG, "cannot unregister client, BluetoothAdapter is null");
                        }
                    }
                }
                mAdvertiseCallback.onAdvertiseStop(status);
            }
        }