It seems ListenableWorker no longer has the @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) restriction however I can't figure out or find examples on how to properly return a ListenableFuture< Result> in my overriden startWork() function.
As far as I can tell, the only option is to return a SettableFuture.create< Result>() but that still requires suppressing the "RestrictedApi" warning/error.
Anyone know a simpler way ?
Edit: This is the way to do it as far as I've gathered which makes use of CallbackToFutureAdapter.Completer
override fun startWork(): ListenableFuture<Result> {
return CallbackToFutureAdapter.getFuture({
it.set(ListenableWorker.Result.success())
})
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…