Skip to content

Commit 084ac6f

Browse files
Deprecate Direct Access to Scheduler Implementations
This enforces the convention of using `Schedulers.*` and then makes the RxJavaDefaultSchedulers plugin more reliable.
1 parent bccac64 commit 084ac6f

File tree

5 files changed

+37
-7
lines changed

5 files changed

+37
-7
lines changed

rxjava-core/src/main/java/rx/schedulers/ExecutorScheduler.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,20 @@
3636
public class ExecutorScheduler extends Scheduler {
3737
private final Executor executor;
3838

39+
/**
40+
* @deprecated Use Schedulers.executor();
41+
* @return
42+
*/
43+
@Deprecated
3944
public ExecutorScheduler(Executor executor) {
4045
this.executor = executor;
4146
}
4247

48+
/**
49+
* @deprecated Use Schedulers.executor();
50+
* @return
51+
*/
52+
@Deprecated
4353
public ExecutorScheduler(ScheduledExecutorService executor) {
4454
this.executor = executor;
4555
}
@@ -50,7 +60,6 @@ public Subscription schedule(Action1<Scheduler.Inner> action) {
5060
inner.schedule(action);
5161
return inner.innerSubscription;
5262
}
53-
5463

5564
@Override
5665
public Subscription schedule(Action1<Inner> action, long delayTime, TimeUnit unit) {

rxjava-core/src/main/java/rx/schedulers/ImmediateScheduler.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,19 @@
2828
public final class ImmediateScheduler extends Scheduler {
2929
private static final ImmediateScheduler INSTANCE = new ImmediateScheduler();
3030

31+
/**
32+
* @deprecated Use Schedulers.immediate();
33+
* @return
34+
*/
35+
@Deprecated
3136
public static ImmediateScheduler getInstance() {
3237
return INSTANCE;
3338
}
3439

40+
/* package */static ImmediateScheduler instance() {
41+
return INSTANCE;
42+
}
43+
3544
/* package accessible for unit tests */ImmediateScheduler() {
3645
}
3746

@@ -49,7 +58,6 @@ public Subscription schedule(Action1<Inner> action, long delayTime, TimeUnit uni
4958
return inner.innerSubscription;
5059
}
5160

52-
5361
private class InnerImmediateScheduler extends Scheduler.Inner implements Subscription {
5462

5563
final BooleanSubscription innerSubscription = new BooleanSubscription();

rxjava-core/src/main/java/rx/schedulers/NewThreadScheduler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,16 @@ public Thread newThread(Runnable r) {
4646
}
4747
};
4848

49+
/**
50+
* @deprecated Use Schedulers.newThread();
51+
* @return
52+
*/
4953
@Deprecated
5054
public static NewThreadScheduler getInstance() {
5155
return INSTANCE;
5256
}
53-
54-
/* package */ static NewThreadScheduler instance() {
57+
58+
/* package */static NewThreadScheduler instance() {
5559
return INSTANCE;
5660
}
5761

rxjava-core/src/main/java/rx/schedulers/Schedulers.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public Scheduler call() {
8888
* @return {@link ImmediateScheduler} instance
8989
*/
9090
public static Scheduler immediate() {
91-
return ImmediateScheduler.getInstance();
91+
return ImmediateScheduler.instance();
9292
}
9393

9494
/**
@@ -99,7 +99,7 @@ public static Scheduler immediate() {
9999
*/
100100
@Deprecated
101101
public static Scheduler currentThread() {
102-
return TrampolineScheduler.getInstance();
102+
return TrampolineScheduler.instance();
103103
}
104104

105105
/**
@@ -108,7 +108,7 @@ public static Scheduler currentThread() {
108108
* @return {@link TrampolineScheduler} instance
109109
*/
110110
public static Scheduler trampoline() {
111-
return TrampolineScheduler.getInstance();
111+
return TrampolineScheduler.instance();
112112
}
113113

114114
/**

rxjava-core/src/main/java/rx/schedulers/TrampolineScheduler.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,18 @@
3030
public class TrampolineScheduler extends Scheduler {
3131
private static final TrampolineScheduler INSTANCE = new TrampolineScheduler();
3232

33+
/**
34+
* @deprecated Use Schedulers.trampoline();
35+
* @return
36+
*/
37+
@Deprecated
3338
public static TrampolineScheduler getInstance() {
3439
return INSTANCE;
3540
}
41+
42+
/* package */ static TrampolineScheduler instance() {
43+
return INSTANCE;
44+
}
3645

3746
@Override
3847
public Subscription schedule(Action1<Scheduler.Inner> action) {

0 commit comments

Comments
 (0)