altosdroid: Skip clicks on BT device entries that are too short
authorKeith Packard <keithp@keithp.com>
Wed, 19 May 2021 06:26:12 +0000 (23:26 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 19 May 2021 17:53:45 +0000 (10:53 -0700)
Maybe these are some kind of extra object? In any case, nothing that
we care about, so just ignore the click.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceListActivity.java

index 1c3e1dbab21019bd9bfa82423e820a2129720c00..60fba9d367126bec3317e120fd05c0bee3a00381 100644 (file)
@@ -152,11 +152,16 @@ public class DeviceListActivity extends Activity {
        // 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');