Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit 3c69526

Browse files
committed
Add rxjava2 support, change artifact id
1 parent 29d1af9 commit 3c69526

14 files changed

Lines changed: 5709 additions & 53 deletions

File tree

app/src/main/java/com/ackee/versionupdatehandler/setup/MainActivity.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
package com.ackee.versionupdatehandler.setup
22

3-
import android.app.Activity
43
import android.os.Bundle
54
import android.support.v7.app.AppCompatActivity
6-
import android.widget.Toast
75
import com.ackee.versionupdatehandler.R
86
import com.ackee.versioupdatehandler.VersionStatusResolver
97
import com.ackee.versioupdatehandler.model.BasicVersionsConfiguration
108
import com.ackee.versioupdatehandler.model.DialogSettings
119
import com.ackee.versioupdatehandler.model.VersionStatus
10+
import io.reactivex.Single
1211
import org.jetbrains.anko.*
13-
import rx.Single
1412
import java.util.*
1513

1614
/**
@@ -71,12 +69,12 @@ class MainActivity : AppCompatActivity() {
7169
VersionStatusResolver({
7270
Single.just(BasicVersionsConfiguration(10, 15))
7371
}).checkVersionStatus(if (Random().nextInt() % 2 == 0) 8 else 12)
74-
.subscribe {
72+
.subscribe({
7573
when (it) {
7674
VersionStatus.UPDATE_AVAILABLE -> toast("Update is available")
7775
VersionStatus.UPDATE_REQUIRED -> toast("Mandatory update is available")
7876
}
79-
}
77+
}, Throwable::printStackTrace)
8078
}
8179
}.lparams(width = matchParent) {
8280
bottomMargin = dip(16)

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
jcenter()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:2.2.3'
10+
classpath 'com.android.tools.build:gradle:2.3.0'
1111
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1212
}
1313
}

firebase-fetcher/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
POM_NAME=FirebaseFetcher
2-
POM_ARTIFACT_ID=firebase-fetcher
2+
POM_ARTIFACT_ID=firebase-fetcher2
33
POM_PACKAGING=aar
44
POM_DESCRIPTION=Fetcher of app version from firebase remote config

firebase-fetcher/src/main/java/com/ackee/versionupdatehandler/FirebaseVersionFetcher.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
import com.google.android.gms.tasks.Task;
1212
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
1313

14-
import rx.Single;
15-
import rx.SingleSubscriber;
14+
import io.reactivex.Single;
15+
import io.reactivex.SingleEmitter;
16+
import io.reactivex.SingleOnSubscribe;
17+
1618

1719
/**
1820
* Class that fetches version configuration from Firebase Remote.
@@ -46,25 +48,24 @@ public FirebaseVersionFetcher(int cacheExpiration, String minimalAttributeName,
4648

4749
@Override
4850
public Single<VersionsConfiguration> fetch() {
49-
return Single.create(new Single.OnSubscribe<VersionsConfiguration>() {
51+
return Single.create(new SingleOnSubscribe<VersionsConfiguration>() {
5052
@Override
51-
public void call(final SingleSubscriber<? super VersionsConfiguration> singleSubscriber) {
53+
public void subscribe(final SingleEmitter<VersionsConfiguration> emitter) throws Exception {
5254
boolean isDevMode = FirebaseRemoteConfig.getInstance().getInfo().getConfigSettings().isDeveloperModeEnabled();
5355

5456
FirebaseRemoteConfig.getInstance().fetch(isDevMode ? 0 : cacheExpiration).addOnCompleteListener(new OnCompleteListener<Void>() {
5557
@Override
5658
public void onComplete(@NonNull Task<Void> task) {
5759
if (task.isSuccessful()) {
58-
Log.d("FirebaseVersionFetcher", "onComplete: success");
5960
FirebaseRemoteConfig.getInstance().activateFetched();
6061
} else {
61-
Log.d("FirebaseVersionFetcher", "onComplete: failed");
62-
singleSubscriber.onError(new VersionFetchError());
62+
63+
emitter.onError(new VersionFetchError());
6364
}
6465
long minimalVersion = FirebaseRemoteConfig.getInstance().getLong(minimalAttributeName);
6566
long currentVersion = FirebaseRemoteConfig.getInstance().getLong(currentAttributeName);
6667

67-
singleSubscriber.onSuccess(new BasicVersionsConfiguration(minimalVersion, currentVersion));
68+
emitter.onSuccess(new BasicVersionsConfiguration(minimalVersion, currentVersion));
6869
}
6970
});
7071
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Mon Dec 28 10:00:20 PST 2015
1+
#Tue Apr 18 15:25:23 CEST 2017
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-2.14.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

library/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ android {
2727
dependencies {
2828
testCompile 'junit:junit:4.12'
2929
compile 'com.android.support:appcompat-v7:25.1.1'
30-
compile 'io.reactivex:rxjava:1.2.5'
31-
compile 'io.reactivex:rxandroid:1.2.1'
30+
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
31+
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
3232

3333
}
3434

library/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
POM_NAME=StatusResolver
2-
POM_ARTIFACT_ID=status-resolver
2+
POM_ARTIFACT_ID=status-resolver2
33
POM_PACKAGING=aar
44
POM_DESCRIPTION=Resolver of application update status

library/src/main/java/com/ackee/versioupdatehandler/VersionFetcher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
import com.ackee.versioupdatehandler.model.VersionsConfiguration;
44

5-
import rx.Single;
5+
import io.reactivex.Single;
6+
67

78
/**
89
* Base interface for classes that will handle version fetching.

library/src/main/java/com/ackee/versioupdatehandler/VersionStatusResolver.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
import com.ackee.versioupdatehandler.model.VersionStatus;
88
import com.ackee.versioupdatehandler.model.VersionsConfiguration;
99

10-
import rx.Single;
11-
import rx.android.schedulers.AndroidSchedulers;
12-
import rx.functions.Action1;
13-
import rx.functions.Func1;
14-
import rx.schedulers.Schedulers;
10+
import io.reactivex.Single;
11+
import io.reactivex.android.schedulers.AndroidSchedulers;
12+
import io.reactivex.functions.Consumer;
13+
import io.reactivex.functions.Function;
14+
import io.reactivex.schedulers.Schedulers;
1515

1616

1717
/**
@@ -30,9 +30,9 @@ public VersionStatusResolver(VersionFetcher fetcher) {
3030

3131
public Single<VersionStatus> checkVersionStatus(final int version) {
3232
return fetcher.fetch()
33-
.map(new Func1<VersionsConfiguration, VersionStatus>() {
33+
.map(new Function<VersionsConfiguration, VersionStatus>() {
3434
@Override
35-
public VersionStatus call(VersionsConfiguration versionsConfiguration) {
35+
public VersionStatus apply(VersionsConfiguration versionsConfiguration) {
3636
return resolveStatus(version, versionsConfiguration);
3737
}
3838
});
@@ -72,16 +72,16 @@ public void checkVersionStatusAndOpenDefault(final int version, final FragmentMa
7272
checkVersionStatus(version)
7373
.subscribeOn(Schedulers.newThread())
7474
.observeOn(AndroidSchedulers.mainThread())
75-
.subscribe(new Action1<VersionStatus>() {
75+
.subscribe(new Consumer<VersionStatus>() {
7676
@Override
77-
public void call(VersionStatus versionStatus) {
77+
public void accept(VersionStatus versionStatus) {
7878
if (versionStatus != VersionStatus.UP_TO_DATE) {
7979
showDialog(versionStatus == VersionStatus.UPDATE_REQUIRED, fragmentManager, settings);
8080
}
8181
}
82-
}, new Action1<Throwable>() {
82+
}, new Consumer<Throwable>() {
8383
@Override
84-
public void call(Throwable throwable) {
84+
public void accept(Throwable throwable) {
8585
throwable.printStackTrace();
8686
}
8787
});

library/src/test/java/com/ackee/versioupdatehandler/VersionStatusResolverTest.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88

99
import org.junit.Test;
1010

11-
import rx.Single;
12-
import rx.functions.Func1;
13-
import rx.observers.TestSubscriber;
11+
import io.reactivex.Single;
12+
import io.reactivex.functions.Function;
13+
import io.reactivex.observers.TestObserver;
14+
1415

1516
/**
1617
* Tests for {@link VersionStatusResolver}
@@ -31,12 +32,12 @@ public Single<VersionsConfiguration> fetch() {
3132
return Single.error(new VersionFetchError());
3233
}
3334
});
34-
TestSubscriber<VersionStatus> testSubscriber = TestSubscriber.create();
35+
TestObserver<VersionStatus> testSubscriber = TestObserver.create();
3536
resolver.checkVersionStatus(0)
3637
.subscribe(testSubscriber);
3738
testSubscriber.assertError(VersionFetchError.class);
3839
testSubscriber.assertNoValues();
39-
testSubscriber.assertTerminalEvent();
40+
testSubscriber.assertTerminated();
4041
}
4142

4243
@Test
@@ -63,18 +64,18 @@ private void checkSuccess(int actualVersion, VersionStatus expectedResult) {
6364
VersionStatusResolver resolver = new VersionStatusResolver(new VersionFetcher() {
6465
@Override
6566
public Single<VersionsConfiguration> fetch() {
66-
return Single.just(BASIC_VERSIONS_CONFIGURATION).map(new Func1<BasicVersionsConfiguration, VersionsConfiguration>() {
67+
return Single.just(BASIC_VERSIONS_CONFIGURATION).map(new Function<BasicVersionsConfiguration, VersionsConfiguration>() {
6768
@Override
68-
public VersionsConfiguration call(BasicVersionsConfiguration basicVersionsConfiguration) {
69+
public VersionsConfiguration apply(BasicVersionsConfiguration basicVersionsConfiguration) {
6970
return basicVersionsConfiguration;
7071
}
7172
});
7273
}
7374
});
74-
TestSubscriber<VersionStatus> testSubscriber = TestSubscriber.create();
75+
TestObserver<VersionStatus> testObserver = TestObserver.create();
7576
resolver.checkVersionStatus(actualVersion)
76-
.subscribe(testSubscriber);
77-
testSubscriber.assertValue(expectedResult);
78-
testSubscriber.assertNoErrors();
77+
.subscribe(testObserver);
78+
testObserver.assertValue(expectedResult);
79+
testObserver.assertNoErrors();
7980
}
8081
}

0 commit comments

Comments
 (0)