Patrick Steiger

Results 15 issues of Patrick Steiger

Change `ScopeProvider.coroutineScope` throwing behavior when accessing it before scope is active, or after scope is inactive. Instead of throwing at call site, we deliver `CoroutineScopeLifecycleException(message: String, cause: OutsideScopeException)` to the...

…nverters. `Worker.asRibCoroutineWorker` and `RibCoroutineWorker.asWorker` converters now return the instance unchanged if the class already implements the target interface. This is important for correctness. For example: ``` class DualWorker : Worker,...

Currently, we need to build both `bindJob` and `unbindJob` synchronously (`CoroutineScope.bind` is not suspending and must return a handle with both jobs). In order to synchronously get an instance of...

A direct dispatcher mimics the Rx always synchronous-by-default behavior (unless `subscribeOn`/`observeOn` is used), which is different to the `Dispatchers.Unconfined` behavior (default used by `Flow.asObservable`) which may form event loops for...

Android

Currently, binding a `Worker` that fails in `onStart` gives a cryptic stacktrace when `StrictMode` is enabled: ``` throwable = java.lang.IllegalStateException: android.os.strictmode.DiskReadViolation at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1658) at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:250) at java.io.File.isDirectory(File.java:843) at java.io.File.toURI(File.java:728) at...

Android

Work in progress

Android

Going forward, I think we should use a tool such as the [binary compatibility validator plugin](https://github.com/Kotlin/binary-compatibility-validator) to avoid making unconscious binary-incompatible changes to the library API.

Add missing "to" preposition.

**Description**: When we have self types (implemented by recursive generics), Motif fails with `StackOverflowError`: ``` at com.uber.xprocessing.ext.XTypeKt.hasCollectionType(XType.kt:316) at com.uber.xprocessing.ext.XTypeKt.hasCollectionType(XType.kt:316) at com.uber.xprocessing.ext.XTypeKt.hasCollectionType(XType.kt:316) ... ``` The following code seems to trigger that...