Skip to content

Commit

Permalink
Upgrade to RxJava3
Browse files Browse the repository at this point in the history
  • Loading branch information
d4rken committed Jul 16, 2020
1 parent f8bc6ca commit b36ec3f
Show file tree
Hide file tree
Showing 29 changed files with 303 additions and 300 deletions.
10 changes: 5 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
buildscript {
def versionMajor = 1
def versionMajor = 3
def versionMinor = 0
def versionPatch = 9
def versionPatch = 0

ext.versions = [
'versionCode' : versionMajor * 10000 + versionMinor * 100 + versionPatch,
'versionName' : "${versionMajor}.${versionMinor}.${versionPatch}",
'minSdk' : 16,
'minSdk' : 21,
'targetSdk' : 28,
'compileSdk' : 28,
'sourceCompatibility': JavaVersion.VERSION_1_8,
Expand Down Expand Up @@ -52,8 +52,8 @@ buildscript {
],
androidPlugin: 'com.android.tools.build:gradle:3.1.2',
timber : "com.jakewharton.timber:timber:4.7.1",
rxJava : "io.reactivex.rxjava2:rxjava:2.2.4",
rxJavaReplay : "com.jakewharton.rx2:replaying-share:2.1.0",
rxJava : "io.reactivex.rxjava3:rxjava:3.0.4",
rxJavaReplay : "com.jakewharton.rx3:replaying-share:3.0.0",
jUnit : "junit:junit:4.12",
mockito : "org.mockito:mockito-core:2.8.9",
awaitility : "org.awaitility:awaitility:3.0.0",
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/eu/darken/rxshell/cmd/Cmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import java.util.UUID;

import eu.darken.rxshell.process.RxProcess;
import io.reactivex.Single;
import io.reactivex.processors.FlowableProcessor;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.processors.FlowableProcessor;

public class Cmd {
public static class ExitCode extends RxProcess.ExitCode {
Expand Down
18 changes: 9 additions & 9 deletions core/src/main/java/eu/darken/rxshell/cmd/CmdProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@

import eu.darken.rxshell.extra.RXSDebug;
import eu.darken.rxshell.shell.RxShell;
import io.reactivex.Observable;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Observer;
import io.reactivex.Single;
import io.reactivex.SingleEmitter;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subjects.BehaviorSubject;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.ObservableOnSubscribe;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.core.SingleEmitter;
import io.reactivex.rxjava3.core.SingleOnSubscribe;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
import timber.log.Timber;

public class CmdProcessor {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.ArrayList;
import java.util.List;

import io.reactivex.Flowable;
import io.reactivex.rxjava3.core.Flowable;


public class ErrorHarvester extends Harvester<Harvester.Crop> {
Expand Down
8 changes: 4 additions & 4 deletions core/src/main/java/eu/darken/rxshell/cmd/Harvester.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
import java.util.List;

import eu.darken.rxshell.extra.RXSDebug;
import io.reactivex.Flowable;
import io.reactivex.FlowableTransformer;
import io.reactivex.internal.subscriptions.SubscriptionHelper;
import io.reactivex.processors.FlowableProcessor;
import io.reactivex.rxjava3.core.Flowable;
import io.reactivex.rxjava3.core.FlowableTransformer;
import io.reactivex.rxjava3.internal.subscriptions.SubscriptionHelper;
import io.reactivex.rxjava3.processors.FlowableProcessor;
import timber.log.Timber;

public abstract class Harvester<T extends Harvester.Crop> extends Flowable<T> implements FlowableTransformer<String, T> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.ArrayList;
import java.util.List;

import io.reactivex.Flowable;
import io.reactivex.rxjava3.core.Flowable;
import timber.log.Timber;

public class OutputHarvester extends Harvester<OutputHarvester.Crop> {
Expand Down
12 changes: 6 additions & 6 deletions core/src/main/java/eu/darken/rxshell/cmd/RxCmdShell.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
import eu.darken.rxshell.process.RxProcess;
import eu.darken.rxshell.process.UserKiller;
import eu.darken.rxshell.shell.RxShell;
import io.reactivex.Completable;
import io.reactivex.Single;
import io.reactivex.SingleObserver;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.rxjava3.core.Completable;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.core.SingleObserver;
import io.reactivex.rxjava3.core.SingleOnSubscribe;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import timber.log.Timber;


Expand Down
8 changes: 4 additions & 4 deletions core/src/main/java/eu/darken/rxshell/process/RootKiller.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@

import eu.darken.rxshell.extra.RXSDebug;
import eu.darken.rxshell.shell.LineReader;
import io.reactivex.Observable;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Single;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.ObservableOnSubscribe;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.schedulers.Schedulers;
import timber.log.Timber;

public class RootKiller implements ProcessKiller {
Expand Down
18 changes: 9 additions & 9 deletions core/src/main/java/eu/darken/rxshell/process/RxProcess.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

import eu.darken.rxshell.extra.ApiWrap;
import eu.darken.rxshell.extra.RXSDebug;
import io.reactivex.Completable;
import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.Single;
import io.reactivex.SingleEmitter;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Action;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.rxjava3.core.Completable;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.core.SingleEmitter;
import io.reactivex.rxjava3.core.SingleOnSubscribe;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Action;
import io.reactivex.rxjava3.schedulers.Schedulers;
import timber.log.Timber;


Expand Down
19 changes: 10 additions & 9 deletions core/src/main/java/eu/darken/rxshell/shell/RxShell.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;

import eu.darken.rxshell.extra.RXSDebug;
import eu.darken.rxshell.process.RxProcess;
import io.reactivex.BackpressureStrategy;
import io.reactivex.Completable;
import io.reactivex.Flowable;
import io.reactivex.FlowableEmitter;
import io.reactivex.Single;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.rxjava3.core.BackpressureStrategy;
import io.reactivex.rxjava3.core.Completable;
import io.reactivex.rxjava3.core.Flowable;
import io.reactivex.rxjava3.core.FlowableEmitter;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import timber.log.Timber;

public class RxShell {
Expand All @@ -31,7 +32,7 @@ public synchronized Single<Session> open() {
if (session == null) {
session = rxProcess.open()
.map(session -> {
OutputStreamWriter writer = new OutputStreamWriter(session.input(), "UTF-8");
OutputStreamWriter writer = new OutputStreamWriter(session.input(), StandardCharsets.UTF_8);
return new Session(session, writer);
})
.subscribeOn(Schedulers.io())
Expand Down Expand Up @@ -165,7 +166,7 @@ public String toString() {
static Flowable<String> makeLineStream(InputStream stream, String tag) {
return Flowable
.create((FlowableEmitter<String> emitter) -> {
final InputStreamReader inputStreamReader = new InputStreamReader(stream, "UTF-8");
final InputStreamReader inputStreamReader = new InputStreamReader(stream, StandardCharsets.UTF_8);
final BufferedReader reader = new BufferedReader(inputStreamReader);
emitter.setCancellable(() -> {
try {
Expand Down
12 changes: 6 additions & 6 deletions core/src/test/java/eu/darken/rxshell/cmd/CmdBuilderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import java.util.UUID;
import java.util.concurrent.TimeUnit;

import io.reactivex.Single;
import io.reactivex.processors.PublishProcessor;
import io.reactivex.subscribers.TestSubscriber;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.processors.PublishProcessor;
import io.reactivex.rxjava3.subscribers.TestSubscriber;
import testtools.BaseTest;

import static junit.framework.Assert.assertEquals;
Expand Down Expand Up @@ -123,7 +123,7 @@ public void testSubmit_oneshot_exception() throws IOException {
when(shell.open()).thenReturn(Single.error(new IOException()));
when(shell.isAlive()).thenReturn(Single.just(false));

Cmd.builder("").submit(shell).test().awaitDone(1, TimeUnit.SECONDS).assertNoTimeout().assertError(IOException.class);
Cmd.builder("").submit(shell).test().awaitDone(1, TimeUnit.SECONDS).assertError(IOException.class);
}

@Test
Expand Down Expand Up @@ -186,8 +186,8 @@ public void testExecute_oneshot_exception_no_buffers() throws IOException {
assertThat(result.getExitCode(), is(Cmd.ExitCode.EXCEPTION));
assertThat(result.getErrors(), is(nullValue()));
assertThat(result.getOutput(), is(nullValue()));
assertThat(errorSub.valueCount(), is(1));
assertThat(outputSub.valueCount(), is(0));
errorSub.assertValueCount(1);
outputSub.assertValueCount(0);
errorSub.assertComplete();
outputSub.assertComplete();
}
Expand Down
Loading

0 comments on commit b36ec3f

Please sign in to comment.