From f5b9d5e674cbd3f5b281ae6edef1cc6bc45ce8ce Mon Sep 17 00:00:00 2001 From: Alexandros Schillings Date: Wed, 12 Mar 2014 23:49:42 +0000 Subject: [PATCH] Working on the list UI --- sample_app/res/layout/list_item_device.xml | 94 ++++++++++++++++--- sample_app/res/values/strings.xml | 7 ++ .../adapters/LeDeviceListAdapter.java | 20 ++++ 3 files changed, 110 insertions(+), 11 deletions(-) diff --git a/sample_app/res/layout/list_item_device.xml b/sample_app/res/layout/list_item_device.xml index a2f4b70..acd990e 100644 --- a/sample_app/res/layout/list_item_device.xml +++ b/sample_app/res/layout/list_item_device.xml @@ -38,16 +38,16 @@ android:layout_height="wrap_content" android:textSize="24sp" /> - + android:columnCount="4" > - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sample_app/res/values/strings.xml b/sample_app/res/values/strings.xml index b412ef1..92a09d8 100644 --- a/sample_app/res/values/strings.xml +++ b/sample_app/res/values/strings.xml @@ -16,5 +16,12 @@ Disconnect Scan Stop + Distance: + TX Power: + Minor: + Major: + UUID: + RSSI: + MAC: \ No newline at end of file diff --git a/sample_app/src/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java b/sample_app/src/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java index 1bcb6ad..51267d5 100644 --- a/sample_app/src/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java +++ b/sample_app/src/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice; +import uk.co.alt236.bluetoothlelib.device.mfdata.IBeaconManufacturerData; import uk.co.alt236.bluetoothlelib.util.IBeaconUtils; import uk.co.alt236.btlescan.R; import android.app.Activity; @@ -67,6 +68,12 @@ import android.widget.TextView; viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name); viewHolder.deviceRssi = (TextView) view.findViewById(R.id.device_rssi); viewHolder.deviceIcon = (ImageView) view.findViewById(R.id.device_icon); + viewHolder.ibeaconMajor = (TextView) view.findViewById(R.id.ibeacon_major); + viewHolder.ibeaconMinor = (TextView) view.findViewById(R.id.ibeacon_minor); + viewHolder.ibeaconDistance = (TextView) view.findViewById(R.id.ibeacon_distance); + viewHolder.ibeaconUUID = (TextView) view.findViewById(R.id.ibeacon_uuid); + viewHolder.ibeaconTxPower = (TextView) view.findViewById(R.id.ibeacon_tx_power); + viewHolder.ibeaconSection = (View) view.findViewById(R.id.ibeacon_section); view.setTag(viewHolder); } else { viewHolder = (ViewHolder) view.getTag(); @@ -82,9 +89,16 @@ import android.widget.TextView; } if (IBeaconUtils.isThisAnIBeacon(device)){ + final IBeaconManufacturerData data = new IBeaconManufacturerData(device); viewHolder.deviceIcon.setImageResource(R.drawable.ic_device_ibeacon); + viewHolder.ibeaconSection.setVisibility(View.VISIBLE); + viewHolder.ibeaconMajor.setText(String.valueOf(data.getMajor())); + viewHolder.ibeaconMinor.setText(String.valueOf(data.getMinor())); + viewHolder.ibeaconTxPower.setText(String.valueOf(data.getCalibratedTxPower())); + viewHolder.ibeaconUUID.setText(data.getUUID().toString()); } else { viewHolder.deviceIcon.setImageResource(R.drawable.ic_bluetooth); + viewHolder.ibeaconSection.setVisibility(View.GONE); } viewHolder.deviceAddress.setText(device.getAddress()); @@ -96,6 +110,12 @@ import android.widget.TextView; TextView deviceName; TextView deviceAddress; TextView deviceRssi; + TextView ibeaconUUID; + TextView ibeaconMajor; + TextView ibeaconMinor; + TextView ibeaconTxPower; + TextView ibeaconDistance; + View ibeaconSection; ImageView deviceIcon; }