Skip to content

Commit b2c93c3

Browse files
committed
add rx2timer
1 parent f32400f commit b2c93c3

5 files changed

Lines changed: 32 additions & 8 deletions

File tree

0 Bytes
Binary file not shown.

.idea/encodings.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.

app/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ dependencies {
4949
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
5050
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
5151
compile "com.polidea.rxandroidble2:rxandroidble:1.5.0"
52+
compile 'com.github.thepacific:rx2timer:0.0.1'
53+
5254

5355
//noinspection GradleCompatible
5456
compile 'com.android.support:appcompat-v7:26+'

app/src/main/java/com/alfaloop/android/alfabeacon/fragment/ScannerFragment.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import com.github.aakira.expandablelayout.ExpandableLinearLayout;
5555
import com.github.aakira.expandablelayout.ExpandableRelativeLayout;
5656
import com.github.aakira.expandablelayout.Utils;
57+
import com.pacific.timer.Rx2Timer;
5758
import com.polidea.rxandroidble2.RxBleClient;
5859
import com.polidea.rxandroidble2.scan.ScanRecord;
5960
import com.polidea.rxandroidble2.scan.ScanResult;
@@ -68,6 +69,7 @@
6869
import java.util.List;
6970
import java.util.Map;
7071
import java.util.UUID;
72+
import java.util.concurrent.TimeUnit;
7173

7274

7375
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -82,6 +84,7 @@ public class ScannerFragment extends BaseMainFragment implements View.OnFocusCha
8284
private RxBleClient rxBleClient;
8385
private HashMap<String, LeBeacon> mLeBeaconHashMap = new HashMap<String, LeBeacon>();
8486
private UUID ALFABEACON_UUID = UUID.fromString("0000a55a-0000-1000-8000-00805f9b34fb");
87+
private Rx2Timer mCountTimer = null;
8588

8689
private Disposable scanSubscription;
8790
private DeviceAdapter mAdapter;
@@ -259,6 +262,29 @@ public void onEnterAnimationEnd(Bundle savedInstanceState) {
259262
private void initDelayView() {
260263
// Auto start discover nearby devices
261264
hideSoftInput();
265+
mCountTimer = Rx2Timer.builder()
266+
.initialDelay(0)
267+
.period(1)
268+
.take(500)
269+
.unit(TimeUnit.MILLISECONDS)
270+
.onCount(new Rx2Timer.OnCount() {
271+
@Override
272+
public void onCount(Long count) {
273+
}
274+
})
275+
.onError(new Rx2Timer.OnError() {
276+
@Override
277+
public void onError(Throwable t) {
278+
}
279+
})
280+
.onComplete(new Rx2Timer.OnComplete() {
281+
@Override
282+
public void onComplete() {
283+
updateBeaconList();
284+
mCountTimer.restart();
285+
}
286+
})
287+
.build();
262288
}
263289

264290
@Override
@@ -301,6 +327,7 @@ private boolean startScan(){
301327
mFloatingActionButton.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.pause_icon));
302328
mLeBeaconHashMap = new HashMap<String, LeBeacon>();
303329
updateBeaconList();
330+
mCountTimer.start();
304331

305332
scanSubscription = rxBleClient.scanBleDevices(
306333
new ScanSettings.Builder()
@@ -325,6 +352,7 @@ private boolean stopScan(){
325352

326353
if (!scanSubscription.isDisposed()) {
327354
scanSubscription.dispose();
355+
mCountTimer.stop();
328356
mProgressBar.setVisibility(View.GONE);
329357
mFloatingActionButton.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.play_icon));
330358
return true;
@@ -385,7 +413,7 @@ private void scanResultParser(ScanResult result) {
385413
previous.setRssi(result.getRssi());
386414
mLeBeaconHashMap.put(previous.getMacAddress(), previous);
387415
}
388-
updateBeaconList();
416+
// updateBeaconList();
389417
}
390418
}
391419

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
jcenter()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:3.1.2'
10+
classpath 'com.android.tools.build:gradle:3.1.3'
1111
classpath 'me.tatarka:gradle-retrolambda:3.2.0'
1212

1313
// NOTE: Do not place your application dependencies here; they belong

0 commit comments

Comments
 (0)