Search in sources :

Example 41 with Observable

use of io.reactivex.Observable in project RxJava-Android-Samples by kaushikgopal.

the class PseudoCacheFragment method getCachedDiskData.

private Observable<Contributor> getCachedDiskData() {
    List<Contributor> list = new ArrayList<>();
    Map<String, Long> map = dummyDiskData();
    for (String username : map.keySet()) {
        Contributor c = new Contributor();
        c.login = username;
        c.contributions = map.get(username);
        list.add(c);
    }
    return //
    Observable.fromIterable(list).doOnSubscribe((data) -> //
    new Handler(Looper.getMainLooper()).post(//
    () -> adapterSubscriptionInfo.add("(disk) cache subscribed"))).doOnComplete(() -> //
    new Handler(Looper.getMainLooper()).post(() -> adapterSubscriptionInfo.add("(disk) cache completed")));
}
Also used : Bundle(android.os.Bundle) ButterKnife(butterknife.ButterKnife) HashMap(java.util.HashMap) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) OnClick(butterknife.OnClick) R(com.morihacky.android.rxjava.R) ArrayList(java.util.ArrayList) BindView(butterknife.BindView) Handler(android.os.Handler) Looper(android.os.Looper) Map(java.util.Map) View(android.view.View) Observable(io.reactivex.Observable) Schedulers(io.reactivex.schedulers.Schedulers) Unbinder(butterknife.Unbinder) Contributor(com.morihacky.android.rxjava.retrofit.Contributor) GithubApi(com.morihacky.android.rxjava.retrofit.GithubApi) LayoutInflater(android.view.LayoutInflater) GithubService(com.morihacky.android.rxjava.retrofit.GithubService) ViewGroup(android.view.ViewGroup) Timber(timber.log.Timber) TimeUnit(java.util.concurrent.TimeUnit) ArrayAdapter(android.widget.ArrayAdapter) List(java.util.List) TextView(android.widget.TextView) DisposableObserver(io.reactivex.observers.DisposableObserver) ListView(android.widget.ListView) Nullable(android.support.annotation.Nullable) ArrayList(java.util.ArrayList) Contributor(com.morihacky.android.rxjava.retrofit.Contributor) Handler(android.os.Handler)

Example 42 with Observable

use of io.reactivex.Observable in project RxJava-Android-Samples by kaushikgopal.

the class PseudoCacheFragment method getFreshNetworkData.

private Observable<Contributor> getFreshNetworkData() {
    String githubToken = getResources().getString(R.string.github_oauth_token);
    GithubApi githubService = GithubService.createGithubService(githubToken);
    return githubService.contributors("square", "retrofit").flatMap(Observable::fromIterable).doOnSubscribe((data) -> //
    new Handler(Looper.getMainLooper()).post(//
    () -> adapterSubscriptionInfo.add("(network) subscribed"))).doOnComplete(() -> //
    new Handler(Looper.getMainLooper()).post(() -> adapterSubscriptionInfo.add("(network) completed")));
}
Also used : Bundle(android.os.Bundle) ButterKnife(butterknife.ButterKnife) HashMap(java.util.HashMap) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) OnClick(butterknife.OnClick) R(com.morihacky.android.rxjava.R) ArrayList(java.util.ArrayList) BindView(butterknife.BindView) Handler(android.os.Handler) Looper(android.os.Looper) Map(java.util.Map) View(android.view.View) Observable(io.reactivex.Observable) Schedulers(io.reactivex.schedulers.Schedulers) Unbinder(butterknife.Unbinder) Contributor(com.morihacky.android.rxjava.retrofit.Contributor) GithubApi(com.morihacky.android.rxjava.retrofit.GithubApi) LayoutInflater(android.view.LayoutInflater) GithubService(com.morihacky.android.rxjava.retrofit.GithubService) ViewGroup(android.view.ViewGroup) Timber(timber.log.Timber) TimeUnit(java.util.concurrent.TimeUnit) ArrayAdapter(android.widget.ArrayAdapter) List(java.util.List) TextView(android.widget.TextView) DisposableObserver(io.reactivex.observers.DisposableObserver) ListView(android.widget.ListView) Nullable(android.support.annotation.Nullable) GithubApi(com.morihacky.android.rxjava.retrofit.GithubApi) Handler(android.os.Handler) Observable(io.reactivex.Observable)

Example 43 with Observable

use of io.reactivex.Observable in project RxCache by VictorAlbertos.

the class BrewJavaFile method getActionProvider.

private MethodSpec getActionProvider(ClassName providersClassName, ProvidersClass.Method method) {
    String methodName = method.name;
    TypeName list = ClassName.get(method.enclosingTypeObservable);
    TypeName enclosingTypeList = ClassName.get(method.enclosingTypeObservable.getTypeArguments().get(0));
    String enclosingTypeListName = enclosingTypeList.toString();
    ParameterizedTypeName action = ParameterizedTypeName.get(ClassName.get(ActionsList.class), enclosingTypeList);
    ParameterizedTypeName evict = ParameterizedTypeName.get(ClassName.get(ActionsList.Evict.class), enclosingTypeList);
    ParameterizedTypeName arrayList = ParameterizedTypeName.get(ClassName.get(ArrayList.class), enclosingTypeList);
    ParameterizedTypeName observable = ParameterizedTypeName.get(ClassName.get(Observable.class), list);
    ParameterSpec rxProvidersInstance = ParameterSpec.builder(providersClassName, "proxy").addModifiers(Modifier.FINAL).build();
    MethodSpec.Builder builder = MethodSpec.methodBuilder(methodName).addModifiers(Modifier.PUBLIC, Modifier.STATIC).addParameter(rxProvidersInstance).returns(action);
    if (method.hasDynamicKey) {
        builder.addParameter(DynamicKey.class, "dynamicKey", Modifier.FINAL);
    } else if (method.hasDynamicKeyGroup) {
        builder.addParameter(DynamicKeyGroup.class, "dynamicKeyGroup", Modifier.FINAL);
    }
    builder.beginControlFlow("$T evict = new $T()", evict, evict).beginControlFlow("@Override public $T call($T elements)", observable, observable);
    if (method.hasDynamicKey) {
        setReturnEvictForEvictDynamicKey(builder, methodName);
    } else if (method.hasDynamicKeyGroup) {
        setReturnEvictForEvictDynamicKeyGroup(builder, methodName);
    } else {
        setReturnEvictForEvictProvider(builder, methodName);
    }
    builder.endControlFlow().endControlFlow(";");
    if (method.hasDynamicKey) {
        setCacheForEvictDynamicKey(builder, observable, arrayList, methodName, enclosingTypeListName);
    } else if (method.hasDynamicKeyGroup) {
        setCacheForEvictDynamicKeyGroup(builder, observable, arrayList, methodName, enclosingTypeListName);
    } else {
        setCacheForEvictProvider(builder, observable, arrayList, methodName, enclosingTypeListName);
    }
    builder.addStatement("return ActionsList.with(evict, oCache)");
    return builder.build();
}
Also used : ParameterizedTypeName(com.squareup.javapoet.ParameterizedTypeName) TypeName(com.squareup.javapoet.TypeName) ParameterSpec(com.squareup.javapoet.ParameterSpec) MethodSpec(com.squareup.javapoet.MethodSpec) ArrayList(java.util.ArrayList) Observable(io.reactivex.Observable) ParameterizedTypeName(com.squareup.javapoet.ParameterizedTypeName)

Example 44 with Observable

use of io.reactivex.Observable in project requery by requery.

the class PeopleActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getSupportActionBar() != null) {
        getSupportActionBar().setTitle("People");
    }
    setContentView(R.layout.activity_people);
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
    data = ((PeopleApplication) getApplication()).getData();
    executor = Executors.newSingleThreadExecutor();
    adapter = new PersonAdapter();
    adapter.setExecutor(executor);
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    data.count(Person.class).get().single().subscribe(new Consumer<Integer>() {

        @Override
        public void accept(Integer integer) {
            if (integer == 0) {
                Observable.fromCallable(new CreatePeople(data)).flatMap(new Function<Observable<Iterable<Person>>, Observable<?>>() {

                    @Override
                    public Observable<?> apply(Observable<Iterable<Person>> o) {
                        return o;
                    }
                }).observeOn(Schedulers.computation()).subscribe(new Consumer<Object>() {

                    @Override
                    public void accept(Object o) {
                        adapter.queryAsync();
                    }
                });
            }
        }
    });
}
Also used : LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) Observable(io.reactivex.Observable) Function(io.reactivex.functions.Function) Consumer(io.reactivex.functions.Consumer) RecyclerView(android.support.v7.widget.RecyclerView) Person(io.requery.android.example.app.model.Person)

Example 45 with Observable

use of io.reactivex.Observable in project retrofit by square.

the class RxJava2CallAdapterFactoryTest method rawResponseTypeThrows.

@Test
public void rawResponseTypeThrows() {
    Type observableType = new TypeToken<Observable<Response>>() {
    }.getType();
    try {
        factory.get(observableType, NO_ANNOTATIONS, retrofit);
        fail();
    } catch (IllegalStateException e) {
        assertThat(e).hasMessage("Response must be parameterized as Response<Foo> or Response<? extends Foo>");
    }
    Type singleType = new TypeToken<Single<Response>>() {
    }.getType();
    try {
        factory.get(singleType, NO_ANNOTATIONS, retrofit);
        fail();
    } catch (IllegalStateException e) {
        assertThat(e).hasMessage("Response must be parameterized as Response<Foo> or Response<? extends Foo>");
    }
    Type maybeType = new TypeToken<Maybe<Response>>() {
    }.getType();
    try {
        factory.get(maybeType, NO_ANNOTATIONS, retrofit);
        fail();
    } catch (IllegalStateException e) {
        assertThat(e).hasMessage("Response must be parameterized as Response<Foo> or Response<? extends Foo>");
    }
    Type flowableType = new TypeToken<Flowable<Response>>() {
    }.getType();
    try {
        factory.get(flowableType, NO_ANNOTATIONS, retrofit);
        fail();
    } catch (IllegalStateException e) {
        assertThat(e).hasMessage("Response must be parameterized as Response<Foo> or Response<? extends Foo>");
    }
}
Also used : Type(java.lang.reflect.Type) Maybe(io.reactivex.Maybe) Single(io.reactivex.Single) Observable(io.reactivex.Observable) Flowable(io.reactivex.Flowable) Test(org.junit.Test)

Aggregations

Observable (io.reactivex.Observable)88 InOrder (org.mockito.InOrder)27 Test (org.junit.Test)25 TestException (io.reactivex.exceptions.TestException)24 List (java.util.List)17 Observer (io.reactivex.Observer)12 Function (io.reactivex.functions.Function)11 ArrayList (java.util.ArrayList)11 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)11 AndroidSchedulers (io.reactivex.android.schedulers.AndroidSchedulers)10 TestObserver (io.reactivex.observers.TestObserver)10 Bundle (android.os.Bundle)8 Nullable (android.support.annotation.Nullable)8 TimeUnit (java.util.concurrent.TimeUnit)8 LayoutInflater (android.view.LayoutInflater)7 View (android.view.View)7 ViewGroup (android.view.ViewGroup)7 TypeReference (com.fasterxml.jackson.core.type.TypeReference)7 JsonObject (io.vertx.core.json.JsonObject)7 HttpResponse (io.vertx.reactivex.ext.web.client.HttpResponse)7