Show name for incoming pairing requests.

Settings apps invalidates its cache whenever a new scan is started.
When there is a new incoming pairing request, we will not get a DeviceFound
signal, because its not due to a inquiry scan. Thus when the pairing request
is displayed, the settings app doesn't have it in cache and hence will
just display the address. Make it query the framework when it doesn't have the name.
This commit is contained in:
Jaikumar Ganesh
2009-09-15 14:07:22 -07:00
parent a3aaf19e09
commit 3eb43fe7a4
2 changed files with 10 additions and 2 deletions

View File

@@ -140,7 +140,12 @@ public class CachedBluetoothDeviceManager {
*/
public String getName(BluetoothDevice device) {
CachedBluetoothDevice cachedDevice = findDevice(device);
return cachedDevice != null ? cachedDevice.getName() : device.getAddress();
if (cachedDevice != null) return cachedDevice.getName();
String name = device.getName();
if (name != null) return name;
return device.getAddress();
}
private void dispatchDeviceAdded(CachedBluetoothDevice cachedDevice) {

View File

@@ -256,7 +256,10 @@ public class LocalBluetoothManager {
CachedBluetoothDevice cachedDevice = mCachedDeviceManager.findDevice(device);
String name = null;
if (cachedDevice == null) {
name = mContext.getString(R.string.bluetooth_remote_device);
name = device.getName();
if (name == null) {
name = mContext.getString(R.string.bluetooth_remote_device);
}
} else {
name = cachedDevice.getName();
}