Skip to content
This repository was archived by the owner on Feb 4, 2024. It is now read-only.

Commit 405050e

Browse files
authored
feat: Migrate to RxJava 3 and RxBinding 4 (#326)
1 parent 2d1a4d8 commit 405050e

File tree

12 files changed

+50
-70
lines changed

12 files changed

+50
-70
lines changed

build.gradle

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ buildscript {
55
}
66
dependencies {
77
classpath 'com.android.tools.build:gradle:4.0.0'
8-
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
9-
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
8+
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
9+
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
1010
}
1111
}
1212

@@ -22,8 +22,8 @@ ext {
2222
compileSdkVersion = 29
2323
targetSdkVersion = compileSdkVersion
2424

25-
rxJava = 'io.reactivex.rxjava2:rxjava:2.2.19'
26-
junit = 'junit:junit:4.12'
25+
rxJava = 'io.reactivex.rxjava3:rxjava:3.0.4'
26+
junit = 'junit:junit:4.13'
2727
mockito = 'org.mockito:mockito-core:3.3.3'
2828

2929
androidXFragment = 'androidx.fragment:fragment:1.2.5'
@@ -37,9 +37,9 @@ ext {
3737
khronosOpenGLApi = "org.khronos:opengl-api:gl1.1-android-2.1_r1"
3838

3939
bintrayRepo = 'tbruyelle'
40-
bintrayName = 'RxPermissions2'
40+
bintrayName = 'RxPermissions3'
4141

42-
publishedGroupId = 'com.tbruyelle.rxpermissions2'
42+
publishedGroupId = 'com.tbruyelle.rxpermissions3'
4343
artifact = 'rxpermissions'
4444
libraryName = 'RxPermissions'
4545
libraryVersion = '0.9.5'
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Jun 26 11:49:33 CEST 2020
1+
#Thu Jul 09 16:45:02 CEST 2020
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip

lib/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ android {
55
compileSdkVersion rootProject.ext.compileSdkVersion
66

77
compileOptions {
8-
sourceCompatibility 1.8
9-
targetCompatibility 1.8
8+
sourceCompatibility JavaVersion.VERSION_1_8
9+
targetCompatibility JavaVersion.VERSION_1_8
1010
}
1111
defaultConfig {
1212
minSdkVersion rootProject.ext.minSdkVersion

lib/src/main/AndroidManifest.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest package="com.tbruyelle.rxpermissions2">
2+
<manifest package="com.tbruyelle.rxpermissions3">
33

44
<application />
55

lib/src/main/java/com/tbruyelle/rxpermissions2/Permission.java lib/src/main/java/com/tbruyelle/rxpermissions3/Permission.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.tbruyelle.rxpermissions2;
1+
package com.tbruyelle.rxpermissions3;
22

33
import java.util.List;
44

5-
import io.reactivex.Observable;
6-
import io.reactivex.functions.BiConsumer;
7-
import io.reactivex.functions.Function;
8-
import io.reactivex.functions.Predicate;
5+
import io.reactivex.rxjava3.core.Observable;
6+
import io.reactivex.rxjava3.functions.BiConsumer;
7+
import io.reactivex.rxjava3.functions.Function;
8+
import io.reactivex.rxjava3.functions.Predicate;
99

1010
public class Permission {
1111
public final String name;

lib/src/main/java/com/tbruyelle/rxpermissions2/RxPermissions.java lib/src/main/java/com/tbruyelle/rxpermissions3/RxPermissions.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* limitations under the License.
1313
*/
1414

15-
package com.tbruyelle.rxpermissions2;
15+
package com.tbruyelle.rxpermissions3;
1616

1717
import android.annotation.TargetApi;
1818
import android.app.Activity;
@@ -28,11 +28,11 @@
2828
import java.util.ArrayList;
2929
import java.util.List;
3030

31-
import io.reactivex.Observable;
32-
import io.reactivex.ObservableSource;
33-
import io.reactivex.ObservableTransformer;
34-
import io.reactivex.functions.Function;
35-
import io.reactivex.subjects.PublishSubject;
31+
import io.reactivex.rxjava3.core.Observable;
32+
import io.reactivex.rxjava3.core.ObservableSource;
33+
import io.reactivex.rxjava3.core.ObservableTransformer;
34+
import io.reactivex.rxjava3.functions.Function;
35+
import io.reactivex.rxjava3.subjects.PublishSubject;
3636

3737
public class RxPermissions {
3838

lib/src/main/java/com/tbruyelle/rxpermissions2/RxPermissionsFragment.java lib/src/main/java/com/tbruyelle/rxpermissions3/RxPermissionsFragment.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.tbruyelle.rxpermissions2;
1+
package com.tbruyelle.rxpermissions3;
22

33
import android.annotation.TargetApi;
44
import android.content.pm.PackageManager;
@@ -13,7 +13,8 @@
1313
import java.util.HashMap;
1414
import java.util.Map;
1515

16-
import io.reactivex.subjects.PublishSubject;
16+
import io.reactivex.rxjava3.subjects.PublishSubject;
17+
1718

1819
public class RxPermissionsFragment extends Fragment {
1920

lib/src/test/java/com/tbruyelle/rxpermissions2/RxPermissionsTest.java lib/src/test/java/com/tbruyelle/rxpermissions3/RxPermissionsTest.java

+5-31
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* limitations under the License.
1313
*/
1414

15-
package com.tbruyelle.rxpermissions2;
15+
package com.tbruyelle.rxpermissions3;
1616

1717
import android.Manifest;
1818
import android.annotation.TargetApi;
@@ -32,9 +32,10 @@
3232
import org.robolectric.android.controller.ActivityController;
3333
import org.robolectric.annotation.Config;
3434

35-
import io.reactivex.Observable;
36-
import io.reactivex.observers.TestObserver;
37-
import io.reactivex.subjects.PublishSubject;
35+
36+
import io.reactivex.rxjava3.core.Observable;
37+
import io.reactivex.rxjava3.observers.TestObserver;
38+
import io.reactivex.rxjava3.subjects.PublishSubject;
3839

3940
import static org.junit.Assert.assertEquals;
4041
import static org.junit.Assert.assertFalse;
@@ -85,7 +86,6 @@ public void subscription_preM() {
8586
trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub);
8687

8788
sub.assertNoErrors();
88-
sub.assertTerminated();
8989
sub.assertValue(true);
9090
}
9191

@@ -101,7 +101,6 @@ public void subscription_granted() {
101101
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
102102

103103
sub.assertNoErrors();
104-
sub.assertTerminated();
105104
sub.assertValue(true);
106105
}
107106

@@ -117,7 +116,6 @@ public void eachSubscription_granted() {
117116
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
118117

119118
sub.assertNoErrors();
120-
sub.assertTerminated();
121119
sub.assertValue(new Permission(permission, true));
122120
}
123121

@@ -133,7 +131,6 @@ public void eachSubscriptionCombined_granted() {
133131
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
134132

135133
sub.assertNoErrors();
136-
sub.assertTerminated();
137134
sub.assertValue(new Permission(permission, true));
138135
}
139136

@@ -147,7 +144,6 @@ public void eachSubscription_preM() {
147144
trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub);
148145

149146
sub.assertNoErrors();
150-
sub.assertTerminated();
151147
sub.assertValue(new Permission(permission, true));
152148
}
153149

@@ -161,7 +157,6 @@ public void eachSubscriptionCombined_preM() {
161157
trigger().compose(mRxPermissions.ensureEachCombined(permission)).subscribe(sub);
162158

163159
sub.assertNoErrors();
164-
sub.assertTerminated();
165160
sub.assertValue(new Permission(permission, true));
166161
}
167162

@@ -175,7 +170,6 @@ public void subscription_alreadyGranted() {
175170
trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub);
176171

177172
sub.assertNoErrors();
178-
sub.assertTerminated();
179173
sub.assertValue(true);
180174
}
181175

@@ -191,7 +185,6 @@ public void subscription_denied() {
191185
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
192186

193187
sub.assertNoErrors();
194-
sub.assertTerminated();
195188
sub.assertValue(false);
196189
}
197190

@@ -207,7 +200,6 @@ public void eachSubscription_denied() {
207200
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
208201

209202
sub.assertNoErrors();
210-
sub.assertTerminated();
211203
sub.assertValue(new Permission(permission, false));
212204
}
213205

@@ -223,7 +215,6 @@ public void eachSubscriptionCombined_denied() {
223215
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
224216

225217
sub.assertNoErrors();
226-
sub.assertTerminated();
227218
sub.assertValue(new Permission(permission, false));
228219
}
229220

@@ -237,7 +228,6 @@ public void subscription_revoked() {
237228
trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub);
238229

239230
sub.assertNoErrors();
240-
sub.assertTerminated();
241231
sub.assertValue(false);
242232
}
243233

@@ -251,7 +241,6 @@ public void eachSubscription_revoked() {
251241
trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub);
252242

253243
sub.assertNoErrors();
254-
sub.assertTerminated();
255244
sub.assertValue(new Permission(permission, false));
256245
}
257246

@@ -265,7 +254,6 @@ public void eachSubscriptionCombined_revoked() {
265254
trigger().compose(mRxPermissions.ensureEachCombined(permission)).subscribe(sub);
266255

267256
sub.assertNoErrors();
268-
sub.assertTerminated();
269257
sub.assertValue(new Permission(permission, false));
270258
}
271259

@@ -281,7 +269,6 @@ public void subscription_severalPermissions_granted() {
281269
mRxPermissions.onRequestPermissionsResult(permissions, result);
282270

283271
sub.assertNoErrors();
284-
sub.assertTerminated();
285272
sub.assertValue(true);
286273
}
287274

@@ -297,7 +284,6 @@ public void eachSubscription_severalPermissions_granted() {
297284
mRxPermissions.onRequestPermissionsResult(permissions, result);
298285

299286
sub.assertNoErrors();
300-
sub.assertTerminated();
301287
sub.assertValues(new Permission(permissions[0], true), new Permission(permissions[1], true));
302288
}
303289

@@ -313,7 +299,6 @@ public void eachSubscriptionCombined_severalPermissions_granted() {
313299
mRxPermissions.onRequestPermissionsResult(permissions, result);
314300

315301
sub.assertNoErrors();
316-
sub.assertTerminated();
317302
sub.assertValues(new Permission(permissions[0] + ", " + permissions[1], true));
318303
}
319304

@@ -329,7 +314,6 @@ public void subscription_severalPermissions_oneDenied() {
329314
mRxPermissions.onRequestPermissionsResult(permissions, result);
330315

331316
sub.assertNoErrors();
332-
sub.assertTerminated();
333317
sub.assertValue(false);
334318
}
335319

@@ -347,7 +331,6 @@ public void subscription_severalPermissions_oneRevoked() {
347331
new int[]{PackageManager.PERMISSION_GRANTED});
348332

349333
sub.assertNoErrors();
350-
sub.assertTerminated();
351334
sub.assertValue(false);
352335
}
353336

@@ -365,7 +348,6 @@ public void eachSubscription_severalPermissions_oneAlreadyGranted() {
365348
new int[]{PackageManager.PERMISSION_GRANTED});
366349

367350
sub.assertNoErrors();
368-
sub.assertTerminated();
369351
sub.assertValues(new Permission(permissions[0], true), new Permission(permissions[1], true));
370352
ArgumentCaptor<String[]> requestedPermissions = ArgumentCaptor.forClass(String[].class);
371353
verify(mRxPermissions).requestPermissionsFromFragment(requestedPermissions.capture());
@@ -387,7 +369,6 @@ public void eachSubscriptionCombined_severalPermissions_oneAlreadyGranted() {
387369
new int[]{PackageManager.PERMISSION_GRANTED});
388370

389371
sub.assertNoErrors();
390-
sub.assertTerminated();
391372
sub.assertValues(new Permission(permissions[0] + ", " + permissions[1], true));
392373
ArgumentCaptor<String[]> requestedPermissions = ArgumentCaptor.forClass(String[].class);
393374
verify(mRxPermissions).requestPermissionsFromFragment(requestedPermissions.capture());
@@ -407,7 +388,6 @@ public void eachSubscription_severalPermissions_oneDenied() {
407388
mRxPermissions.onRequestPermissionsResult(permissions, result);
408389

409390
sub.assertNoErrors();
410-
sub.assertTerminated();
411391
sub.assertValues(new Permission(permissions[0], true), new Permission(permissions[1], false));
412392
}
413393

@@ -423,7 +403,6 @@ public void eachSubscriptionCombined_severalPermissions_oneDenied() {
423403
mRxPermissions.onRequestPermissionsResult(permissions, result);
424404

425405
sub.assertNoErrors();
426-
sub.assertTerminated();
427406
sub.assertValues(new Permission(permissions[0] + ", " + permissions[1], false));
428407
}
429408

@@ -441,7 +420,6 @@ public void eachSubscription_severalPermissions_oneRevoked() {
441420
new int[]{PackageManager.PERMISSION_GRANTED});
442421

443422
sub.assertNoErrors();
444-
sub.assertTerminated();
445423
sub.assertValues(new Permission(permissions[0], true), new Permission(permissions[1], false));
446424
}
447425

@@ -459,7 +437,6 @@ public void eachSubscriptionCombined_severalPermissions_oneRevoked() {
459437
new int[]{PackageManager.PERMISSION_GRANTED});
460438

461439
sub.assertNoErrors();
462-
sub.assertTerminated();
463440
sub.assertValues(new Permission(permissions[0] + ", " + permissions[1], false));
464441
}
465442

@@ -477,7 +454,6 @@ public void subscription_trigger_granted() {
477454
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
478455

479456
sub.assertNoErrors();
480-
sub.assertNotTerminated();
481457
sub.assertValue(true);
482458
}
483459

@@ -495,7 +471,6 @@ public void eachSubscription_trigger_granted() {
495471
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
496472

497473
sub.assertNoErrors();
498-
sub.assertNotTerminated();
499474
sub.assertValue(new Permission(permission, true));
500475
}
501476

@@ -513,7 +488,6 @@ public void eachSubscriptionCombined_trigger_granted() {
513488
mRxPermissions.onRequestPermissionsResult(new String[]{permission}, result);
514489

515490
sub.assertNoErrors();
516-
sub.assertNotTerminated();
517491
sub.assertValue(new Permission(permission, true));
518492
}
519493

sample/build.gradle

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ apply plugin: 'com.android.application'
33
android {
44
compileSdkVersion rootProject.ext.compileSdkVersion
55

6+
compileOptions {
7+
sourceCompatibility JavaVersion.VERSION_1_8
8+
targetCompatibility JavaVersion.VERSION_1_8
9+
}
10+
611
defaultConfig {
712
applicationId "com.tbruyelle.rxpermissions.sample"
813
minSdkVersion 14
@@ -20,7 +25,7 @@ android {
2025
dependencies {
2126
implementation project(':rxpermissions')
2227

23-
implementation 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
28+
implementation 'com.jakewharton.rxbinding4:rxbinding:4.0.0'
2429
implementation rootProject.ext.androidXAppcompat
2530

2631
testImplementation 'junit:junit:4.13'

sample/src/main/AndroidManifest.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest
3-
package="com.tbruyelle.rxpermissions2.sample"
3+
package="com.tbruyelle.rxpermissions3.sample"
44
xmlns:android="http://schemas.android.com/apk/res/android"
55
xmlns:tools="http://schemas.android.com/tools"
66
>
@@ -16,7 +16,7 @@
1616
tools:ignore="GoogleAppIndexingWarning"
1717
>
1818
<activity
19-
android:name="com.tbruyelle.rxpermissions2.sample.MainActivity"
19+
android:name="com.tbruyelle.rxpermissions3.sample.MainActivity"
2020
android:label="@string/app_name"
2121
>
2222
<intent-filter>

0 commit comments

Comments
 (0)