├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── layout │ │ │ │ ├── item_btn.xml │ │ │ │ ├── fragment_rxbus_frag3.xml │ │ │ │ ├── fragment_timer_demo.xml │ │ │ │ ├── item_log.xml │ │ │ │ ├── item_log_white.xml │ │ │ │ ├── fragment_network_detector.xml │ │ │ │ ├── fragment_pseudo_cache_concat.xml │ │ │ │ ├── fragment_rxbus_demo.xml │ │ │ │ ├── fragment_rxbus_top.xml │ │ │ │ ├── fragment_rotation_persist.xml │ │ │ │ ├── fragment_pagination.xml │ │ │ │ ├── fragment_volley.xml │ │ │ │ ├── fragment_buffer.xml │ │ │ │ ├── fragment_rxbus_bottom.xml │ │ │ │ ├── fragment_subject_timeout.xml │ │ │ │ ├── fragment_exponential_backoff.xml │ │ │ │ ├── fragment_polling.xml │ │ │ │ ├── fragment_concurrency_schedulers.xml │ │ │ │ ├── fragment_debounce.xml │ │ │ │ ├── fragment_retrofit_async_task_death.xml │ │ │ │ ├── fragment_double_binding_textview.xml │ │ │ │ ├── fragment_multicast_playground.xml │ │ │ │ ├── fragment_form_validation_comb_latest.xml │ │ │ │ ├── fragment_retrofit.xml │ │ │ │ ├── fragment_demo_timing.xml │ │ │ │ ├── fragment_pseudo_cache.xml │ │ │ │ └── fragment_main.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── values │ │ │ │ ├── styles.xml │ │ │ │ ├── colors.xml │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ └── demo.xml │ │ │ └── drawable │ │ │ │ └── btn_round.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── morihacky │ │ │ │ └── android │ │ │ │ └── rxjava │ │ │ │ ├── retrofit │ │ │ │ ├── User.java │ │ │ │ ├── Contributor.java │ │ │ │ ├── GithubApi.java │ │ │ │ └── GithubService.java │ │ │ │ ├── wiring │ │ │ │ └── LogAdapter.java │ │ │ │ ├── fragments │ │ │ │ ├── BaseFragment.java │ │ │ │ ├── DoubleBindingTextViewFragment.java │ │ │ │ ├── RotationPersist2WorkerFragment.java │ │ │ │ ├── RotationPersist1WorkerFragment.java │ │ │ │ ├── RotationPersist3Fragment.kt │ │ │ │ ├── RetrofitAsyncTaskDeathFragment.java │ │ │ │ ├── MainFragment.java │ │ │ │ ├── RotationPersist2Fragment.java │ │ │ │ ├── FormValidationCombineLatestFragment.java │ │ │ │ ├── RotationPersist1Fragment.java │ │ │ │ ├── DebounceSearchEmitterFragment.java │ │ │ │ ├── NetworkDetectorFragment.java │ │ │ │ ├── PseudoCacheMergeFragment.java │ │ │ │ ├── ConcurrencyWithSchedulersDemoFragment.java │ │ │ │ ├── BufferDemoFragment.java │ │ │ │ ├── TimeoutDemoFragment.java │ │ │ │ ├── RetrofitFragment.java │ │ │ │ ├── PollingFragment.java │ │ │ │ ├── TimingDemoFragment.java │ │ │ │ └── ExponentialBackoffFragment.java │ │ │ │ ├── rxbus │ │ │ │ ├── RxBus.java │ │ │ │ ├── RxBusDemo_TopFragment.java │ │ │ │ ├── RxBusDemoFragment.java │ │ │ │ ├── RxBusDemo_Bottom1Fragment.java │ │ │ │ ├── RxBusDemo_Bottom3Fragment.java │ │ │ │ └── RxBusDemo_Bottom2Fragment.java │ │ │ │ ├── volley │ │ │ │ ├── MyVolley.java │ │ │ │ └── VolleyDemoFragment.java │ │ │ │ ├── MyApp.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── pagination │ │ │ │ ├── PaginationAutoAdapter.java │ │ │ │ ├── PaginationAdapter.java │ │ │ │ ├── PaginationFragment.java │ │ │ │ └── PaginationAutoFragment.java │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── morihacky │ │ │ │ └── android │ │ │ │ └── rxjava │ │ │ │ ├── ext │ │ │ │ └── RxExt.kt │ │ │ │ └── fragments │ │ │ │ ├── PlaygroundFragment.kt │ │ │ │ ├── UsingFragment.kt │ │ │ │ └── MulticastPlaygroundFragment.kt │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── com │ │ └── morihacky │ │ └── android │ │ └── rxjava │ │ └── app │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── gradlew.bat └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaushikgopal/RxJava-Android-Samples/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaushikgopal/RxJava-Android-Samples/HEAD/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaushikgopal/RxJava-Android-Samples/HEAD/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaushikgopal/RxJava-Android-Samples/HEAD/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaushikgopal/RxJava-Android-Samples/HEAD/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/java/com/morihacky/android/rxjava/retrofit/User.java: -------------------------------------------------------------------------------- 1 | package com.morihacky.android.rxjava.retrofit; 2 | 3 | public class User { 4 | public String name; 5 | public String email; 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/morihacky/android/rxjava/retrofit/Contributor.java: -------------------------------------------------------------------------------- 1 | package com.morihacky.android.rxjava.retrofit; 2 | 3 | public class Contributor { 4 | public String login; 5 | public long contributions; 6 | } 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed May 24 09:29:38 PDT 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/morihacky/android/rxjava/ext/RxExt.kt: -------------------------------------------------------------------------------- 1 | package com.morihacky.android.rxjava.ext 2 | 3 | import io.reactivex.disposables.CompositeDisposable 4 | import io.reactivex.disposables.Disposable 5 | 6 | operator fun CompositeDisposable.plus(disposable: Disposable): CompositeDisposable { 7 | add(disposable) 8 | return this 9 | } 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_btn.xml: -------------------------------------------------------------------------------- 1 | 2 |