RangeState.java
2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.radiusnetworks.ibeacon.service;
import com.radiusnetworks.ibeacon.IBeacon;
import com.radiusnetworks.ibeacon.IBeaconManager;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class RangeState
{
private Callback a;
private Map<IBeacon, RangedIBeacon> b = new HashMap();
public RangeState(Callback paramCallback)
{
this.a = paramCallback;
}
public void addIBeacon(IBeacon paramIBeacon)
{
if (this.b.containsKey(paramIBeacon))
{
RangedIBeacon localRangedIBeacon = (RangedIBeacon)this.b.get(paramIBeacon);
if (IBeaconManager.debug) {
new StringBuilder("adding ").append(paramIBeacon.getProximityUuid()).append(" to existing range for: ").append(localRangedIBeacon.getProximityUuid());
}
localRangedIBeacon.addRangeMeasurement(Integer.valueOf(paramIBeacon.getRssi()));
return;
}
if (IBeaconManager.debug) {
new StringBuilder("adding ").append(paramIBeacon.getProximityUuid()).append(" to new rangedIBeacon");
}
this.b.put(paramIBeacon, new RangedIBeacon(paramIBeacon));
}
public Collection<IBeacon> finalizeIBeacons()
{
HashMap localHashMap;
for (;;)
{
try
{
ArrayList localArrayList = new ArrayList();
localHashMap = new HashMap();
synchronized (this.b)
{
Iterator localIterator = this.b.keySet().iterator();
if (!localIterator.hasNext()) {
break;
}
IBeacon localIBeacon = (IBeacon)localIterator.next();
RangedIBeacon localRangedIBeacon = (RangedIBeacon)this.b.get(localIBeacon);
if (localRangedIBeacon.isTracked())
{
localRangedIBeacon.commitMeasurements();
localArrayList.add(localRangedIBeacon);
}
if (!localRangedIBeacon.noMeasurementsAvailable())
{
i = 1;
if (i != 1) {
continue;
}
localRangedIBeacon.setTracked(false);
localHashMap.put(localIBeacon, localRangedIBeacon);
}
}
int i = 0;
}
finally {}
}
this.b = localHashMap;
return localCollection;
}
public Callback getCallback()
{
return this.a;
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/com/radiusnetworks/ibeacon/service/RangeState.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/