VictorAlbertos / ReactiveCache

A reactive cache for Android and Java which honors the reactive chain.
Apache License 2.0
240 stars 24 forks source link

Usage of replace() #11

Closed leonardo2204 closed 7 years ago

leonardo2204 commented 7 years ago

Hey Victor, first of all, thanks for the great lib !

I'm struggling finding out how to use the replace (Provider) in my app.

I have this:

 @Override
    public Observable<List<Food>> fetchFoodList() {
        return Observable.create(subscriber -> {

            Backendless.Data.of(Food.class).find(new AsyncCallback<BackendlessCollection<Food>>() {
                @Override
                public void handleResponse(BackendlessCollection<Food> response) {
                    subscriber.onNext(response.getCurrentPage());
                }

                @Override
                public void handleFault(BackendlessFault fault) {
                    subscriber.onError(new Exception(fault.getMessage()));
                }
            });
        }).compose(provider.replace());
    }

My provider:

private final Provider<List<Food>> provider;
this.provider = reactiveCache.<List<Food>>provider().withKey("food");

But I'm getting:

error: method compose in class Observable<T> cannot be applied to given types;
        }).compose(provider.replace());
          ^
  required: Transformer<? super Object,? extends R>
  found: ObservableTransformer<List<Food>,List<Food>>
  reason: cannot infer type-variable(s) R
    (argument mismatch; ObservableTransformer<List<Food>,List<Food>> cannot be converted to Transformer<? super Object,? extends R>)
  where R,T are type-variables:
    R extends Object declared in method <R>compose(Transformer<? super T,? extends R>)
    T extends Object declared in class Observable
Note: /Users/leonardo/Food/app/src/main/java/com/leonardo2204/food/address_pick/AddressPickController.java uses unchecked or unsafe operations.

What I am doing wrong ?

VictorAlbertos commented 7 years ago

Did you solve the issue, @leonardo2204?

leonardo2204 commented 7 years ago

Yes, I did ! Forgot to close the issue. I casted the Observable.create()... and it worked.