Skip to content

Commit 3830fc0

Browse files
committed
Fix a couple of lint and other generics issues
1 parent 3148e03 commit 3830fc0

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ java {
6565

6666
tasks.withType(JavaCompile) {
6767
options.compilerArgs << "-parameters"
68+
options.compilerArgs += '-Xlint:-module'
69+
options.compilerArgs += '-Xlint:unchecked'
6870
}
6971

7072
apply from: file("gradle/javadoc_cleanup.gradle")

src/main/java/io/reactivex/rxjava4/plugins/RxJavaPlugins.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.lang.Thread.UncaughtExceptionHandler;
1717
import java.util.Objects;
1818
import java.util.concurrent.*;
19+
import java.util.concurrent.Flow.Subscriber;
1920

2021
import static java.util.concurrent.Flow.*;
2122

@@ -115,7 +116,7 @@ public final class RxJavaPlugins {
115116

116117
@SuppressWarnings("rawtypes")
117118
@Nullable
118-
static volatile BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber[], @NonNull ? extends Subscriber[]> onParallelSubscribe;
119+
static volatile BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber<@NonNull ?>[], @NonNull ? extends Subscriber<@NonNull ?>[]> onParallelSubscribe;
119120

120121
@Nullable
121122
static volatile BooleanSupplier onBeforeBlocking;
@@ -1008,12 +1009,12 @@ public static CompletableObserver onSubscribe(@NonNull Completable source, @NonN
10081009
* @param subscribers the array of subscribers
10091010
* @return the value returned by the hook
10101011
*/
1011-
@SuppressWarnings({ "rawtypes" })
1012+
@SuppressWarnings({ "unchecked" })
10121013
@NonNull
1013-
public static <@NonNull T> Subscriber<? super T>[] onSubscribe(@NonNull ParallelFlowable<T> source, @NonNull Subscriber<? super T>[] subscribers) {
1014-
BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber[], @NonNull ? extends Subscriber[]> f = onParallelSubscribe;
1014+
public static <@NonNull T> Subscriber<? super T>[] onSubscribe(@NonNull ParallelFlowable<? extends T> source, @NonNull Subscriber<? super T>[] subscribers) {
1015+
var f = onParallelSubscribe;
10151016
if (f != null) {
1016-
return apply(f, source, subscribers);
1017+
return (@NonNull Subscriber<@NonNull ? super @NonNull T>[]) apply(f, source, subscribers);
10171018
}
10181019
return subscribers;
10191020
}
@@ -1161,7 +1162,7 @@ public static void setOnParallelAssembly(@Nullable Function<? super ParallelFlow
11611162
* @since 3.1.0
11621163
*/
11631164
@SuppressWarnings("rawtypes")
1164-
public static void setOnParallelSubscribe(@Nullable BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber[], @NonNull ? extends Subscriber[]> handler) {
1165+
public static void setOnParallelSubscribe(@Nullable BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber<@NonNull ?>[], @NonNull ? extends Subscriber<@NonNull ?>[]> handler) {
11651166
if (lockdown) {
11661167
throw new IllegalStateException("Plugins can't be changed anymore");
11671168
}
@@ -1176,7 +1177,7 @@ public static void setOnParallelSubscribe(@Nullable BiFunction<? super ParallelF
11761177
*/
11771178
@SuppressWarnings("rawtypes")
11781179
@Nullable
1179-
public static BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber[], @NonNull ? extends Subscriber[]> getOnParallelSubscribe() {
1180+
public static BiFunction<? super ParallelFlowable, @NonNull ? super Subscriber<@NonNull ?>[], @NonNull ? extends Subscriber<@NonNull ?>[]> getOnParallelSubscribe() {
11801181
return onParallelSubscribe;
11811182
}
11821183

@@ -1355,7 +1356,7 @@ public static Scheduler createExecutorScheduler(@NonNull Executor executor, bool
13551356
* @return the result of the function call
13561357
*/
13571358
@NonNull
1358-
static <@NonNull T, @NonNull U, @NonNull R> R apply(@NonNull BiFunction<T, U, R> f, @NonNull T t, @NonNull U u) {
1359+
static <@NonNull T, @NonNull U, @NonNull R> R apply(@NonNull BiFunction<? super T, ? super U, ? extends R> f, @NonNull T t, @NonNull U u) {
13591360
try {
13601361
return f.apply(t, u);
13611362
} catch (Throwable ex) {

src/test/java/io/reactivex/rxjava4/plugins/RxJavaPluginsTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -589,14 +589,12 @@ public void onComplete() {
589589
.assertComplete();
590590
}
591591

592-
@SuppressWarnings("rawtypes")
593592
@Test
594593
public void parallelFlowableStart() {
595594
try {
596-
RxJavaPlugins.setOnParallelSubscribe(new BiFunction<ParallelFlowable, Subscriber[], Subscriber[]>() {
597-
@Override
598-
public Subscriber[] apply(ParallelFlowable f, final Subscriber[] t) {
599-
return new Subscriber[] { new Subscriber() {
595+
RxJavaPlugins.setOnParallelSubscribe((_, t) -> {
596+
var result = new Subscriber<?>[] {
597+
new Subscriber<Object>() {
600598

601599
@Override
602600
public void onSubscribe(Subscription s) {
@@ -606,7 +604,7 @@ public void onSubscribe(Subscription s) {
606604
@SuppressWarnings("unchecked")
607605
@Override
608606
public void onNext(Object value) {
609-
t[0].onNext((Integer)value - 9);
607+
((Subscriber<Integer>)t[0]).onNext(((Integer)value - 9));
610608
}
611609

612610
@Override
@@ -621,8 +619,9 @@ public void onComplete() {
621619

622620
}
623621
};
622+
return result;
624623
}
625-
});
624+
);
626625

627626
Flowable.range(10, 3)
628627
.parallel(1)

0 commit comments

Comments
 (0)