/** A {@link Scheduler} which executes actions on {@code looper}. */ public static Scheduler from(Looper looper) { return from(looper, false); }
@Test public void fromReturnsUsableScheduler() { assertNotNull(AndroidSchedulers.from(Looper.getMainLooper())); }
@Test public void fromNullThrows() { try { AndroidSchedulers.from(null); fail(); } catch (NullPointerException e) { assertEquals("looper == null", e.getMessage()); } }
@Test public void fromNullThrowsTwoArg() { try { AndroidSchedulers.from(null, false); fail(); } catch (NullPointerException e) { assertEquals("looper == null", e.getMessage()); } }
@Test public void asyncIgnoredPre16() { ReflectionHelpers.setStaticField(Build.VERSION.class, "SDK_INT", 14); ShadowLooper mainLooper = ShadowLooper.getShadowMainLooper(); mainLooper.pause(); ShadowMessageQueue mainMessageQueue = shadowOf(Looper.getMainLooper().getQueue()); Scheduler main = AndroidSchedulers.from(Looper.getMainLooper(), true); main.scheduleDirect(new Runnable() { @Override public void run() { } }); Message message = mainMessageQueue.getHead(); assertFalse(message.isAsynchronous()); } }
break; case HANDLER: scheduler = AndroidSchedulers.from(ThreadHandler.DEFAULT.getHandler().getLooper()); break; default:
.observeOn(AndroidSchedulers.from(Looper.getMainLooper(), true)) .as(AutoDispose.<String>autoDisposable(AndroidLifecycleScopeProvider.from(this))) .subscribe(new DisposableSubscriber<String>() {