Skip to content

Commit cdd4fa4

Browse files
sync connection and scan
1 parent 9a69dbb commit cdd4fa4

File tree

5 files changed

+30
-28
lines changed

5 files changed

+30
-28
lines changed

app/build.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
#
1818

1919
#Build Properties
20-
#Sat Jun 15 09:06:49 EDT 2019
20+
#Sat Jun 15 11:08:13 EDT 2019
2121
version_minor=0
22-
version_build=10
22+
version_build=11
2323
version_patch=4
24-
version_store=45
2524
version_major=2
25+
version_store=45

app/src/main/java/com/vrem/wifianalyzer/wifi/scanner/Cache.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.vrem.wifianalyzer.wifi.scanner;
2020

2121
import android.net.wifi.ScanResult;
22+
import android.net.wifi.WifiInfo;
2223
import android.support.annotation.NonNull;
2324

2425
import com.vrem.wifianalyzer.MainContext;
@@ -38,6 +39,7 @@ class Cache {
3839

3940
private static final int ADJUST = 10;
4041
private final Deque<List<ScanResult>> cachedScanResults = new ArrayDeque<>();
42+
private WifiInfo cachedWifiInfo = null;
4143

4244
@NonNull
4345
List<CacheResult> getScanResults() {
@@ -62,6 +64,10 @@ List<CacheResult> getScanResults() {
6264
return results;
6365
}
6466

67+
WifiInfo getWifiInfo() {
68+
return cachedWifiInfo;
69+
}
70+
6571
@NonNull
6672
private CacheResult getCacheResult(@NonNull ScanResult current, int level, int count) {
6773
CacheResult cacheResult;
@@ -81,12 +87,13 @@ private List<ScanResult> combineCache() {
8187
return scanResults;
8288
}
8389

84-
void add(@NonNull List<ScanResult> scanResults) {
90+
void add(@NonNull List<ScanResult> scanResults, WifiInfo wifiInfo) {
8591
int cacheSize = getCacheSize();
8692
while (cachedScanResults.size() >= cacheSize) {
8793
cachedScanResults.pollLast();
8894
}
8995
cachedScanResults.addFirst(scanResults);
96+
cachedWifiInfo = wifiInfo;
9097
}
9198

9299
@NonNull

app/src/main/java/com/vrem/wifianalyzer/wifi/scanner/Scanner.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class Scanner implements ScannerService {
5757
public void update() {
5858
enableWiFi();
5959
scanResults();
60-
wiFiData = transformer.transformToWiFiData(cache.getScanResults(), wiFiInfo(), wifiConfiguration());
60+
wiFiData = transformer.transformToWiFiData(cache.getScanResults(), cache.getWifiInfo(), wifiConfiguration());
6161
IterableUtils.forEach(updateNotifiers, new UpdateClosure());
6262
}
6363

@@ -135,29 +135,20 @@ private void enableWiFi() {
135135
}
136136
}
137137

138-
@SuppressWarnings("deprecation")
139138
private void scanResults() {
140139
try {
141140
if (wifiManager.startScan()) {
142141
List<ScanResult> scanResults = wifiManager.getScanResults();
142+
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
143143
if (scanResults != null) {
144-
cache.add(scanResults);
144+
cache.add(scanResults, wifiInfo);
145145
}
146146
}
147147
} catch (Exception e) {
148148
// critical error: do not die
149149
}
150150
}
151151

152-
private WifiInfo wiFiInfo() {
153-
try {
154-
return wifiManager.getConnectionInfo();
155-
} catch (Exception e) {
156-
// critical error: do not die
157-
return null;
158-
}
159-
}
160-
161152
private List<WifiConfiguration> wifiConfiguration() {
162153
try {
163154
return wifiManager.getConfiguredNetworks();

app/src/test/java/com/vrem/wifianalyzer/wifi/scanner/CacheTest.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.vrem.wifianalyzer.wifi.scanner;
2020

2121
import android.net.wifi.ScanResult;
22+
import android.net.wifi.WifiInfo;
2223

2324
import com.vrem.wifianalyzer.Configuration;
2425
import com.vrem.wifianalyzer.MainContextHelper;
@@ -44,6 +45,8 @@
4445

4546
@RunWith(MockitoJUnitRunner.class)
4647
public class CacheTest {
48+
@Mock
49+
private WifiInfo wifiInfo;
4750
@Mock
4851
private ScanResult scanResult1;
4952
@Mock
@@ -82,7 +85,7 @@ public void testAddWithSizeAvailable() {
8285
// setup
8386
List<ScanResult> scanResults = Collections.emptyList();
8487
// execute
85-
fixture.add(scanResults);
88+
fixture.add(scanResults, wifiInfo);
8689
// validate
8790
assertEquals(scanResults, fixture.getFirst());
8891
}
@@ -96,7 +99,7 @@ public void testAddCompliesToMaxCacheSizeWithSizeAvailable() {
9699
for (int i = 0; i < cacheSize; i++) {
97100
List<ScanResult> scanResults = Collections.emptyList();
98101
expected.add(scanResults);
99-
fixture.add(scanResults);
102+
fixture.add(scanResults, wifiInfo);
100103
}
101104
// validate
102105
assertEquals(cacheSize, expected.size());
@@ -144,9 +147,10 @@ public void testAdd() {
144147
when(configuration.isSizeAvailable()).thenReturn(false);
145148
List<ScanResult> scanResults = Collections.emptyList();
146149
// execute
147-
fixture.add(scanResults);
150+
fixture.add(scanResults, wifiInfo);
148151
// validate
149152
assertEquals(scanResults, fixture.getFirst());
153+
assertEquals(wifiInfo, fixture.getWifiInfo());
150154
}
151155

152156
@Test
@@ -159,7 +163,7 @@ public void testAddCompliesToMaxCacheSize() {
159163
for (int i = 0; i < cacheSize; i++) {
160164
List<ScanResult> scanResults = Collections.emptyList();
161165
expected.add(scanResults);
162-
fixture.add(scanResults);
166+
fixture.add(scanResults, wifiInfo);
163167
}
164168
// validate
165169
assertEquals(cacheSize, expected.size());
@@ -210,9 +214,9 @@ private void withScanResults() {
210214
scanResult6.BSSID = "BBSID3";
211215
scanResult6.level = 10;
212216

213-
fixture.add(Arrays.asList(scanResult1, scanResult4));
214-
fixture.add(Arrays.asList(scanResult2, scanResult5));
215-
fixture.add(Arrays.asList(scanResult3, scanResult6));
217+
fixture.add(Arrays.asList(scanResult1, scanResult4), wifiInfo);
218+
fixture.add(Arrays.asList(scanResult2, scanResult5), wifiInfo);
219+
fixture.add(Arrays.asList(scanResult3, scanResult6), wifiInfo);
216220
}
217221

218222
}

app/src/test/java/com/vrem/wifianalyzer/wifi/scanner/ScannerTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public void testUpdateWithWiFiData() {
125125
// validate
126126
assertEquals(wiFiData, fixture.getWiFiData());
127127
verifyCache();
128-
verifyTransfomer();
128+
verifyTransformer();
129129
verifyWiFiManager();
130130
verify(updateNotifier1).update(wiFiData);
131131
verify(updateNotifier2).update(wiFiData);
@@ -178,15 +178,17 @@ public void testStopDoesNotTurnsOffWiFi() {
178178

179179
private void withCache() {
180180
when(cache.getScanResults()).thenReturn(cacheResults);
181+
when(cache.getWifiInfo()).thenReturn(wifiInfo);
181182
}
182183

183184
private void withTransformer() {
184185
when(transformer.transformToWiFiData(cacheResults, wifiInfo, configuredNetworks)).thenReturn(wiFiData);
185186
}
186187

187188
private void verifyCache() {
188-
verify(cache).add(scanResults);
189+
verify(cache).add(scanResults, wifiInfo);
189190
verify(cache).getScanResults();
191+
verify(cache).getWifiInfo();
190192
}
191193

192194
private void verifyWiFiManager() {
@@ -210,17 +212,15 @@ private void withWiFiManager() {
210212
withWiFiManagerStartScan();
211213
}
212214

213-
@SuppressWarnings("deprecation")
214215
private void verifyWiFiManagerStartScan() {
215216
verify(wifiManager).startScan();
216217
}
217218

218-
@SuppressWarnings("deprecation")
219219
private void withWiFiManagerStartScan() {
220220
when(wifiManager.startScan()).thenReturn(true);
221221
}
222222

223-
private void verifyTransfomer() {
223+
private void verifyTransformer() {
224224
verify(transformer).transformToWiFiData(cacheResults, wifiInfo, configuredNetworks);
225225
}
226226

0 commit comments

Comments
 (0)