Lifecycle Dispatcher

This CL adds Lifecycle#whenStarted, #whenResumed, #whenCreated
methods which receive a block and execute the block only if
the Lifecycle is in desired state.

The block is automatically suspended if the lifecycle goes out
of the desired state and it is cancelled if the Lifecycle is
destroyed.

Bug: 122740811
Test: PausingLifecycleDispatcherTest
Change-Id: Ib1211c0f8a0ead42f793a671a233f3b43c557e07
diff --git a/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt b/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt
index f215678..c4b4e51 100644
--- a/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt
@@ -66,6 +66,7 @@
     ignore(LibraryGroups.LIFECYCLE.group, "lifecycle-livedata-core-ktx")
     ignore(LibraryGroups.LIFECYCLE.group, "lifecycle-compiler")
     ignore(LibraryGroups.LIFECYCLE.group, "lifecycle-common-eap")
+    ignore(LibraryGroups.LIFECYCLE.group, "lifecycle-runtime-eap")
     prebuilts(LibraryGroups.LIFECYCLE, "lifecycle-viewmodel-savedstate", "1.0.0-alpha01")
     prebuilts(LibraryGroups.LIFECYCLE, "2.1.0-alpha03")
     prebuilts(LibraryGroups.LOADER, "1.1.0-beta01")