Merge "DO NOT MERGE ANYWHERE Allow the Bluetooth MAC address to be updated asynchronously (2/3)" into cw-f-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a053eaa841
@@ -447,6 +447,30 @@ public final class BluetoothAdapter {
|
||||
public static final String ACTION_BLE_STATE_CHANGED =
|
||||
"android.bluetooth.adapter.action.BLE_STATE_CHANGED";
|
||||
|
||||
/**
|
||||
* Intent used to broadcast the change in the Bluetooth address
|
||||
* of the local Bluetooth adapter.
|
||||
* <p>Always contains the extra field {@link
|
||||
* #EXTRA_BLUETOOTH_ADDRESS} containing the Bluetooth address.
|
||||
*
|
||||
* Note: only system level processes are allowed to send this
|
||||
* defined broadcast.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final String ACTION_BLUETOOTH_ADDRESS_CHANGED =
|
||||
"android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED";
|
||||
|
||||
/**
|
||||
* Used as a String extra field in {@link
|
||||
* #ACTION_BLUETOOTH_ADDRESS_CHANGED} intent to store the local
|
||||
* Bluetooth address.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_BLUETOOTH_ADDRESS =
|
||||
"android.bluetooth.adapter.extra.BLUETOOTH_ADDRESS";
|
||||
|
||||
/**
|
||||
* Broadcast Action: The notifys Bluetooth ACL connected event. This will be
|
||||
* by BLE Always on enabled application to know the ACL_CONNECTED event
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
<protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
|
||||
<protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
|
||||
<protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
|
||||
<protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
|
||||
<protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
|
||||
<protected-broadcast android:name="android.bluetooth.device.action.UUID" />
|
||||
<protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
|
||||
|
||||
@@ -187,6 +187,14 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
|
||||
if (newName != null) {
|
||||
storeNameAndAddress(newName, null);
|
||||
}
|
||||
} else if (BluetoothAdapter.ACTION_BLUETOOTH_ADDRESS_CHANGED.equals(action)) {
|
||||
String newAddress = intent.getStringExtra(BluetoothAdapter.EXTRA_BLUETOOTH_ADDRESS);
|
||||
if (newAddress != null) {
|
||||
if (DBG) Slog.d(TAG, "Bluetooth Adapter address changed to " + newAddress);
|
||||
storeNameAndAddress(null, newAddress);
|
||||
} else {
|
||||
if (DBG) Slog.e(TAG, "No Bluetooth Adapter address parameter found");
|
||||
}
|
||||
} else if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(action)) {
|
||||
synchronized(mReceiver) {
|
||||
if (isBluetoothPersistedStateOn()) {
|
||||
@@ -275,6 +283,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
|
||||
registerForAirplaneMode(filter);
|
||||
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
|
||||
mContext.registerReceiver(mReceiver, filter);
|
||||
filter = new IntentFilter(BluetoothAdapter.ACTION_BLUETOOTH_ADDRESS_CHANGED);
|
||||
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
|
||||
mContext.registerReceiver(mReceiver, filter);
|
||||
loadStoredNameAndAddress();
|
||||
if (isBluetoothPersistedStateOn()) {
|
||||
if (DBG) Slog.d(TAG, "Startup: Bluetooth persisted state is ON.");
|
||||
|
||||
Reference in New Issue
Block a user