public synchronized Collection<IBeacon> getIBeacons() { ArrayList<IBeacon> iBeacons = new ArrayList<IBeacon>(); Iterator<RangedIBeacon> iterator = rangedIBeacons.values().iterator(); while (iterator.hasNext()) { RangedIBeacon rangedIBeacon = iterator.next(); if (!rangedIBeacon.allMeasurementsExpired()) { iBeacons.add(rangedIBeacon); } } return iBeacons; }
public void addIBeacon(IBeacon iBeacon) { if (rangedIBeacons.containsKey(iBeacon)) { RangedIBeacon rangedIBeacon = rangedIBeacons.get(iBeacon); Log.d( TAG, "adding " + iBeacon.getProximityUuid() + " to existing range for: " + rangedIBeacon.getProximityUuid()); rangedIBeacon.addRangeMeasurement(iBeacon.getRssi()); } else { Log.d(TAG, "adding " + iBeacon.getProximityUuid() + " to new rangedIBeacon"); rangedIBeacons.put(iBeacon, new RangedIBeacon(iBeacon)); } }