From f4c69bb3cc88ab733b3b0e43603f401651c5d3d1 Mon Sep 17 00:00:00 2001 From: GongCheng Date: Tue, 28 Mar 2017 16:33:01 +0800 Subject: [PATCH 01/64] fix word spelling mistake in RxBus --- .../main/java/com/rxjava2/android/samples/ui/rxbus/RxBus.java | 2 +- .../com/rxjava2/android/samples/ui/rxbus/RxBusActivity.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBus.java b/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBus.java index 88b7a9a..cdc81b0 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBus.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBus.java @@ -18,7 +18,7 @@ public void send(Object o) { bus.onNext(o); } - public Observable toObserverable() { + public Observable toObservable() { return bus; } diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBusActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBusActivity.java index 5caba89..2911b42 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBusActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/rxbus/RxBusActivity.java @@ -41,7 +41,7 @@ protected void onCreate(Bundle savedInstanceState) { disposables.add(((MyApplication) getApplication()) .bus() - .toObserverable() + .toObservable() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { From b25817e70f8e7e94384bf443b1afae4c753cfd14 Mon Sep 17 00:00:00 2001 From: AMIT SHEKHAR Date: Fri, 21 Apr 2017 14:35:00 +0530 Subject: [PATCH 02/64] Add Join Mindorks Community Badge --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5fde748..1c761fe 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ # Learning RxJava 2 for Android by example [![Mindorks](https://img.shields.io/badge/mindorks-opensource-blue.svg)](https://mindorks.com/open-source-projects) +[![Mindorks Community](https://img.shields.io/badge/join-community-blue.svg)](https://mindorks.com/join-community) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-RxJava2%20Android%20Samples-blue.svg?style=flat)](https://android-arsenal.com/details/3/4314) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://opensource.org/licenses/Apache-2.0) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/amitshekhariitbhu/RxJava2-Android-Samples/blob/master/LICENSE) @@ -147,4 +148,4 @@ RxJava1 -> RxJava2 ### Contributing to RxJava 2 Android Samples Just make pull request. You are in! - \ No newline at end of file + From ac69f07f4892682b87567d5253594ed5b1acaf3a Mon Sep 17 00:00:00 2001 From: AMIT SHEKHAR Date: Sun, 7 May 2017 14:35:05 +0530 Subject: [PATCH 03/64] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c761fe..867d14c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/amitshekhariitbhu/RxJava2-Android-Samples/blob/master/LICENSE) ## How to use RxJava 2 in Android Application -## How to migrate from RxJava 1 to RxJava 2 +## How to migrate from RxJava 1.0 to RxJava 2.0 ### This project is for : * who is migrating to RxJava 2 From e8fbc22a21687f5d55edd93d10de163d6f6221e9 Mon Sep 17 00:00:00 2001 From: AMIT SHEKHAR Date: Sun, 7 May 2017 14:35:43 +0530 Subject: [PATCH 04/64] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 867d14c..449d064 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ RxJava 2.0 has been completely rewritten from scratch on top of the Reactive-Str Because Reactive-Streams has a different architecture, it mandates changes to some well known RxJava types. -# Migration From RxJava 1 to RxJava 2 +# Migration From RxJava 1.0 to RxJava 2.0 To allow having RxJava 1 and RxJava 2 side-by-side, RxJava 2 is under the maven coordinates io.reactivex.rxjava2:rxjava:2.x.y and classes are accessible below io.reactivex. From ce48977d64589a1b0d9dab0c48c4da95bfbd254c Mon Sep 17 00:00:00 2001 From: WeRockStar Date: Fri, 19 May 2017 22:59:07 +0700 Subject: [PATCH 05/64] Update gradle wrapper --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 48443aa..ddbfadd 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip From d930e73c2a7ec74fa8f0207b6b36dc9adcf84e40 Mon Sep 17 00:00:00 2001 From: WeRockStar Date: Fri, 19 May 2017 23:18:37 +0700 Subject: [PATCH 06/64] Add compose for reusable code --- app/src/main/AndroidManifest.xml | 3 + .../ComposeOperatorExampleActivity.java | 32 ++++++++ .../samples/ui/compose/RxSchedulers.java | 75 +++++++++++++++++++ .../activity_compose_operator_example.xml | 9 +++ app/src/main/res/values/strings.xml | 1 + 5 files changed, 120 insertions(+) create mode 100644 app/src/main/java/com/rxjava2/android/samples/ui/compose/ComposeOperatorExampleActivity.java create mode 100644 app/src/main/java/com/rxjava2/android/samples/ui/compose/RxSchedulers.java create mode 100644 app/src/main/res/layout/activity_compose_operator_example.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a6a3957..9b4c4f7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -120,6 +120,9 @@ + \ No newline at end of file diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/compose/ComposeOperatorExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/compose/ComposeOperatorExampleActivity.java new file mode 100644 index 0000000..faf2291 --- /dev/null +++ b/app/src/main/java/com/rxjava2/android/samples/ui/compose/ComposeOperatorExampleActivity.java @@ -0,0 +1,32 @@ +package com.rxjava2.android.samples.ui.compose; + +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; + +import com.rxjava2.android.samples.R; + +import io.reactivex.Flowable; +import io.reactivex.Observable; + +public class ComposeOperatorExampleActivity extends AppCompatActivity { + + private RxSchedulers schedulers = new RxSchedulers(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_compose_operator_example); + + /* + Compose for reusable code. + */ + Observable.just(1, 2, 3, 4, 5) + .compose(schedulers.applyObservableAsync()) + .subscribe(/* */); + + Flowable.just(1, 2, 3, 4, 5) + .compose(schedulers.applyFlowableAsysnc()) + .subscribe(/* */); + + } +} diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/compose/RxSchedulers.java b/app/src/main/java/com/rxjava2/android/samples/ui/compose/RxSchedulers.java new file mode 100644 index 0000000..6be576c --- /dev/null +++ b/app/src/main/java/com/rxjava2/android/samples/ui/compose/RxSchedulers.java @@ -0,0 +1,75 @@ +package com.rxjava2.android.samples.ui.compose; + +import org.reactivestreams.Publisher; + +import io.reactivex.Flowable; +import io.reactivex.FlowableTransformer; +import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.ObservableTransformer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +/** + * Created by werockstar on 5/19/2017. + */ + +public class RxSchedulers { + + public ObservableTransformer applyObservableAsync() { + return new ObservableTransformer() { + @Override + public ObservableSource apply(Observable observable) { + return observable.subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + }; + } + + public ObservableTransformer applyObservableCompute() { + return new ObservableTransformer() { + @Override + public ObservableSource apply(Observable observable) { + return observable.subscribeOn(Schedulers.computation()) + .observeOn(AndroidSchedulers.mainThread()); + } + }; + } + + public ObservableTransformer applyObservableMainThread() { + return new ObservableTransformer() { + @Override + public ObservableSource apply(Observable observable) { + return observable.observeOn(AndroidSchedulers.mainThread()); + } + }; + } + + public FlowableTransformer applyFlowableMainThread() { + return new FlowableTransformer() { + @Override + public Publisher apply(Flowable flowable) { + return flowable.observeOn(AndroidSchedulers.mainThread()); + } + }; + } + + public FlowableTransformer applyFlowableAsysnc() { + return new FlowableTransformer() { + @Override + public Publisher apply(Flowable flowable) { + return flowable.observeOn(AndroidSchedulers.mainThread()); + } + }; + } + + public FlowableTransformer applyFlowableCompute() { + return new FlowableTransformer() { + @Override + public Publisher apply(Flowable flowable) { + return flowable.observeOn(AndroidSchedulers.mainThread()); + } + }; + } + +} diff --git a/app/src/main/res/layout/activity_compose_operator_example.xml b/app/src/main/res/layout/activity_compose_operator_example.xml new file mode 100644 index 0000000..7783403 --- /dev/null +++ b/app/src/main/res/layout/activity_compose_operator_example.xml @@ -0,0 +1,9 @@ + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 94ae0d7..cdd27c4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,4 +39,5 @@ flatMapWithZip Click Me RxBus + Compose for reusable From caac4fc9a1bbfb222e76a99ff3f446c827b01019 Mon Sep 17 00:00:00 2001 From: WeRockStar Date: Fri, 19 May 2017 23:33:54 +0700 Subject: [PATCH 07/64] Add navigation to compose activity --- .../com/rxjava2/android/samples/ui/SelectionActivity.java | 5 +++++ .../main/res/layout/activity_compose_operator_example.xml | 5 ++--- app/src/main/res/layout/activity_selection.xml | 7 +++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/SelectionActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/SelectionActivity.java index 87ede3c..e431b0a 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/SelectionActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/SelectionActivity.java @@ -7,6 +7,7 @@ import com.rxjava2.android.samples.MyApplication; import com.rxjava2.android.samples.R; +import com.rxjava2.android.samples.ui.compose.ComposeOperatorExampleActivity; import com.rxjava2.android.samples.ui.networking.NetworkingActivity; import com.rxjava2.android.samples.ui.pagination.PaginationActivity; import com.rxjava2.android.samples.ui.rxbus.RxBusActivity; @@ -35,4 +36,8 @@ public void startRxBusActivity(View view) { public void startPaginationActivity(View view) { startActivity(new Intent(SelectionActivity.this, PaginationActivity.class)); } + + public void startComposeOperator(View view) { + startActivity(new Intent(SelectionActivity.this, ComposeOperatorExampleActivity.class)); + } } diff --git a/app/src/main/res/layout/activity_compose_operator_example.xml b/app/src/main/res/layout/activity_compose_operator_example.xml index 7783403..0f6e27c 100644 --- a/app/src/main/res/layout/activity_compose_operator_example.xml +++ b/app/src/main/res/layout/activity_compose_operator_example.xml @@ -1,9 +1,8 @@ - - + diff --git a/app/src/main/res/layout/activity_selection.xml b/app/src/main/res/layout/activity_selection.xml index afa4270..063101a 100644 --- a/app/src/main/res/layout/activity_selection.xml +++ b/app/src/main/res/layout/activity_selection.xml @@ -43,5 +43,12 @@ android:text="@string/pagination" android:textColor="@android:color/black" /> +