java - PublishSubject doesn't do anything when calling onNext -


here code using publishsubject.

public class rxpager {   private int startpage; //starting page number private final int initialpagecount; //number of pages provide when requestnext() called private final publishsubject<integer> requests = publishsubject.create(); private int requestedcount; //basically keeps track of last page requested  public rxpager() {     this(1, 1); // default start @ page #1 }  public rxpager(int startpage, int initialpagecount) {     this.initialpagecount = initialpagecount;     this.startpage = startpage; }  public void decrementrequestedcount(){     requestedcount--; }  public void requestnext(int page) {     requests.onnext(page); }  public observable<integer> pages() {     return requests             .concatmap(new func1<integer, observable<integer>>() {                 @override                 public observable<integer> call(integer targetpage) {                     //check if have provided page -- if targetpager less requestedcount means page has been provided                     if (targetpage <= requestedcount) {                         return observable.empty();                     }                     else {                         //returns each page 1 one , adds offset them                         return observable.range(requestedcount, targetpage - requestedcount)                                 .flatmap(new func1<integer, observable<integer>>() {                                     @override                                     public observable<integer> call(integer page) {                                         return observable.just(page + startpage); // offset page number                                     }                                 });                     }                 }             })             .startwith(                     observable.range(0, initialpagecount)                             .flatmap(new func1<integer, observable<integer>>() {                                 @override                                 public observable<integer> call(integer page) {                                     return observable.just(page + startpage); // offset page number                                 }                             })             )             .doonnext(new action1<integer>() {                 @override                 public void call(integer it) {                     //make sure increment requested count same page can't requested                     requestedcount = - startpage + 1; //need offset here                 }             }); }  } 

i trying create paging mechanism can call rxpager.requestnext(page) , using value returned, use paging api. however, if api returns error call rxpager.decrementrequestedcount() , rerequest same page using this: rxpager.requestnext(samepage). however, seems when nothing happens. never hits if (targetpage <= requestedcount)


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -