From 7546813f1ba8855887df1694053ee07647a1f58e Mon Sep 17 00:00:00 2001 From: Alexandros Schillings Date: Sat, 15 Mar 2014 21:28:24 +0000 Subject: [PATCH] Added more information in the list item --- sample_app/res/layout/list_item_device.xml | 47 ++++++++++++++++++- .../adapters/LeDeviceListAdapter.java | 13 +++-- 2 files changed, 56 insertions(+), 4 deletions(-) diff --git a/sample_app/res/layout/list_item_device.xml b/sample_app/res/layout/list_item_device.xml index 1f46b15..2f4e504 100644 --- a/sample_app/res/layout/list_item_device.xml +++ b/sample_app/res/layout/list_item_device.xml @@ -41,7 +41,7 @@ + android:columnCount="2" > + + + + + + + + + + + + + + + + + + + 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 85cde06..282be31 100644 --- a/sample_app/src/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java +++ b/sample_app/src/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java @@ -18,7 +18,8 @@ import android.widget.TextView; // Adapter for holding devices found through scanning. public class LeDeviceListAdapter extends BaseAdapter { private static final DecimalFormat DOUBLE_TWO_DIGIT_ACCURACY = new DecimalFormat("#.##"); - + private static final String TIME_FORMAT = "yyyy-MM-dd hh:mm:ss"; + private final List mLeDevices; private final LayoutInflater mInflator; @@ -71,12 +72,14 @@ public class LeDeviceListAdapter extends BaseAdapter { 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.deviceLastUpdated = (TextView) view.findViewById(R.id.device_last_update); 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); + viewHolder.ibeaconDistanceDescriptor = (TextView) view.findViewById(R.id.ibeacon_distance_descriptor); view.setTag(viewHolder); } else { viewHolder = (ViewHolder) view.getTag(); @@ -102,13 +105,15 @@ public class LeDeviceListAdapter extends BaseAdapter { viewHolder.ibeaconMinor.setText(String.valueOf(data.getMinor())); viewHolder.ibeaconTxPower.setText(String.valueOf(data.getCalibratedTxPower())); viewHolder.ibeaconUUID.setText(data.getUUID()); - viewHolder.ibeaconDistance.setText( - DOUBLE_TWO_DIGIT_ACCURACY.format(accuracy) + "m " + data.getDistanceDescriptor(accuracy)); + viewHolder.ibeaconDistance.setText(DOUBLE_TWO_DIGIT_ACCURACY.format(accuracy) + "m"); + viewHolder.ibeaconDistanceDescriptor.setText(data.getDistanceDescriptor(accuracy)); } else { viewHolder.deviceIcon.setImageResource(R.drawable.ic_bluetooth); viewHolder.ibeaconSection.setVisibility(View.GONE); } + viewHolder.deviceLastUpdated.setText( + android.text.format.DateFormat.format(TIME_FORMAT, new java.util.Date(device.getTimestamp()))); viewHolder.deviceAddress.setText(device.getAddress()); viewHolder.deviceRssi.setText(String.valueOf(rssi) + "db"); return view; @@ -123,6 +128,8 @@ public class LeDeviceListAdapter extends BaseAdapter { TextView ibeaconMinor; TextView ibeaconTxPower; TextView ibeaconDistance; + TextView ibeaconDistanceDescriptor; + TextView deviceLastUpdated; View ibeaconSection; ImageView deviceIcon; }