You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the methods return results wrapped in LiveData. This is an Rx‑style approach that was popular on Android around 2020. Today it isn’t as widely used because Kotlin’s Flow and suspending coroutines have become the preferred way to handle asynchronous data streams.
I propose switching back to plain callbacks, which can then be converted into Flow or coroutine‑based APIs if needed. The current pattern for obtaining a result is cumbersome:
MainActivity.OPTABLE
.targeting()
.observe(viewLifecycleOwner) { result ->
if (result.status == OptableSDK.Status.SUCCESS) {
// …
}
}
By using simple callbacks, the code becomes more straightforward and can be easily wrapped into modern reactive constructs when required.
Activity
[-]Remove LiveData and make OptableSDK singleton[/-][+]Remove LiveData[/+]eugenedorfman-optable commentedon Feb 25, 2026
this was done as part of the refactoring #35