android - Call web service with different time interval? -


i new in rx android.i trying call web service in different time interval.

call api 4 hours every 1 minutes 30 minutes, every 5 minutes 3 hours , 30 minutes

is possible rx android.if possible let me know how this?

 observable.interval(1,timeunit.minutes).takewhile(observable.timer(30,timeunit.minutes).concatwith(observable.interval(5,timeunit.minutes).takewhile(observable.timer(30,timeunit.minutes).flatmap(new func1<long, observable<?>>() {             @override             public observable<?> call(long along) {                 return null;             }         }).subscribe((new observer<object>() {             @override             public void oncompleted() {                 log.e("working", "oncompleted");             }              @override             public void onerror(throwable e) {                 log.e("working", "oncomthrowablepleted");             }              @override             public void onnext(object o) {                 log.e("working", "onnext");              }         });         )) 

you can use interval, takeuntil, timer , concatwith : idea use interval , stop after 30 minutes, use interval.

 // 1 events per minutes  observable.interval(1, minutes)            // , stop after 30 minutes            .takeuntil(observable.timer(30, minutes))            // 1 events per 5 minutes, , stop after 30 minutes            .concatwith(observable.interval(5, minutes).takeuntil(observable.timer(30, minutes)))            // perform webservice call            .flatmap(time -> webservice.call())            .subscribe(); 

Comments