// If there are paired devices, add each one to the ArrayAdapter
if (pairedDevices.size() > 0) {
findViewById(R.id.title_paired_devices).setVisibility(View.VISIBLE);
- for (BluetoothDevice device : pairedDevices)
- if (device.getName().startsWith("TeleBT"))
- mPairedDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
-
+ for (BluetoothDevice device : pairedDevices) {
+ String name = device.getName();
+ if (name != null && name.startsWith("TeleBT"))
+ mPairedDevicesArrayAdapter.add(name + "\n" + device.getAddress());
+ }
} else {
String noDevices = getResources().getText(R.string.none_paired).toString();
mPairedDevicesArrayAdapter.add(noDevices);
// The on-click listener for all devices in the ListViews
private OnItemClickListener mDeviceClickListener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {
+ // Get the device MAC address, which is the last 17 chars in the View
+ String info = ((TextView) v).getText().toString();
+
+ /* Ignore clicks on items that are too short */
+ if (info.length() <= 17)
+ return;
+
// Cancel discovery because it's costly and we're about to connect
mBtAdapter.cancelDiscovery();
- // Get the device MAC address, which is the last 17 chars in the View
- String info = ((TextView) v).getText().toString();
String address = info.substring(info.length() - 17);
int newline = info.indexOf('\n');
{
String name = device.getName();
if (name != null && name.startsWith("TeleBT"))
- mNewDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
+ mNewDevicesArrayAdapter.add(name + "\n" + device.getAddress());
}
/* When discovery is finished, change the Activity title