Do not overwrite alias with device name

Bug: 17287682
Change-Id: Iea29e85125ae4720fd99f893f516c301b7aed7c6
This commit is contained in:
Matthew Xie
2014-09-17 22:43:49 -07:00
parent 0a11f60595
commit 2f837509dd
2 changed files with 19 additions and 8 deletions

View File

@@ -206,7 +206,7 @@ final class BluetoothEventManager {
}
cachedDevice.setRssi(rssi);
cachedDevice.setBtClass(btClass);
cachedDevice.setName(name);
cachedDevice.setNewName(name);
cachedDevice.setVisible(true);
}
}

View File

@@ -387,15 +387,26 @@ final class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> {
return mName;
}
/**
* Populate name from BluetoothDevice.ACTION_FOUND intent
*/
void setNewName(String name) {
if (mName == null) {
mName = name;
if (mName == null || TextUtils.isEmpty(mName)) {
mName = mDevice.getAddress();
}
dispatchAttributesChanged();
}
}
/**
* user changes the device name
*/
void setName(String name) {
if (!mName.equals(name)) {
if (TextUtils.isEmpty(name)) {
// TODO: use friendly name for unknown device (bug 1181856)
mName = mDevice.getAddress();
} else {
mName = name;
mDevice.setAlias(name);
}
dispatchAttributesChanged();
}
}