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

Commit 3d4648e

Browse files
authored
feat: Migrate to Jetpack (AndroidX) (#325)
1 parent 234e6db commit 3d4648e

File tree

11 files changed

+65
-49
lines changed

11 files changed

+65
-49
lines changed

.travis.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
language: android
2+
dist: trusty
23

34
android:
45
components:
56
- tools
6-
- build-tools-27.0.3
7-
- android-27
7+
- build-tools-29.0.3
8+
- android-29
89
- extra-android-m2repository
910

1011
jdk: oraclejdk8
@@ -14,6 +15,10 @@ notifications:
1415

1516
sudo: false
1617

18+
before_script:
19+
- mkdir "$ANDROID_HOME/licenses" || true
20+
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
21+
1722
cache:
1823
directories:
1924
- $HOME/.gradle

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This library allows the usage of RxJava with the new Android M permission model.
66

77
## Setup
88

9-
To use this library your `minSdkVersion` must be >= 11.
9+
To use this library your `minSdkVersion` must be >= 14.
1010

1111
```gradle
1212
allprojects {

build.gradle

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ buildscript {
44
jcenter()
55
}
66
dependencies {
7-
classpath 'com.android.tools.build:gradle:3.1.3'
7+
classpath 'com.android.tools.build:gradle:4.0.0'
88
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
99
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
1010
}
@@ -18,19 +18,19 @@ allprojects {
1818
}
1919

2020
ext {
21-
minSdkVersion = 11
22-
compileSdkVersion = 27
21+
minSdkVersion = 14
22+
compileSdkVersion = 29
2323
targetSdkVersion = compileSdkVersion
2424

25-
rxJava = 'io.reactivex.rxjava2:rxjava:2.1.16'
26-
supportLibraryVersion = '27.1.1'
27-
appCompat = "com.android.support:appcompat-v7:$supportLibraryVersion"
28-
supportAnnotations = "com.android.support:support-annotations:$supportLibraryVersion"
29-
supportFragment = "com.android.support:support-fragment:$supportLibraryVersion"
25+
rxJava = 'io.reactivex.rxjava2:rxjava:2.2.19'
3026
junit = 'junit:junit:4.12'
31-
mockito = 'org.mockito:mockito-core:1.10.19'
27+
mockito = 'org.mockito:mockito-core:3.3.3'
3228

33-
robolectricVersion = '3.3.2'
29+
androidXFragment = 'androidx.fragment:fragment:1.2.5'
30+
androidXAnnotation = 'androidx.annotation:annotation:1.1.0'
31+
androidXAppcompat = 'androidx.appcompat:appcompat:1.1.0'
32+
33+
robolectricVersion = '4.3.1'
3434
robolectric = "org.robolectric:robolectric:$robolectricVersion"
3535
robolectricShadowsSupport = "org.robolectric:shadows-support-v4:$robolectricVersion"
3636
// Workaround for https://github.com/robolectric/robolectric/issues/1932

gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@ org.gradle.jvmargs=-Xmx1536m
1515
# This option should only be used with decoupled projects. More details, visit
1616
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1717
# org.gradle.parallel=true
18+
19+
android.useAndroidX = true
20+
android.enableJetifier=true
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Thu Jun 28 09:30:08 CDT 2018
1+
#Fri Jun 26 11:49:33 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-4.5.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

lib/build.gradle

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ apply from: 'jitpack.gradle'
44
android {
55
compileSdkVersion rootProject.ext.compileSdkVersion
66

7+
compileOptions {
8+
sourceCompatibility 1.8
9+
targetCompatibility 1.8
10+
}
711
defaultConfig {
812
minSdkVersion rootProject.ext.minSdkVersion
913
targetSdkVersion rootProject.ext.targetSdkVersion
@@ -14,7 +18,7 @@ android {
1418
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
1519
}
1620
}
17-
21+
testOptions.unitTests.includeAndroidResources = true
1822
testOptions.unitTests.all {
1923
// unitTests.returnDefaultValues = true
2024
// Always show the result of every unit test, even if it passes.
@@ -26,13 +30,13 @@ android {
2630

2731
dependencies {
2832
implementation rootProject.ext.rxJava
29-
implementation rootProject.ext.supportAnnotations
30-
implementation rootProject.ext.supportFragment
33+
implementation rootProject.ext.androidXFragment
34+
implementation rootProject.ext.androidXAnnotation
35+
implementation rootProject.ext.androidXAppcompat
3136

32-
testImplementation rootProject.ext.junit
37+
testImplementation 'junit:junit:4.13'
3338
testImplementation rootProject.ext.mockito
3439
testImplementation rootProject.ext.robolectric
35-
testImplementation rootProject.ext.robolectricShadowsSupport
3640
testImplementation rootProject.ext.khronosOpenGLApi
3741
}
3842

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@
1717
import android.annotation.TargetApi;
1818
import android.app.Activity;
1919
import android.os.Build;
20-
import android.support.annotation.NonNull;
21-
import android.support.annotation.VisibleForTesting;
22-
import android.support.v4.app.Fragment;
23-
import android.support.v4.app.FragmentActivity;
24-
import android.support.v4.app.FragmentManager;
2520
import android.text.TextUtils;
2621

22+
import androidx.annotation.NonNull;
23+
import androidx.annotation.VisibleForTesting;
24+
import androidx.fragment.app.FragmentActivity;
25+
import androidx.fragment.app.Fragment;
26+
import androidx.fragment.app.FragmentManager;
27+
2728
import java.util.ArrayList;
2829
import java.util.List;
2930

@@ -322,7 +323,7 @@ boolean isMarshmallow() {
322323
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
323324
}
324325

325-
void onRequestPermissionsResult(String permissions[], int[] grantResults) {
326+
void onRequestPermissionsResult(String[] permissions, int[] grantResults) {
326327
mRxPermissionsFragment.get().onRequestPermissionsResult(permissions, grantResults, new boolean[permissions.length]);
327328
}
328329

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
import android.content.pm.PackageManager;
55
import android.os.Build;
66
import android.os.Bundle;
7-
import android.support.annotation.NonNull;
8-
import android.support.v4.app.Fragment;
9-
import android.support.v4.app.FragmentActivity;
107
import android.util.Log;
118

9+
import androidx.annotation.NonNull;
10+
import androidx.fragment.app.Fragment;
11+
import androidx.fragment.app.FragmentActivity;
12+
1213
import java.util.HashMap;
1314
import java.util.Map;
1415

@@ -38,7 +39,7 @@ void requestPermissions(@NonNull String[] permissions) {
3839
}
3940

4041
@TargetApi(Build.VERSION_CODES.M)
41-
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
42+
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
4243
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
4344

4445
if (requestCode != PERMISSIONS_REQUEST_CODE) return;
@@ -52,7 +53,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String permissi
5253
onRequestPermissionsResult(permissions, grantResults, shouldShowRequestPermissionRationale);
5354
}
5455

55-
void onRequestPermissionsResult(String permissions[], int[] grantResults, boolean[] shouldShowRequestPermissionRationale) {
56+
void onRequestPermissionsResult(String[] permissions, int[] grantResults, boolean[] shouldShowRequestPermissionRationale) {
5657
for (int i = 0, size = permissions.length; i < size; i++) {
5758
log("onRequestPermissionsResult " + permissions[i]);
5859
// Find the corresponding subject

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

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@
1919
import android.app.Activity;
2020
import android.content.pm.PackageManager;
2121
import android.os.Build;
22-
import android.support.v4.app.FragmentActivity;
22+
23+
import androidx.fragment.app.FragmentActivity;
2324

2425
import org.junit.Before;
2526
import org.junit.Test;
2627
import org.junit.runner.RunWith;
2728
import org.mockito.ArgumentCaptor;
28-
import org.mockito.Matchers;
29+
import org.mockito.ArgumentMatchers;
2930
import org.robolectric.Robolectric;
3031
import org.robolectric.RobolectricTestRunner;
3132
import org.robolectric.android.controller.ActivityController;
@@ -48,7 +49,7 @@
4849
import static org.mockito.Mockito.when;
4950

5051
@RunWith(RobolectricTestRunner.class)
51-
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.M)
52+
@Config(sdk = Build.VERSION_CODES.M)
5253
public class RxPermissionsTest {
5354

5455
private FragmentActivity mActivity;
@@ -273,7 +274,7 @@ public void eachSubscriptionCombined_revoked() {
273274
public void subscription_severalPermissions_granted() {
274275
TestObserver<Boolean> sub = new TestObserver<>();
275276
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
276-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
277+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
277278
int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED};
278279

279280
trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub);
@@ -289,7 +290,7 @@ public void subscription_severalPermissions_granted() {
289290
public void eachSubscription_severalPermissions_granted() {
290291
TestObserver<Permission> sub = new TestObserver<>();
291292
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
292-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
293+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
293294
int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED};
294295

295296
trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub);
@@ -305,7 +306,7 @@ public void eachSubscription_severalPermissions_granted() {
305306
public void eachSubscriptionCombined_severalPermissions_granted() {
306307
TestObserver<Permission> sub = new TestObserver<>();
307308
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
308-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
309+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
309310
int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED};
310311

311312
trigger().compose(mRxPermissions.ensureEachCombined(permissions)).subscribe(sub);
@@ -321,7 +322,7 @@ public void eachSubscriptionCombined_severalPermissions_granted() {
321322
public void subscription_severalPermissions_oneDenied() {
322323
TestObserver<Boolean> sub = new TestObserver<>();
323324
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
324-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
325+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
325326
int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED};
326327

327328
trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub);
@@ -337,7 +338,7 @@ public void subscription_severalPermissions_oneDenied() {
337338
public void subscription_severalPermissions_oneRevoked() {
338339
TestObserver<Boolean> sub = new TestObserver<>();
339340
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
340-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
341+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
341342
when(mRxPermissions.isRevoked(Manifest.permission.CAMERA)).thenReturn(true);
342343

343344
trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub);
@@ -355,7 +356,7 @@ public void subscription_severalPermissions_oneRevoked() {
355356
public void eachSubscription_severalPermissions_oneAlreadyGranted() {
356357
TestObserver<Permission> sub = new TestObserver<>();
357358
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
358-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
359+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
359360
when(mRxPermissions.isGranted(Manifest.permission.CAMERA)).thenReturn(true);
360361

361362
trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub);
@@ -377,7 +378,7 @@ public void eachSubscription_severalPermissions_oneAlreadyGranted() {
377378
public void eachSubscriptionCombined_severalPermissions_oneAlreadyGranted() {
378379
TestObserver<Permission> sub = new TestObserver<>();
379380
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
380-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
381+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
381382
when(mRxPermissions.isGranted(Manifest.permission.CAMERA)).thenReturn(true);
382383

383384
trigger().compose(mRxPermissions.ensureEachCombined(permissions)).subscribe(sub);
@@ -399,7 +400,7 @@ public void eachSubscriptionCombined_severalPermissions_oneAlreadyGranted() {
399400
public void eachSubscription_severalPermissions_oneDenied() {
400401
TestObserver<Permission> sub = new TestObserver<>();
401402
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
402-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
403+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
403404
int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED};
404405

405406
trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub);
@@ -415,7 +416,7 @@ public void eachSubscription_severalPermissions_oneDenied() {
415416
public void eachSubscriptionCombined_severalPermissions_oneDenied() {
416417
TestObserver<Permission> sub = new TestObserver<>();
417418
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
418-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
419+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
419420
int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED};
420421

421422
trigger().compose(mRxPermissions.ensureEachCombined(permissions)).subscribe(sub);
@@ -431,7 +432,7 @@ public void eachSubscriptionCombined_severalPermissions_oneDenied() {
431432
public void eachSubscription_severalPermissions_oneRevoked() {
432433
TestObserver<Permission> sub = new TestObserver<>();
433434
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
434-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
435+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
435436
when(mRxPermissions.isRevoked(Manifest.permission.CAMERA)).thenReturn(true);
436437

437438
trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub);
@@ -449,7 +450,7 @@ public void eachSubscription_severalPermissions_oneRevoked() {
449450
public void eachSubscriptionCombined_severalPermissions_oneRevoked() {
450451
TestObserver<Permission> sub = new TestObserver<>();
451452
String[] permissions = new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CAMERA};
452-
when(mRxPermissions.isGranted(Matchers.<String>anyVararg())).thenReturn(false);
453+
when(mRxPermissions.isGranted(ArgumentMatchers.anyString())).thenReturn(false);
453454
when(mRxPermissions.isRevoked(Manifest.permission.CAMERA)).thenReturn(true);
454455

455456
trigger().compose(mRxPermissions.ensureEachCombined(permissions)).subscribe(sub);

sample/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ android {
2020
dependencies {
2121
implementation project(':rxpermissions')
2222

23-
implementation rootProject.ext.appCompat
24-
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
23+
implementation 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
24+
implementation rootProject.ext.androidXAppcompat
2525

26-
testImplementation rootProject.ext.junit
26+
testImplementation 'junit:junit:4.13'
2727
testImplementation rootProject.ext.mockito
2828
}

0 commit comments

Comments
 (0)