Skip to content

Commit a4640c1

Browse files
committed
Add support for rxJava2
1 parent 1f7ad6b commit a4640c1

26 files changed

Lines changed: 294 additions & 309 deletions

File tree

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ allprojects {
3434
And add next dependencies in the build.gradle of the module:
3535
```gradle
3636
dependencies {
37-
compile "com.github.miguelbcr:RxPaparazzo:0.3.2"
38-
compile "io.reactivex:rxjava:1.1.10"
37+
compile "com.github.miguelbcr:RxPaparazzo:0.4.0-2.x"
38+
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
3939
}
4040
```
4141

@@ -69,6 +69,8 @@ Also, this instance holds a reference to the data as the appropriate response, a
6969
```java
7070
RxPaparazzo.takeImage(activityOrFragment)
7171
.usingCamera()
72+
.subscribeOn(Schedulers.io())
73+
.observeOn(AndroidSchedulers.mainThread())
7274
.subscribe(response -> {
7375
if (response.resultCode() != RESULT_OK) {
7476
response.targetUI().showUserCanceled();
@@ -88,6 +90,8 @@ By default, the path is under app name folder on the root of the external storag
8890
```java
8991
RxPaparazzo.takeImage(activityOrFragment)
9092
.usingGallery()
93+
.subscribeOn(Schedulers.io())
94+
.observeOn(AndroidSchedulers.mainThread())
9195
.subscribe(response -> {
9296
if (response.resultCode() != RESULT_OK) {
9397
response.targetUI().showUserCanceled();
@@ -104,6 +108,8 @@ The `response` instance holds a reference to the path where the image was persis
104108
```java
105109
RxPaparazzo.takeImages(activityOrFragment)
106110
.usingGallery()
111+
.subscribeOn(Schedulers.io())
112+
.observeOn(AndroidSchedulers.mainThread())
107113
.subscribe(response -> {
108114
if (response.resultCode() != RESULT_OK) {
109115
response.targetUI().showUserCanceled();

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ dependencies {
4444
testCompile 'junit:junit:4.12'
4545
compile 'com.android.support:appcompat-v7:24.2.1'
4646
compile 'com.android.support:design:24.2.1'
47+
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
4748
compile 'com.squareup.picasso:picasso:2.5.2'
4849
compile project(':rx_paparazzo')
4950

app/src/androidTest/java/com/fuck_boilerplate/rx_paparazzo/sample/ApplicationTest.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,15 @@
88
import android.net.Uri;
99
import android.os.RemoteException;
1010
import android.support.test.InstrumentationRegistry;
11-
import android.support.test.espresso.UiController;
12-
import android.support.test.espresso.ViewAction;
1311
import android.support.test.espresso.contrib.RecyclerViewActions;
1412
import android.support.test.espresso.matcher.BoundedMatcher;
1513
import android.support.test.rule.ActivityTestRule;
1614
import android.support.test.runner.AndroidJUnit4;
1715
import android.support.test.uiautomator.UiDevice;
18-
import android.support.v4.view.GravityCompat;
19-
import android.support.v4.widget.DrawerLayout;
2016
import android.view.Display;
2117
import android.view.View;
2218
import android.view.WindowManager;
2319
import android.widget.ImageView;
24-
2520
import com.fuck_boilerplate.rx_paparazzo.entities.Config;
2621
import com.fuck_boilerplate.rx_paparazzo.entities.TargetUi;
2722
import com.fuck_boilerplate.rx_paparazzo.entities.size.Size;
@@ -31,7 +26,8 @@
3126
import com.fuck_boilerplate.rx_paparazzo.interactors.ImageUtils;
3227
import com.fuck_boilerplate.rx_paparazzo.sample.activities.StartActivity;
3328
import com.fuck_boilerplate.rx_paparazzo.sample.activities.Testable;
34-
29+
import java.io.File;
30+
import java.util.List;
3531
import org.hamcrest.Description;
3632
import org.hamcrest.Matcher;
3733
import org.junit.Before;
@@ -41,13 +37,9 @@
4137
import org.junit.runner.RunWith;
4238
import org.junit.runners.MethodSorters;
4339

44-
import java.io.File;
45-
import java.util.List;
46-
4740
import static android.support.test.espresso.Espresso.onView;
4841
import static android.support.test.espresso.action.ViewActions.click;
4942
import static android.support.test.espresso.assertion.ViewAssertions.matches;
50-
import static android.support.test.espresso.matcher.ViewMatchers.isAssignableFrom;
5143
import static android.support.test.espresso.matcher.ViewMatchers.withId;
5244
import static com.fuck_boilerplate.rx_paparazzo.sample.recyclerview.RecyclerViewUtils.withRecyclerView;
5345
import static org.hamcrest.Matchers.greaterThan;

app/src/androidTest/java/com/fuck_boilerplate/rx_paparazzo/sample/recyclerview/RecyclerViewMatcher.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import android.content.res.Resources;
44
import android.support.v7.widget.RecyclerView;
55
import android.view.View;
6-
76
import org.hamcrest.Description;
87
import org.hamcrest.Matcher;
98
import org.hamcrest.TypeSafeMatcher;

app/src/main/java/com/fuck_boilerplate/rx_paparazzo/sample/activities/SampleActivity.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import com.squareup.picasso.Picasso;
2222
import com.yalantis.ucrop.UCrop;
2323

24+
import io.reactivex.android.schedulers.AndroidSchedulers;
25+
import io.reactivex.schedulers.Schedulers;
2426
import java.util.ArrayList;
2527
import java.util.List;
2628

@@ -72,6 +74,8 @@ private void captureImage() {
7274
RxPaparazzo.takeImage(SampleActivity.this)
7375
.size(size)
7476
.usingCamera()
77+
.subscribeOn(Schedulers.io())
78+
.observeOn(AndroidSchedulers.mainThread())
7579
.subscribe(response -> {
7680
if (response.resultCode() == RxPaparazzo.RESULT_DENIED_PERMISSION) {
7781
response.targetUI().showUserDidNotGrantPermissions();
@@ -99,6 +103,8 @@ private void captureImageWithCrop() {
99103
.size(size)
100104
.crop(options)
101105
.usingCamera()
106+
.subscribeOn(Schedulers.io())
107+
.observeOn(AndroidSchedulers.mainThread())
102108
.subscribe(response -> {
103109
if (response.resultCode() != RESULT_OK) {
104110
response.targetUI().showUserCanceled();
@@ -122,6 +128,8 @@ private void pickupImage() {
122128
.crop(options)
123129
.size(size)
124130
.usingGallery()
131+
.subscribeOn(Schedulers.io())
132+
.observeOn(AndroidSchedulers.mainThread())
125133
.subscribe(response -> {
126134
if (response.resultCode() != RESULT_OK) {
127135
response.targetUI().showUserCanceled();
@@ -142,6 +150,8 @@ private void pickupImages() {
142150
.crop()
143151
.size(size)
144152
.usingGallery()
153+
.subscribeOn(Schedulers.io())
154+
.observeOn(AndroidSchedulers.mainThread())
145155
.subscribe(response -> {
146156
if (response.resultCode() != RESULT_OK) {
147157
response.targetUI().showUserCanceled();

app/src/main/java/com/fuck_boilerplate/rx_paparazzo/sample/fragments/SampleFragment.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import com.squareup.picasso.Picasso;
2424
import com.yalantis.ucrop.UCrop;
2525

26+
import io.reactivex.android.schedulers.AndroidSchedulers;
27+
import io.reactivex.schedulers.Schedulers;
2628
import java.io.File;
2729
import java.util.ArrayList;
2830
import java.util.List;
@@ -67,6 +69,8 @@ private void captureImage() {
6769
RxPaparazzo.takeImage(this)
6870
.size(size)
6971
.usingCamera()
72+
.subscribeOn(Schedulers.io())
73+
.observeOn(AndroidSchedulers.mainThread())
7074
.subscribe(response -> {
7175

7276
if (response.resultCode() != Activity.RESULT_OK) {
@@ -88,6 +92,8 @@ private void captureImageWithCrop() {
8892
.size(size)
8993
.crop(options)
9094
.usingCamera()
95+
.subscribeOn(Schedulers.io())
96+
.observeOn(AndroidSchedulers.mainThread())
9197
.subscribe(response -> {
9298
if (response.resultCode() != Activity.RESULT_OK) {
9399
response.targetUI().showUserCanceled();
@@ -108,6 +114,8 @@ private void pickupImage() {
108114
.crop(options)
109115
.size(size)
110116
.usingGallery()
117+
.subscribeOn(Schedulers.io())
118+
.observeOn(AndroidSchedulers.mainThread())
111119
.subscribe(response -> {
112120
if (response.resultCode() != Activity.RESULT_OK) {
113121
response.targetUI().showUserCanceled();
@@ -125,6 +133,8 @@ private void pickupImages() {
125133
.crop()
126134
.size(size)
127135
.usingGallery()
136+
.subscribeOn(Schedulers.io())
137+
.observeOn(AndroidSchedulers.mainThread())
128138
.subscribe(response -> {
129139
if (response.resultCode() != Activity.RESULT_OK) {
130140
response.targetUI().showUserCanceled();

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath 'com.android.tools.build:gradle:2.2.0'
8+
classpath 'com.android.tools.build:gradle:2.2.2'
99
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
1010
// NOTE: Do not place your application dependencies here; they belong
1111
// in the individual module build.gradle files

rx_paparazzo/build.gradle

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@ android {
3636

3737
dependencies {
3838
compile fileTree(dir: 'libs', include: ['*.jar'])
39-
compile 'io.reactivex:rxjava:1.1.10'
40-
compile 'io.reactivex:rxandroid:1.2.1'
41-
42-
compile 'com.github.VictorAlbertos:RxActivityResult:0.3.7'
43-
compile 'com.tbruyelle.rxpermissions:rxpermissions:0.7.1@aar'
39+
compile "io.reactivex.rxjava2:rxjava:2.0.1"
40+
compile "com.github.VictorAlbertos:RxActivityResult:0.4.0-2.x"
41+
compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.8.2@aar'
4442
compile 'com.yalantis:ucrop:2.2.0'
4543

4644
testCompile 'junit:junit:4.12'

rx_paparazzo/src/main/java/com/fuck_boilerplate/rx_paparazzo/RxPaparazzo.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727
import com.fuck_boilerplate.rx_paparazzo.internal.di.ApplicationModule;
2828
import com.yalantis.ucrop.UCrop;
2929

30+
import io.reactivex.Observable;
3031
import java.util.List;
31-
32-
import rx.Observable;
33-
import rx_activity_result.RxActivityResult;
32+
import rx_activity_result2.RxActivityResult;
3433

3534
public final class RxPaparazzo {
3635
public static final int RESULT_DENIED_PERMISSION = 2;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright 2016 Miguel Garcia
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.fuck_boilerplate.rx_paparazzo.entities;
18+
19+
/**
20+
* A dummy value to be ignored when dealing with RxJava 2 which does not return anything useful.
21+
*/
22+
public enum Ignore {
23+
Get
24+
}

0 commit comments

Comments
 (0)