android - Best way to repeat an observable every minute rxjava -


i have following method:

public class parentalcontrolinteractor {    public single<boolean> ispinset() {        return bamsdk.getpinmanager().ispinset();    } } 

i want call function run once, repeat every minute until infinity seems clumsy:

    parentalcontrolinteractor.ispinset()             .subscribeon(schedulers.io())             .repeat(10000)             .timeout(1600,timeunit.milliseconds)             .doonerror(throwable -> {                 timber.e(throwable,"error getting if pin set");                 throwable.printstacktrace();             })             .subscribe(ispinset -> {                 this.ispinset = ispinset;                 timber.d("pin set = " + ispinset.tostring());                 }); 

isn't there better way it? i'm using rxjava2. also, method above calls 10000 times. want call forever, using handler.postdelayed().

try this:

parentalcontrolinteractor.ispinset()         .subscribeon(schedulers.io())         .repeatwhen(new func1<observable<? extends void>, observable<?>>() {             @override             public observable<?> call(observable<? extends void> observable) {                 return observable.delay(60, timeunit.seconds);             }         })         .doonerror(throwable -> {             timber.e(throwable,"error getting if pin set");             throwable.printstacktrace();         })         .subscribe(ispinset -> {             this.ispinset = ispinset;             timber.d("pin set = " + ispinset.tostring());         }); 

Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -