Package-level declarations
Types
Why a MonitorEvent.AttemptFailed was emitted.
Optional lifecycle hook for app-level metrics — the imperative, callback-shaped delivery channel for the four v1 events (onScheduled / onStarted / onCompleted / onCancelled).
androidx.startup initializer that populates BackgroundTaskManager.shared before Application.onCreate runs. Registered in the library's manifest, so a consumer that keeps the InitializationProvider gets it for free.
Constructed-instance entry point — held by the user's app graph for the app's lifetime.
A unit of background work the user implements.
A user-supplied factory that builds BackgroundWorkers for a set of task ids, resolving the concrete worker lazily at dispatch time.
How a WorkRequest is retried after WorkResult.Retry.
Marks a const val String as an identifier that must appear in the iOS app's BGTaskSchedulerPermittedIdentifiers Info.plist array.
The result of Scheduler.cancel / Scheduler.cancelAll.
Why a MonitorEvent.Cancelled was emitted.
What Scheduler.schedule does when a request with the same task id is already pending.
Why a MonitorEvent.AttemptDeferred was emitted.
A scheduling hint about how the platform should treat a WorkRequest.
Inspector-shaped view of one registered factory.
Sealed event stream emitted by the library for instrumentation / inspection.
Network connectivity requirement for a WorkRequest.
A single condition currently preventing a scheduled task from running.
What the platform-currently-running-this-worker can do.
A configuration or environment issue the library has detected that could stop scheduled work from running.
Result of BackgroundTaskManager.diagnostics — list of currently-active PlatformDiagnostics. An empty list means the library believes the environment is configured correctly.
What Android does when expedited quota is exhausted. Maps to androidx.work.OutOfQuotaPolicy. iOS ignores it (no quota concept).
A snapshot of one scheduled task's current state — returned from Scheduler.scheduled for inspection.
The result of Scheduler.schedule.
What the current platform's Scheduler actually guarantees.
Why a MonitorEvent.Skipped was emitted — structurally unrecoverable.
Conditions a WorkRequest needs satisfied before the platform scheduler will dispatch it.
Per-invocation state handed to a BackgroundWorker's execute() call.
The DI seam: resolves a stable task id to a fresh BackgroundWorker per invocation. Two registration shapes feed it:
A typed key/value bag passed to a BackgroundWorker at scheduling time.
A request to schedule background work, identified by a stable task id.
The outcome a BackgroundWorker returns from execute().
Properties
The process-wide BackgroundTaskManager.
Functions
The WorkerFactory to install in your WorkManager.Configuration. Compose with DelegatingWorkerFactory if you also use Hilt's HiltWorkerFactory or any other custom factory.
Android entry point: builds the process-wide BackgroundTaskManager and installs it as BackgroundTaskManager.shared.
iOS factory for BackgroundTaskManager. Installs the result as BackgroundTaskManager.shared.
JVM (desktop / server) factory for BackgroundTaskManager.
macOS factory for BackgroundTaskManager.
The tick identifier BackgroundTaskManager.shared uses when the app never called create: the main bundle identifier plus .backgrounder-tick (e.g. dev.example.app.backgrounder-tick). It must appear in BGTaskSchedulerPermittedIdentifiers; the Gradle plugin adds it when backgrounder.iosBundleIdentifier is set. Exposed so apps that maintain the plist by hand can read the exact string.