From e4f2609e7cb73b95038567b24e14b5d4bbdab977 Mon Sep 17 00:00:00 2001 From: AMIT SHEKHAR Date: Fri, 3 Aug 2018 07:40:19 +0530 Subject: [PATCH 01/39] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 277e9ca..7626ec1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![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) +[![Mindorks Android Store](https://img.shields.io/badge/Mindorks%20Android%20Store-Android%20Debug%20Database-blue.svg?style=flat)](https://mindorks.com/android/store) [![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) From cf4fe664e624a381487ccad3156291e0e9d914d4 Mon Sep 17 00:00:00 2001 From: AMIT SHEKHAR Date: Fri, 3 Aug 2018 07:43:12 +0530 Subject: [PATCH 02/39] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7626ec1..e2b045e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![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) -[![Mindorks Android Store](https://img.shields.io/badge/Mindorks%20Android%20Store-Android%20Debug%20Database-blue.svg?style=flat)](https://mindorks.com/android/store) +[![Mindorks Android Store](https://img.shields.io/badge/Mindorks%20Android%20Store-RxJava2%20Android%20Samples-blue.svg?style=flat)](https://mindorks.com/android/store) [![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) From a2166168213fbbf19b4bf0f4123029b5bdb8b3f0 Mon Sep 17 00:00:00 2001 From: Bapusaheb Patil Date: Wed, 5 Sep 2018 11:54:26 +0530 Subject: [PATCH 03/39] Migrated to Android X | Updated build scripts --- app/build.gradle | 24 +++++++++++-------- .../android/samples/MyApplication.java | 2 ++ .../android/samples/ui/OperatorsActivity.java | 2 +- .../android/samples/ui/SelectionActivity.java | 2 +- .../ComposeOperatorExampleActivity.java | 2 +- .../ui/networking/NetworkingActivity.java | 2 +- .../AsyncSubjectExampleActivity.java | 2 +- .../BehaviorSubjectExampleActivity.java | 2 +- .../ui/operators/BufferExampleActivity.java | 2 +- .../CompletableObserverExampleActivity.java | 2 +- .../ui/operators/ConcatExampleActivity.java | 2 +- .../ui/operators/DebounceExampleActivity.java | 2 +- .../ui/operators/DeferExampleActivity.java | 2 +- .../ui/operators/DelayExampleActivity.java | 2 +- .../operators/DisposableExampleActivity.java | 2 +- .../ui/operators/DistinctExampleActivity.java | 4 ++-- .../ui/operators/FilterExampleActivity.java | 2 +- .../ui/operators/FlowableExampleActivity.java | 2 +- .../ui/operators/IntervalExampleActivity.java | 2 +- .../LastOperatorExampleActivity.java | 4 ++-- .../ui/operators/MapExampleActivity.java | 2 +- .../ui/operators/MergeExampleActivity.java | 2 +- .../PublishSubjectExampleActivity.java | 2 +- .../ui/operators/ReduceExampleActivity.java | 2 +- .../ui/operators/ReplayExampleActivity.java | 2 +- .../ReplaySubjectExampleActivity.java | 2 +- .../ui/operators/ScanExampleActivity.java | 2 +- .../ui/operators/SimpleExampleActivity.java | 2 +- .../SingleObserverExampleActivity.java | 2 +- .../ui/operators/SkipExampleActivity.java | 2 +- .../operators/SwitchMapExampleActivity.java | 4 ++-- .../ui/operators/TakeExampleActivity.java | 2 +- .../ThrottleFirstExampleActivity.java | 2 +- .../ThrottleLastExampleActivity.java | 2 +- .../ui/operators/TimerExampleActivity.java | 2 +- .../ui/operators/WindowExampleActivity.java | 2 +- .../ui/operators/ZipExampleActivity.java | 2 +- .../ui/pagination/PaginationActivity.java | 8 +++---- .../ui/pagination/PaginationAdapter.java | 2 +- .../samples/ui/rxbus/RxBusActivity.java | 2 +- .../samples/ui/search/SearchActivity.java | 2 +- .../main/res/layout/activity_pagination.xml | 2 +- build.gradle | 4 +++- gradle.properties | 2 ++ gradle/wrapper/gradle-wrapper.properties | 2 +- 45 files changed, 68 insertions(+), 58 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 62fe87b..128b470 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 28 + buildToolsVersion "28.0.2" defaultConfig { applicationId "com.rxjava2.android.samples" minSdkVersion 16 - targetSdkVersion 25 + targetSdkVersion 28 versionCode 1 versionName "1.0" } @@ -20,11 +20,15 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:25.1.0' - compile 'com.android.support:recyclerview-v7:25.1.0' - compile 'io.reactivex.rxjava2:rxjava:2.1.1' - compile 'io.reactivex.rxjava2:rxandroid:2.0.1' - compile 'com.amitshekhar.android:rx2-android-networking:1.0.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'junit:junit:4.12' + implementation 'androidx.appcompat:appcompat:1.0.0-rc02' + implementation 'androidx.recyclerview:recyclerview:1.0.0-rc02' + + // RxJava2 Dependencies + implementation 'io.reactivex.rxjava2:rxjava:2.2.1' + implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' + + // FastAndroidNetworking Dependency + implementation 'com.amitshekhar.android:rx2-android-networking:1.0.2' } diff --git a/app/src/main/java/com/rxjava2/android/samples/MyApplication.java b/app/src/main/java/com/rxjava2/android/samples/MyApplication.java index d4df621..4b3b2ab 100644 --- a/app/src/main/java/com/rxjava2/android/samples/MyApplication.java +++ b/app/src/main/java/com/rxjava2/android/samples/MyApplication.java @@ -1,5 +1,6 @@ package com.rxjava2.android.samples; +import android.annotation.SuppressLint; import android.app.Application; import com.rxjava2.android.samples.model.Events; @@ -29,6 +30,7 @@ public RxBus bus() { return bus; } + @SuppressLint("CheckResult") public void sendAutoEvent() { Observable.timer(2, TimeUnit.SECONDS) .subscribe(new Consumer() { diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java index 674d760..5349acf 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java @@ -2,7 +2,7 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.rxjava2.android.samples.R; 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 d3c6082..8ec0990 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 @@ -2,7 +2,7 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.rxjava2.android.samples.MyApplication; 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 index faf2291..89ab45b 100644 --- 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 @@ -1,10 +1,10 @@ package com.rxjava2.android.samples.ui.compose; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import com.rxjava2.android.samples.R; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Flowable; import io.reactivex.Observable; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java index d643ae3..1968f22 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.networking; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.util.Pair; import android.view.View; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java index 501bc63..689f2f8 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java index e398fd8..a5c1c7e 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java index ead4b70..c0d7f7a 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java index 1f7451a..00dde7b 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java index ce4a3f5..46cd7d7 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java index d0f9802..b7f8a0a 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java index 4aed8c6..c0c17d0 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java index 2979e75..0b32c16 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java index 2dd124b..4fe3a86 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java @@ -2,7 +2,7 @@ import android.os.Bundle; import android.os.SystemClock; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java index 8e5f2f6..45ad9e6 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java @@ -1,8 +1,8 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java index e470182..eb08237 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java index 7303cc2..4e53e58 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java index 22469be..d50bcb8 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java index b1c86ff..9833850 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java @@ -1,8 +1,8 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java index ccc6ace..6b43a5c 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java index 0cd7487..a42b077 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java index af8822c..a77b39a 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java index 1ab9930..7c1710a 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java index 8880ea9..4281092 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java index 7f09563..533349c 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java index f70e667..6a341fd 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java index 423047d..be0a740 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java index 6c9ce7c..a756aa2 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java index 26706ea..3b6ba33 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java index 127d611..9d61c22 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java @@ -1,8 +1,8 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java index ae71924..3de0560 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java index 941dd4d..390fd54 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java index 95b6a45..31b88de 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java index 17f6369..0689374 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java index 672d3ce..01facfc 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java @@ -1 +1 @@ -package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; import java.util.concurrent.TimeUnit; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; import io.reactivex.schedulers.Schedulers; public class WindowExampleActivity extends AppCompatActivity { private static final String TAG = WindowExampleActivity.class.getSimpleName(); Button btn; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); btn = (Button) findViewById(R.id.btn); textView = (TextView) findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { doSomeWork(); } }); } /* * Example using window operator -> It periodically * subdivide items from an Observable into * Observable windows and emit these windows rather than * emitting the items one at a time */ protected void doSomeWork() { Observable.interval(1, TimeUnit.SECONDS).take(12) .window(3, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getConsumer()); } public Consumer> getConsumer() { return new Consumer>() { @Override public void accept(Observable observable) throws Exception { Log.d(TAG, "Sub Divide begin...."); textView.append("Sub Divide begin ...."); textView.append(AppConstant.LINE_SEPARATOR); observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { @Override public void accept(Long value) { Log.d(TAG, "Next:" + value); textView.append("Next:" + value); textView.append(AppConstant.LINE_SEPARATOR); } }); } }; } } \ No newline at end of file +package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; import java.util.concurrent.TimeUnit; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; import io.reactivex.schedulers.Schedulers; public class WindowExampleActivity extends AppCompatActivity { private static final String TAG = WindowExampleActivity.class.getSimpleName(); Button btn; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); btn = (Button) findViewById(R.id.btn); textView = (TextView) findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { doSomeWork(); } }); } /* * Example using window operator -> It periodically * subdivide items from an Observable into * Observable windows and emit these windows rather than * emitting the items one at a time */ protected void doSomeWork() { Observable.interval(1, TimeUnit.SECONDS).take(12) .window(3, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getConsumer()); } public Consumer> getConsumer() { return new Consumer>() { @Override public void accept(Observable observable) throws Exception { Log.d(TAG, "Sub Divide begin...."); textView.append("Sub Divide begin ...."); textView.append(AppConstant.LINE_SEPARATOR); observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { @Override public void accept(Long value) { Log.d(TAG, "Next:" + value); textView.append("Next:" + value); textView.append(AppConstant.LINE_SEPARATOR); } }); } }; } } \ No newline at end of file diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java index af446f3..a45a937 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java index b68b312..eab2a84 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java @@ -1,9 +1,6 @@ package com.rxjava2.android.samples.ui.pagination; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.ProgressBar; @@ -15,6 +12,9 @@ import java.util.List; import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import io.reactivex.Flowable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.annotations.NonNull; @@ -50,7 +50,7 @@ protected void onCreate(Bundle savedInstanceState) { recyclerView = (RecyclerView) findViewById(R.id.recyclerView); progressBar = (ProgressBar) findViewById(R.id.progressBar); layoutManager = new LinearLayoutManager(this); - layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + layoutManager.setOrientation(RecyclerView.VERTICAL); recyclerView.setLayoutManager(layoutManager); paginationAdapter = new PaginationAdapter(); recyclerView.setAdapter(paginationAdapter); diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java index 9c9d162..f9b0e11 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java @@ -1,6 +1,6 @@ package com.rxjava2.android.samples.ui.pagination; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; 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 2911b42..63dcabb 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 @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.rxbus; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java index 2382286..18d2e4b 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples.ui.search; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.widget.SearchView; import android.widget.TextView; diff --git a/app/src/main/res/layout/activity_pagination.xml b/app/src/main/res/layout/activity_pagination.xml index f4a049b..d47a5aa 100644 --- a/app/src/main/res/layout/activity_pagination.xml +++ b/app/src/main/res/layout/activity_pagination.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - Date: Wed, 5 Sep 2018 14:32:31 +0530 Subject: [PATCH 04/39] Code refactoring | Added AndroidX Espresso --- app/build.gradle | 3 +++ .../android/samples/ApplicationTest.java | 2 +- .../android/samples/MyApplication.java | 4 +--- .../rxjava2/android/samples/model/Car.java | 2 +- .../android/samples/ui/OperatorsActivity.java | 3 ++- .../android/samples/ui/SelectionActivity.java | 3 ++- .../ui/networking/NetworkingActivity.java | 22 +++++++++---------- .../AsyncSubjectExampleActivity.java | 6 ++--- .../BehaviorSubjectExampleActivity.java | 6 ++--- .../ui/operators/BufferExampleActivity.java | 6 ++--- .../CompletableObserverExampleActivity.java | 6 ++--- .../ui/operators/ConcatExampleActivity.java | 6 ++--- .../ui/operators/DebounceExampleActivity.java | 6 ++--- .../ui/operators/DeferExampleActivity.java | 6 ++--- .../ui/operators/DelayExampleActivity.java | 6 ++--- .../operators/DisposableExampleActivity.java | 8 +++---- .../ui/operators/DistinctExampleActivity.java | 8 +++---- .../ui/operators/FilterExampleActivity.java | 8 +++---- .../ui/operators/FlowableExampleActivity.java | 6 ++--- .../ui/operators/IntervalExampleActivity.java | 6 ++--- .../LastOperatorExampleActivity.java | 8 +++---- .../ui/operators/MapExampleActivity.java | 10 ++++----- .../ui/operators/MergeExampleActivity.java | 6 ++--- .../PublishSubjectExampleActivity.java | 6 ++--- .../ui/operators/ReduceExampleActivity.java | 6 ++--- .../ui/operators/ReplayExampleActivity.java | 6 ++--- .../ReplaySubjectExampleActivity.java | 6 ++--- .../ui/operators/ScanExampleActivity.java | 8 +++---- .../ui/operators/SimpleExampleActivity.java | 6 ++--- .../SingleObserverExampleActivity.java | 6 ++--- .../ui/operators/SkipExampleActivity.java | 6 ++--- .../operators/SwitchMapExampleActivity.java | 8 +++---- .../ui/operators/TakeExampleActivity.java | 6 ++--- .../ThrottleFirstExampleActivity.java | 6 ++--- .../ThrottleLastExampleActivity.java | 6 ++--- .../ui/operators/TimerExampleActivity.java | 6 ++--- .../ui/operators/WindowExampleActivity.java | 2 +- .../ui/operators/ZipExampleActivity.java | 12 +++++----- .../ui/pagination/PaginationActivity.java | 10 ++++----- .../ui/pagination/PaginationAdapter.java | 3 ++- .../samples/ui/rxbus/RxBusActivity.java | 8 +++---- .../samples/ui/search/SearchActivity.java | 14 ++++++------ .../android/samples/ExampleUnitTest.java | 4 ++-- 43 files changed, 143 insertions(+), 139 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 128b470..019375b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,6 +22,9 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4' + androidTestImplementation 'androidx.test:runner:1.1.0-alpha4' + androidTestImplementation 'androidx.test:rules:1.1.0-alpha4' implementation 'androidx.appcompat:appcompat:1.0.0-rc02' implementation 'androidx.recyclerview:recyclerview:1.0.0-rc02' diff --git a/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java b/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java index ddaec0b..1802a5d 100644 --- a/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java +++ b/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java @@ -1,7 +1,7 @@ package com.rxjava2.android.samples; import android.app.Application; -import android.test.ApplicationTestCase; +import androidx.test.*; /** * Testing Fundamentals diff --git a/app/src/main/java/com/rxjava2/android/samples/MyApplication.java b/app/src/main/java/com/rxjava2/android/samples/MyApplication.java index 4b3b2ab..781cb30 100644 --- a/app/src/main/java/com/rxjava2/android/samples/MyApplication.java +++ b/app/src/main/java/com/rxjava2/android/samples/MyApplication.java @@ -1,6 +1,5 @@ package com.rxjava2.android.samples; -import android.annotation.SuppressLint; import android.app.Application; import com.rxjava2.android.samples.model.Events; @@ -30,12 +29,11 @@ public RxBus bus() { return bus; } - @SuppressLint("CheckResult") public void sendAutoEvent() { Observable.timer(2, TimeUnit.SECONDS) .subscribe(new Consumer() { @Override - public void accept(Long aLong) throws Exception { + public void accept(Long aLong) { bus.send(new Events.AutoEvent()); } }); diff --git a/app/src/main/java/com/rxjava2/android/samples/model/Car.java b/app/src/main/java/com/rxjava2/android/samples/model/Car.java index e223650..a5ecffa 100644 --- a/app/src/main/java/com/rxjava2/android/samples/model/Car.java +++ b/app/src/main/java/com/rxjava2/android/samples/model/Car.java @@ -19,7 +19,7 @@ public void setBrand(String brand) { public Observable brandDeferObservable() { return Observable.defer(new Callable>() { @Override - public ObservableSource call() throws Exception { + public ObservableSource call() { return Observable.just(brand); } }); diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java index 5349acf..0316ad0 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java @@ -2,7 +2,6 @@ import android.content.Intent; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.rxjava2.android.samples.R; @@ -38,6 +37,8 @@ import com.rxjava2.android.samples.ui.operators.WindowExampleActivity; import com.rxjava2.android.samples.ui.operators.ZipExampleActivity; +import androidx.appcompat.app.AppCompatActivity; + public class OperatorsActivity extends AppCompatActivity { @Override 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 8ec0990..e0d6ad5 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 @@ -2,7 +2,6 @@ import android.content.Intent; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.rxjava2.android.samples.MyApplication; @@ -13,6 +12,8 @@ import com.rxjava2.android.samples.ui.rxbus.RxBusActivity; import com.rxjava2.android.samples.ui.search.SearchActivity; +import androidx.appcompat.app.AppCompatActivity; + public class SelectionActivity extends AppCompatActivity { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java index 1968f22..a425a96 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/networking/NetworkingActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.networking; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.util.Pair; import android.view.View; @@ -16,6 +15,7 @@ import java.util.ArrayList; import java.util.List; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; @@ -52,7 +52,7 @@ public void map(View view) { .observeOn(AndroidSchedulers.mainThread()) .map(new Function() { @Override - public User apply(ApiUser apiUser) throws Exception { + public User apply(ApiUser apiUser) { // here we get ApiUser from server User user = new User(apiUser); // then by converting, we are returning user @@ -115,7 +115,7 @@ private void findUsersWhoLovesBoth() { Observable.zip(getCricketFansObservable(), getFootballFansObservable(), new BiFunction, List, List>() { @Override - public List apply(List cricketFans, List footballFans) throws Exception { + public List apply(List cricketFans, List footballFans) { List userWhoLovesBoth = filterUserWhoLovesBoth(cricketFans, footballFans); return userWhoLovesBoth; @@ -183,13 +183,13 @@ public void flatMapAndFilter(View view) { getAllMyFriendsObservable() .flatMap(new Function, ObservableSource>() { // flatMap - to return users one by one @Override - public ObservableSource apply(List usersList) throws Exception { + public ObservableSource apply(List usersList) { return Observable.fromIterable(usersList); // returning user one by one from usersList. } }) .filter(new Predicate() { @Override - public boolean test(User user) throws Exception { + public boolean test(User user) { // filtering user who follows me. return user.isFollowing; } @@ -229,7 +229,7 @@ public void take(View view) { getUserListObservable() .flatMap(new Function, ObservableSource>() { // flatMap - to return users one by one @Override - public ObservableSource apply(List usersList) throws Exception { + public ObservableSource apply(List usersList) { return Observable.fromIterable(usersList); // returning user one by one from usersList. } }) @@ -269,13 +269,13 @@ public void flatMap(View view) { getUserListObservable() .flatMap(new Function, ObservableSource>() { // flatMap - to return users one by one @Override - public ObservableSource apply(List usersList) throws Exception { + public ObservableSource apply(List usersList) { return Observable.fromIterable(usersList); // returning user one by one from usersList. } }) .flatMap(new Function>() { @Override - public ObservableSource apply(User user) throws Exception { + public ObservableSource apply(User user) { // here we get the user one by one // and returns corresponding getUserDetailObservable // for that userId @@ -331,13 +331,13 @@ public void flatMapWithZip(View view) { getUserListObservable() .flatMap(new Function, ObservableSource>() { // flatMap - to return users one by one @Override - public ObservableSource apply(List usersList) throws Exception { + public ObservableSource apply(List usersList) { return Observable.fromIterable(usersList); // returning user one by one from usersList. } }) .flatMap(new Function>>() { @Override - public ObservableSource> apply(User user) throws Exception { + public ObservableSource> apply(User user) { // here we get the user one by one and then we are zipping // two observable - one getUserDetailObservable (network call to get userDetail) // and another Observable.just(user) - just to emit user @@ -345,7 +345,7 @@ public ObservableSource> apply(User user) throws Exceptio Observable.just(user), new BiFunction>() { @Override - public Pair apply(UserDetail userDetail, User user) throws Exception { + public Pair apply(UserDetail userDetail, User user) { // runs when network call completes // we get here userDetail for the corresponding user return new Pair<>(userDetail, user); // returning the pair(userDetail, user) diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java index 689f2f8..d2243a2 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/AsyncSubjectExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.subjects.AsyncSubject; @@ -28,8 +28,8 @@ public class AsyncSubjectExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java index a5c1c7e..9eeadd0 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BehaviorSubjectExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.subjects.BehaviorSubject; @@ -28,8 +28,8 @@ public class BehaviorSubjectExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java index c0d7f7a..9171136 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/BufferExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.List; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; @@ -29,8 +29,8 @@ public class BufferExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java index 00dde7b..4ee612f 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/CompletableObserverExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Completable; import io.reactivex.CompletableObserver; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -31,8 +31,8 @@ public class CompletableObserverExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java index 46cd7d7..8bb3e2b 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ConcatExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; @@ -27,8 +27,8 @@ public class ConcatExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java index b7f8a0a..7837381 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DebounceExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; @@ -34,8 +34,8 @@ public class DebounceExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java index c0c17d0..0e6249c 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DeferExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -11,6 +10,7 @@ import com.rxjava2.android.samples.model.Car; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; @@ -28,8 +28,8 @@ public class DeferExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java index 0b32c16..212092c 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DelayExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -32,8 +32,8 @@ public class DelayExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java index 4fe3a86..9e51b3c 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DisposableExampleActivity.java @@ -2,7 +2,6 @@ import android.os.Bundle; import android.os.SystemClock; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -13,6 +12,7 @@ import java.util.concurrent.Callable; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -34,8 +34,8 @@ public class DisposableExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override @@ -88,7 +88,7 @@ public void onNext(String value) { static Observable sampleObservable() { return Observable.defer(new Callable>() { @Override - public ObservableSource call() throws Exception { + public ObservableSource call() { // Do some long running operation SystemClock.sleep(2000); return Observable.just("one", "two", "three", "four", "five"); diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java index 45ad9e6..af2c0e3 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/DistinctExampleActivity.java @@ -1,8 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -11,6 +9,8 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; @@ -28,8 +28,8 @@ public class DistinctExampleActivity extends AppCompatActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java index eb08237..35ddf9a 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FilterExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; @@ -29,8 +29,8 @@ public class FilterExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override @@ -48,7 +48,7 @@ private void doSomeWork() { Observable.just(1, 2, 3, 4, 5, 6) .filter(new Predicate() { @Override - public boolean test(Integer integer) throws Exception { + public boolean test(Integer integer) { return integer % 2 == 0; } }) diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java index 4e53e58..2bf727f 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/FlowableExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Flowable; import io.reactivex.SingleObserver; import io.reactivex.disposables.Disposable; @@ -28,8 +28,8 @@ public class FlowableExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java index d50bcb8..36baeaf 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/IntervalExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; @@ -32,8 +32,8 @@ public class IntervalExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java index 9833850..5cc3087 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/LastOperatorExampleActivity.java @@ -1,8 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -11,6 +9,8 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.SingleObserver; import io.reactivex.disposables.Disposable; @@ -29,8 +29,8 @@ public class LastOperatorExampleActivity extends AppCompatActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java index 6b43a5c..29794ca 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MapExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -15,6 +14,7 @@ import java.util.List; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; @@ -37,8 +37,8 @@ public class MapExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override @@ -63,7 +63,7 @@ private void doSomeWork() { .map(new Function, List>() { @Override - public List apply(List apiUsers) throws Exception { + public List apply(List apiUsers) { return Utils.convertApiUserListToUserList(apiUsers); } }) @@ -73,7 +73,7 @@ public List apply(List apiUsers) throws Exception { private Observable> getObservable() { return Observable.create(new ObservableOnSubscribe>() { @Override - public void subscribe(ObservableEmitter> e) throws Exception { + public void subscribe(ObservableEmitter> e) { if (!e.isDisposed()) { e.onNext(Utils.getApiUserList()); e.onComplete(); diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java index a42b077..01551bf 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/MergeExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; @@ -27,8 +27,8 @@ public class MergeExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java index a77b39a..d03266b 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/PublishSubjectExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.subjects.PublishSubject; @@ -28,8 +28,8 @@ public class PublishSubjectExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java index 7c1710a..aa8aec1 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReduceExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.MaybeObserver; import io.reactivex.Observable; import io.reactivex.disposables.Disposable; @@ -28,8 +28,8 @@ public class ReduceExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java index 4281092..c1ce888 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplayExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.observables.ConnectableObservable; @@ -28,8 +28,8 @@ public class ReplayExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java index 533349c..34bb5e4 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ReplaySubjectExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.subjects.ReplaySubject; @@ -28,8 +28,8 @@ public class ReplaySubjectExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java index 6a341fd..0c263c2 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ScanExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -27,8 +27,8 @@ public class ScanExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override @@ -47,7 +47,7 @@ private void doSomeWork() { .observeOn(AndroidSchedulers.mainThread()) .scan(new BiFunction() { @Override - public Integer apply(Integer int1, Integer int2) throws Exception { + public Integer apply(Integer int1, Integer int2) { return int1 + int2; } }) diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java index be0a740..6329b1b 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SimpleExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -29,8 +29,8 @@ public class SimpleExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java index a756aa2..403f070 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SingleObserverExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Single; import io.reactivex.SingleObserver; import io.reactivex.disposables.Disposable; @@ -27,8 +27,8 @@ public class SingleObserverExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java index 3b6ba33..06ad8eb 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SkipExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -29,8 +29,8 @@ public class SkipExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java index 9d61c22..d787bc5 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/SwitchMapExampleActivity.java @@ -1,8 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -14,6 +12,8 @@ import java.util.Random; import java.util.concurrent.TimeUnit; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; @@ -36,8 +36,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java index 3de0560..74b4b9f 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -29,8 +29,8 @@ public class TakeExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java index 390fd54..a009cc1 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleFirstExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; @@ -35,8 +35,8 @@ public class ThrottleFirstExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java index 31b88de..b48e208 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ThrottleLastExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; @@ -34,8 +34,8 @@ public class ThrottleLastExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java index 0689374..cbfa1e1 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TimerExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -12,6 +11,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -31,8 +31,8 @@ public class TimerExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java index 01facfc..db2ed70 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/WindowExampleActivity.java @@ -1 +1 @@ -package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; import java.util.concurrent.TimeUnit; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; import io.reactivex.schedulers.Schedulers; public class WindowExampleActivity extends AppCompatActivity { private static final String TAG = WindowExampleActivity.class.getSimpleName(); Button btn; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); btn = (Button) findViewById(R.id.btn); textView = (TextView) findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { doSomeWork(); } }); } /* * Example using window operator -> It periodically * subdivide items from an Observable into * Observable windows and emit these windows rather than * emitting the items one at a time */ protected void doSomeWork() { Observable.interval(1, TimeUnit.SECONDS).take(12) .window(3, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getConsumer()); } public Consumer> getConsumer() { return new Consumer>() { @Override public void accept(Observable observable) throws Exception { Log.d(TAG, "Sub Divide begin...."); textView.append("Sub Divide begin ...."); textView.append(AppConstant.LINE_SEPARATOR); observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { @Override public void accept(Long value) { Log.d(TAG, "Next:" + value); textView.append("Next:" + value); textView.append(AppConstant.LINE_SEPARATOR); } }); } }; } } \ No newline at end of file +package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.utils.AppConstant; import java.util.concurrent.TimeUnit; import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; import io.reactivex.schedulers.Schedulers; public class WindowExampleActivity extends AppCompatActivity { private static final String TAG = WindowExampleActivity.class.getSimpleName(); Button btn; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); btn = findViewById(R.id.btn); textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { doSomeWork(); } }); } /* * Example using window operator -> It periodically * subdivide items from an Observable into * Observable windows and emit these windows rather than * emitting the items one at a time */ protected void doSomeWork() { Observable.interval(1, TimeUnit.SECONDS).take(12) .window(3, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getConsumer()); } public Consumer> getConsumer() { return new Consumer>() { @Override public void accept(Observable observable) { Log.d(TAG, "Sub Divide begin...."); textView.append("Sub Divide begin ...."); textView.append(AppConstant.LINE_SEPARATOR); observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { @Override public void accept(Long value) { Log.d(TAG, "Next:" + value); textView.append("Next:" + value); textView.append(AppConstant.LINE_SEPARATOR); } }); } }; } } \ No newline at end of file diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java index a45a937..18c97f3 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/ZipExampleActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.operators; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -14,6 +13,7 @@ import java.util.List; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; @@ -36,8 +36,8 @@ public class ZipExampleActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); - btn = (Button) findViewById(R.id.btn); - textView = (TextView) findViewById(R.id.textView); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); btn.setOnClickListener(new View.OnClickListener() { @Override @@ -57,7 +57,7 @@ private void doSomeWork() { Observable.zip(getCricketFansObservable(), getFootballFansObservable(), new BiFunction, List, List>() { @Override - public List apply(List cricketFans, List footballFans) throws Exception { + public List apply(List cricketFans, List footballFans) { return Utils.filterUserWhoLovesBoth(cricketFans, footballFans); } }) @@ -71,7 +71,7 @@ public List apply(List cricketFans, List footballFans) throws private Observable> getCricketFansObservable() { return Observable.create(new ObservableOnSubscribe>() { @Override - public void subscribe(ObservableEmitter> e) throws Exception { + public void subscribe(ObservableEmitter> e) { if (!e.isDisposed()) { e.onNext(Utils.getUserListWhoLovesCricket()); e.onComplete(); @@ -83,7 +83,7 @@ public void subscribe(ObservableEmitter> e) throws Exception { private Observable> getFootballFansObservable() { return Observable.create(new ObservableOnSubscribe>() { @Override - public void subscribe(ObservableEmitter> e) throws Exception { + public void subscribe(ObservableEmitter> e) { if (!e.isDisposed()) { e.onNext(Utils.getUserListWhoLovesFootball()); e.onComplete(); diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java index eab2a84..2cca2d7 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationActivity.java @@ -47,8 +47,8 @@ public class PaginationActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pagination); - recyclerView = (RecyclerView) findViewById(R.id.recyclerView); - progressBar = (ProgressBar) findViewById(R.id.progressBar); + recyclerView = findViewById(R.id.recyclerView); + progressBar = findViewById(R.id.progressBar); layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(RecyclerView.VERTICAL); recyclerView.setLayoutManager(layoutManager); @@ -96,7 +96,7 @@ private void subscribeForData() { .onBackpressureDrop() .concatMap(new Function>>() { @Override - public Publisher> apply(@NonNull Integer page) throws Exception { + public Publisher> apply(@NonNull Integer page) { loading = true; progressBar.setVisibility(View.VISIBLE); return dataFromNetwork(page); @@ -105,7 +105,7 @@ public Publisher> apply(@NonNull Integer page) throws Exception { .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer>() { @Override - public void accept(@NonNull List items) throws Exception { + public void accept(@NonNull List items) { paginationAdapter.addItems(items); paginationAdapter.notifyDataSetChanged(); loading = false; @@ -127,7 +127,7 @@ private Flowable> dataFromNetwork(final int page) { .delay(2, TimeUnit.SECONDS) .map(new Function>() { @Override - public List apply(@NonNull Boolean value) throws Exception { + public List apply(@NonNull Boolean value) { List items = new ArrayList<>(); for (int i = 1; i <= 10; i++) { items.add("Item " + (page * 10 + i)); diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java index f9b0e11..ddc0402 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/pagination/PaginationAdapter.java @@ -1,6 +1,5 @@ package com.rxjava2.android.samples.ui.pagination; -import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -11,6 +10,8 @@ import java.util.ArrayList; import java.util.List; +import androidx.recyclerview.widget.RecyclerView; + /** * Created by amitshekhar on 15/03/17. */ 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 63dcabb..a991e5e 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 @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.rxbus; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; @@ -10,6 +9,7 @@ import com.rxjava2.android.samples.R; import com.rxjava2.android.samples.model.Events; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.functions.Consumer; @@ -36,8 +36,8 @@ protected void onDestroy() { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rxbus); - textView = (TextView) findViewById(R.id.textView); - button = (Button) findViewById(R.id.button); + textView = findViewById(R.id.textView); + button = findViewById(R.id.button); disposables.add(((MyApplication) getApplication()) .bus() @@ -46,7 +46,7 @@ protected void onCreate(Bundle savedInstanceState) { .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { @Override - public void accept(Object object) throws Exception { + public void accept(Object object) { if (object instanceof Events.AutoEvent) { textView.setText("Auto Event Received"); } else if (object instanceof Events.TapEvent) { diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java index 18d2e4b..9086b01 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/search/SearchActivity.java @@ -1,7 +1,6 @@ package com.rxjava2.android.samples.ui.search; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; import android.widget.SearchView; import android.widget.TextView; @@ -9,6 +8,7 @@ import java.util.concurrent.TimeUnit; +import androidx.appcompat.app.AppCompatActivity; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -32,8 +32,8 @@ public class SearchActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); - searchView = (SearchView) findViewById(R.id.searchView); - textViewResult = (TextView) findViewById(R.id.textViewResult); + searchView = findViewById(R.id.searchView); + textViewResult = findViewById(R.id.textViewResult); setUpSearchObservable(); } @@ -43,7 +43,7 @@ private void setUpSearchObservable() { .debounce(300, TimeUnit.MILLISECONDS) .filter(new Predicate() { @Override - public boolean test(String text) throws Exception { + public boolean test(String text) { if (text.isEmpty()) { textViewResult.setText(""); return false; @@ -55,7 +55,7 @@ public boolean test(String text) throws Exception { .distinctUntilChanged() .switchMap(new Function>() { @Override - public ObservableSource apply(String query) throws Exception { + public ObservableSource apply(String query) { return dataFromNetwork(query); } }) @@ -63,7 +63,7 @@ public ObservableSource apply(String query) throws Exception { .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer() { @Override - public void accept(String result) throws Exception { + public void accept(String result) { textViewResult.setText(result); } }); @@ -77,7 +77,7 @@ private Observable dataFromNetwork(final String query) { .delay(2, TimeUnit.SECONDS) .map(new Function() { @Override - public String apply(@NonNull Boolean value) throws Exception { + public String apply(@NonNull Boolean value) { return query; } }); diff --git a/app/src/test/java/com/rxjava2/android/samples/ExampleUnitTest.java b/app/src/test/java/com/rxjava2/android/samples/ExampleUnitTest.java index 02c64d9..ae10866 100644 --- a/app/src/test/java/com/rxjava2/android/samples/ExampleUnitTest.java +++ b/app/src/test/java/com/rxjava2/android/samples/ExampleUnitTest.java @@ -2,14 +2,14 @@ import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; /** * To work on unit tests, switch the Test Artifact in the Build Variants view. */ public class ExampleUnitTest { @Test - public void addition_isCorrect() throws Exception { + public void addition_isCorrect() { assertEquals(4, 2 + 2); } } \ No newline at end of file From ffaaa2f98fb923d936945b636d1101526d7d3c97 Mon Sep 17 00:00:00 2001 From: Bapusaheb Patil Date: Wed, 5 Sep 2018 14:36:41 +0530 Subject: [PATCH 05/39] Removed ApplicationTest.java because ApplicationTestCase is deprecated --- .../rxjava2/android/samples/ApplicationTest.java | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java diff --git a/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java b/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java deleted file mode 100644 index 1802a5d..0000000 --- a/app/src/androidTest/java/com/rxjava2/android/samples/ApplicationTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.rxjava2.android.samples; - -import android.app.Application; -import androidx.test.*; - -/** - * Testing Fundamentals - */ -public class ApplicationTest extends ApplicationTestCase { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file From e99bec084977b4118eb64320a4831f9c0cb1ff66 Mon Sep 17 00:00:00 2001 From: WeRockStar Date: Thu, 4 Oct 2018 21:20:23 +0700 Subject: [PATCH 06/39] Update gradle plugin --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index fd969ca..f6f90b2 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.0-rc02' + classpath 'com.android.tools.build:gradle:3.2.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From eb95eb32e7fd9cd03b3dcd800f51934b9391316d Mon Sep 17 00:00:00 2001 From: WeRockStar Date: Thu, 4 Oct 2018 21:22:20 +0700 Subject: [PATCH 07/39] Update RxJava and README.md --- README.md | 4 ++-- app/build.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e2b045e..1e1d05a 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,11 @@ Users switching from 1.x to 2.x have to re-organize their imports, but carefully Add this in your build.gradle ```groovy -compile 'io.reactivex.rxjava2:rxjava:2.1.1' +compile 'io.reactivex.rxjava2:rxjava:2.2.2' ``` If you are using RxAndroid also, then add the following ```groovy -compile 'io.reactivex.rxjava2:rxandroid:2.0.1' +compile 'io.reactivex.rxjava2:rxandroid:2.1.0' ``` # RxJava 2 Examples present in this sample project diff --git a/app/build.gradle b/app/build.gradle index 019375b..9c98181 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,7 +29,7 @@ dependencies { implementation 'androidx.recyclerview:recyclerview:1.0.0-rc02' // RxJava2 Dependencies - implementation 'io.reactivex.rxjava2:rxjava:2.2.1' + implementation 'io.reactivex.rxjava2:rxjava:2.2.2' implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' // FastAndroidNetworking Dependency From 1c5d1418cea505861fb7132a9a1f5accd510ca4e Mon Sep 17 00:00:00 2001 From: Mohammed Rampurawala Date: Wed, 5 Dec 2018 22:51:36 +0530 Subject: [PATCH 08/39] - Upgraded to Java 1.8 to support lambdas. - Added TakeWhile operator. - ObserverAdapter added to override only those methods needed from Observer. --- app/build.gradle | 4 + app/src/main/AndroidManifest.xml | 3 + .../android/samples/ui/OperatorsActivity.java | 5 + .../operators/TakeWhileExampleActivity.java | 93 +++++++++++++++++++ .../samples/utils/ObserverAdapter.java | 31 +++++++ .../rxjava2/android/samples/utils/Utils.java | 5 + .../main/res/layout/activity_operators.xml | 11 ++- app/src/main/res/values/strings.xml | 1 + 8 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeWhileExampleActivity.java create mode 100644 app/src/main/java/com/rxjava2/android/samples/utils/ObserverAdapter.java diff --git a/app/build.gradle b/app/build.gradle index 9c98181..fe13a5b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + } } dependencies { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ec63671..a737733 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -128,6 +128,9 @@ android:label="@string/compose" /> + + \ No newline at end of file diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java index 0316ad0..4e99dc9 100644 --- a/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java +++ b/app/src/main/java/com/rxjava2/android/samples/ui/OperatorsActivity.java @@ -31,6 +31,7 @@ import com.rxjava2.android.samples.ui.operators.SkipExampleActivity; import com.rxjava2.android.samples.ui.operators.SwitchMapExampleActivity; import com.rxjava2.android.samples.ui.operators.TakeExampleActivity; +import com.rxjava2.android.samples.ui.operators.TakeWhileExampleActivity; import com.rxjava2.android.samples.ui.operators.ThrottleFirstExampleActivity; import com.rxjava2.android.samples.ui.operators.ThrottleLastExampleActivity; import com.rxjava2.android.samples.ui.operators.TimerExampleActivity; @@ -170,4 +171,8 @@ public void startDelayActivity(View view) { public void startSwitchMapActivity(View view) { startActivity(new Intent(OperatorsActivity.this, SwitchMapExampleActivity.class)); } + + public void startTakeWhileActivity(View view) { + startActivity(new Intent(OperatorsActivity.this, TakeWhileExampleActivity.class)); + } } diff --git a/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeWhileExampleActivity.java b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeWhileExampleActivity.java new file mode 100644 index 0000000..6ca1450 --- /dev/null +++ b/app/src/main/java/com/rxjava2/android/samples/ui/operators/TakeWhileExampleActivity.java @@ -0,0 +1,93 @@ +package com.rxjava2.android.samples.ui.operators; + +import android.os.Bundle; +import android.util.Log; +import android.widget.Button; +import android.widget.TextView; + +import com.rxjava2.android.samples.R; +import com.rxjava2.android.samples.utils.AppConstant; +import com.rxjava2.android.samples.utils.ObserverAdapter; + +import java.util.concurrent.TimeUnit; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import io.reactivex.Observable; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.functions.BiFunction; +import io.reactivex.functions.Predicate; + +public class TakeWhileExampleActivity extends AppCompatActivity { + + private static final String TAG = TakeWhileExampleActivity.class.getSimpleName(); + + private Button btn; + + private TextView textView; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_example); + btn = findViewById(R.id.btn); + textView = findViewById(R.id.textView); + + btn.setOnClickListener(view -> { + doSomeWork(); + }); + } + + private void doSomeWork() { + getStringObservable() + //Delay item emission by one second + .zipWith(Observable.interval(0, 1, TimeUnit.SECONDS), new BiFunction() { + @Override + public String apply(String s, Long aLong) throws Exception { + return s; + } + }) + //Take the items until the condition is met. + .takeWhile(new Predicate() { + @Override + public boolean test(String s) throws Exception { + return !s.toLowerCase().contains("honey"); + } + }) + //We need to observe on MainThread because delay works on background thread to avoid UI blocking. + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(getObserver()); + } + + private Observer getObserver() { + return new ObserverAdapter() { + @Override + public void onSubscribe(Disposable d) { + Log.d(TAG, " onSubscribe : " + d.isDisposed()); + } + + @Override + public void onNext(String value) { + textView.append(" onNext : value : " + value); + textView.append(AppConstant.LINE_SEPARATOR); + Log.d(TAG, " onNext value : " + value); + } + + @Override + public void onComplete() { + textView.append(" onComplete"); + textView.append(AppConstant.LINE_SEPARATOR); + Log.d(TAG, " onComplete"); + } + }; + } + + + private Observable getStringObservable() { + return Observable.just("Alpha", "Beta", "Cupcake", "Doughnut", "Eclair", "Froyo", "GingerBread", + "Honeycomb", "Ice cream sandwich"); + } + +} diff --git a/app/src/main/java/com/rxjava2/android/samples/utils/ObserverAdapter.java b/app/src/main/java/com/rxjava2/android/samples/utils/ObserverAdapter.java new file mode 100644 index 0000000..546084a --- /dev/null +++ b/app/src/main/java/com/rxjava2/android/samples/utils/ObserverAdapter.java @@ -0,0 +1,31 @@ +package com.rxjava2.android.samples.utils; + +import io.reactivex.Observer; +import io.reactivex.disposables.Disposable; + +/** + * Adapter class for Observer to get the method only needed by the user. Instead of overriding each and every method. + * + * @param + */ +public abstract class ObserverAdapter implements Observer { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(T s) { + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } +} diff --git a/app/src/main/java/com/rxjava2/android/samples/utils/Utils.java b/app/src/main/java/com/rxjava2/android/samples/utils/Utils.java index 04695b2..c0d7076 100644 --- a/app/src/main/java/com/rxjava2/android/samples/utils/Utils.java +++ b/app/src/main/java/com/rxjava2/android/samples/utils/Utils.java @@ -76,6 +76,11 @@ public static List convertApiUserListToUserList(List apiUserList) return userList; } + public static List convertApiUserListToApiUserList(List apiUserList) { + return apiUserList; + } + + public static List getUserListWhoLovesCricket() { List userList = new ArrayList<>(); diff --git a/app/src/main/res/layout/activity_operators.xml b/app/src/main/res/layout/activity_operators.xml index 7a3c41c..13a39b8 100644 --- a/app/src/main/res/layout/activity_operators.xml +++ b/app/src/main/res/layout/activity_operators.xml @@ -4,10 +4,10 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fadeScrollbars="false" - android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.rxjava2.android.samples.ui.OperatorsActivity"> +