Merge "Removing files from master branch, pointing README to androidx-main" into androidx-master-dev
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index baf38e0..0000000
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-blank_issues_enabled: false
-contact_links:
-  - name: Activity
-    url: https://issuetracker.google.com/issues/new?component=527362&template=1189829
-    about: File a bug or feature request for Activity
-  - name: Biometric
-    url: https://issuetracker.google.com/issues/new?component=559537&template=1214425
-    about: File a bug or feature request for Biometric
-  - name: Fragment
-    url: https://issuetracker.google.com/issues/new?component=460964&template=1182267
-    about: File a bug or feature request for Fragment
-  - name: Navigation
-    url: https://issuetracker.google.com/issues/new?component=409828&template=1093757
-    about: File a bug or feature request for Navigation
-  - name: Paging
-    url: https://issuetracker.google.com/issues/new?component=413106&template=1096385
-    about: File a bug or feature request for Paging
-  - name: Room
-    url: https://issuetracker.google.com/issues/new?component=413107&template=1096568
-    about: File a bug or feature request for Room
-  - name: WorkManager
-    url: https://issuetracker.google.com/issues/new?component=409906&template=1094197
-    about: File a bug or feature request for WorkManager
diff --git a/.github/OWNERS b/.github/OWNERS
deleted file mode 100644
index 84acf32..0000000
--- a/.github/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-dustinlam@google.com
-rahulrav@google.com
-yboyar@google.com
\ No newline at end of file
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 1cedc3e..0000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## Proposed Changes
-
-  -
-  -
-  -
-
-## Testing
-
-Test: Describe how you tested your changes. Note that this line (with `Test:`) is required, your PR will not build without it!
-
-## Issues Fixed
-
-Fixes: [Optional] The bug on [https://issuetracker.google.com](https://issuetracker.google.com) being fixed
diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml
deleted file mode 100644
index c1dee53..0000000
--- a/.github/workflows/presubmit.yml
+++ /dev/null
@@ -1,453 +0,0 @@
-name: AndroidX Presubmits
-on:
-  push:
-  pull_request_target:
-    types: [opened, synchronize, reopened, 'labeled']
-  workflow_dispatch:
-
-jobs:
-  setup:
-    runs-on: ubuntu-latest
-    steps:
-      - name: "Start webhook"
-        uses: androidx/github-workflow-webhook-action@main
-        with:
-          url: 'https://androidx.dev/github/androidX/presubmit/hook'
-          secret: ${{ secrets.ANDROIDX_PRESUBMIT_HOOK_SECRET }}
-          payload: '{ "platform": "all", "token": "${{ secrets.GITHUB_TOKEN }}", "state": "started"}'
-
-  lint:
-    runs-on: ubuntu-latest
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    steps:
-      - name: Pull request format
-        uses: 'androidx/check-pr-format-action@main'
-        with:
-          # Enforces a `Test: <stanza>` in the pull request
-          checks: '["(.*)?Test:(.*)?"]'
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-activity:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [macos-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "activity"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-      - name: "Upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-biometric:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [macos-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "biometric"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-      - name: "Upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-fragment:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "fragment"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-      - name: "Upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-navigation:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "navigation"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-      - name: "Upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-paging:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "paging"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-      - name: "Upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-room:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "room"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-
-      - name: "upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  build-work:
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-latest]
-    runs-on: ${{ matrix.os }}
-    needs: [setup, lint]
-    outputs:
-      status: ${{ steps.output-status.outputs.status }}
-    env:
-      group-id: "work"
-    steps:
-      - name: "Checkout androidx repo"
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 1
-
-      - name: "Setup JDK 11"
-        id: setup-java
-        uses: actions/setup-java@v1
-        with:
-          java-version: "11"
-
-      - name: "Set environment variables"
-        shell: bash
-        run: |
-          set -x
-          echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
-          echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
-
-      - name: "./gradlew buildOnServer"
-        uses: eskatos/gradle-command-action@v1
-        env:
-          JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        with:
-          arguments: buildOnServer
-          build-root-directory: ${{ env.group-id }}
-          gradle-executable: ${{ env.group-id }}/gradlew
-          wrapper-directory: ${{ env.group-id }}/gradle/wrapper
-
-      - name: "Upload build artifacts"
-        continue-on-error: true
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: artifacts_${{ env.group-id }}
-          path: ~/dist
-
-      - name: "Report job status"
-        id: output-status
-        if: always()
-        run: echo ::set-output name=status::${{ job.status }}
-
-  teardown:
-    runs-on: ubuntu-latest
-    needs: [
-      setup,
-      lint,
-      build-activity,
-      build-fragment,
-      build-navigation,
-      build-paging,
-      build-room,
-      build-work
-    ]
-    if: always()
-    steps:
-      - name: Parse workflow status
-        id: workflow-status
-        run: |
-          set -x
-          if [ "${{ needs.lint.outputs.status }}" == "success" ]            && \
-            [ "${{ needs.build-activity.outputs.status }}" == "success" ]   && \
-            [ "${{ needs.build-fragment.outputs.status }}" == "success" ]   && \
-            [ "${{ needs.build-navigation.outputs.status }}" == "success" ] && \
-            [ "${{ needs.build-paging.outputs.status }}" == "success" ]     && \
-            [ "${{ needs.build-room.outputs.status }}" == "success" ]       && \
-            [ "${{ needs.build-work.outputs.status }}" == "success" ]
-          then
-            echo "::set-output name=result::success"
-          else
-            echo "::set-output name=result::failure"
-          fi
-
-      - name: Successful WebHook
-        if: steps.workflow-status.outputs.result == 'success'
-        uses: androidx/github-workflow-webhook-action@main
-        with:
-          url: 'https://androidx.dev/github/androidX/presubmit/hook'
-          secret: ${{ secrets.ANDROIDX_PRESUBMIT_HOOK_SECRET }}
-          payload: '{ "platform": "all", "token": "${{ secrets.GITHUB_TOKEN }}", "state": "completed", "success": true }'
-
-      - name: Failure WebHook
-        if: steps.workflow-status.outputs.result == 'failure'
-        uses: androidx/github-workflow-webhook-action@main
-        with:
-          url: 'https://androidx.dev/github/androidX/presubmit/hook'
-          secret: ${{ secrets.ANDROIDX_PRESUBMIT_HOOK_SECRET }}
-          payload: '{ "platform": "all", "token": "${{ secrets.GITHUB_TOKEN }}", "state": "completed", "success": false }'
-
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 4f6dffb..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-/unbundled-build
-.classpath
-.gradle
-**/.idea/**
-!**/.idea/codeStyleSettings.xml
-!**/.idea/copyright
-!**/.idea/codeStyles
-!.idea/codeStyles/Project.xml
-!.idea/codeStyles/codeStyleConfig.xml
-!.idea/copyright/AndroidCopyright.xml
-!.idea/copyright/profiles_settings.xml
-!.idea/inspectionProfiles/Project_Default.xml
-!.idea/vcs.xml
-.project
-.settings/
-project.properties
-local.properties
-**/bin
-**/gen
-*.iml
-**/out
-buildSrc/build
-buildSrc/lint-checks/build
-buildSrc/jetpad-integration/build
-lifecycle/common/build
-jacoco.exec
-/studio
-/ui/studio
-
-# When Gradle configuration fails with the --profile option enabled it creates this folder.
-/reports
-
-# Mac Desktop Services Store files.
-.DS_Store
-
-# Layout Inspector creates it.
-captures/
-__pycache__
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index d69f697..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,275 +0,0 @@
-<component name="ProjectCodeStyleConfiguration">
-  <code_scheme name="Project" version="173">
-    <option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="true" />
-    <JavaCodeStyleSettings>
-      <option name="FIELD_NAME_PREFIX" value="m" />
-      <option name="STATIC_FIELD_NAME_PREFIX" value="s" />
-      <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="9999" />
-      <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="9999" />
-      <option name="IMPORT_LAYOUT_TABLE">
-        <value>
-          <package name="android" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="androidx" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="com.android" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="dalvik" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="libcore" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="com" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="gov" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="junit" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="net" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="org" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="java" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="javax" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="" withSubpackages="true" static="true" />
-          <emptyLine />
-          <package name="android" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="androidx" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="com.android" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="dalvik" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="libcore" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="com" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="gov" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="junit" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="net" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="org" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="java" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="javax" withSubpackages="true" static="false" />
-          <emptyLine />
-          <package name="" withSubpackages="true" static="false" />
-        </value>
-      </option>
-      <option name="JD_P_AT_EMPTY_LINES" value="false" />
-      <option name="JD_DO_NOT_WRAP_ONE_LINE_COMMENTS" value="true" />
-      <option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
-      <option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
-      <option name="JD_KEEP_EMPTY_RETURN" value="false" />
-      <option name="JD_PRESERVE_LINE_FEEDS" value="true" />
-    </JavaCodeStyleSettings>
-    <JetCodeStyleSettings>
-      <option name="PACKAGES_TO_USE_STAR_IMPORTS">
-        <value />
-      </option>
-      <option name="PACKAGES_IMPORT_LAYOUT">
-        <value>
-          <package name="" alias="false" withSubpackages="true" />
-          <package name="java" alias="false" withSubpackages="true" />
-          <package name="javax" alias="false" withSubpackages="true" />
-          <package name="kotlin" alias="false" withSubpackages="true" />
-          <package name="" alias="true" withSubpackages="true" />
-        </value>
-      </option>
-      <option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="2147483647" />
-      <option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="2147483647" />
-      <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
-    </JetCodeStyleSettings>
-    <codeStyleSettings language="JAVA">
-      <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
-      <option name="ALIGN_MULTILINE_FOR" value="false" />
-      <option name="CALL_PARAMETERS_WRAP" value="1" />
-      <option name="PREFER_PARAMETERS_WRAP" value="true" />
-      <option name="METHOD_PARAMETERS_WRAP" value="1" />
-      <option name="RESOURCE_LIST_WRAP" value="1" />
-      <option name="EXTENDS_LIST_WRAP" value="1" />
-      <option name="THROWS_LIST_WRAP" value="1" />
-      <option name="THROWS_KEYWORD_WRAP" value="1" />
-      <option name="BINARY_OPERATION_WRAP" value="1" />
-      <option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
-      <option name="TERNARY_OPERATION_WRAP" value="1" />
-      <option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
-      <option name="FOR_STATEMENT_WRAP" value="1" />
-      <option name="ARRAY_INITIALIZER_WRAP" value="1" />
-      <option name="ASSIGNMENT_WRAP" value="1" />
-      <option name="IF_BRACE_FORCE" value="1" />
-      <option name="DOWHILE_BRACE_FORCE" value="1" />
-      <option name="WHILE_BRACE_FORCE" value="1" />
-      <option name="FOR_BRACE_FORCE" value="1" />
-      <option name="WRAP_LONG_LINES" value="true" />
-    </codeStyleSettings>
-    <codeStyleSettings language="XML">
-      <option name="FORCE_REARRANGE_MODE" value="2" />
-      <indentOptions>
-        <option name="CONTINUATION_INDENT_SIZE" value="4" />
-      </indentOptions>
-      <arrangement>
-        <rules>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>xmlns:android</NAME>
-                  <XML_NAMESPACE>^$</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>xmlns:.*</NAME>
-                  <XML_NAMESPACE>^$</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:id</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:name</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>name</NAME>
-                  <XML_NAMESPACE>^$</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>style</NAME>
-                  <XML_NAMESPACE>^$</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*</NAME>
-                  <XML_NAMESPACE>^$</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:layout_width</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:layout_height</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:layout_.*</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:width</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*:height</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*</NAME>
-                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-          <section>
-            <rule>
-              <match>
-                <AND>
-                  <NAME>.*</NAME>
-                  <XML_NAMESPACE>.*</XML_NAMESPACE>
-                </AND>
-              </match>
-              <order>BY_NAME</order>
-            </rule>
-          </section>
-        </rules>
-      </arrangement>
-    </codeStyleSettings>
-    <codeStyleSettings language="kotlin">
-      <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
-      <indentOptions>
-        <option name="CONTINUATION_INDENT_SIZE" value="4" />
-      </indentOptions>
-    </codeStyleSettings>
-  </code_scheme>
-</component>
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 100644
index 03661d9..0000000
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<component name="ProjectCodeStyleConfiguration">
-  <state>
-    <option name="USE_PER_PROJECT_SETTINGS" value="true" />
-    <option name="PREFERRED_PROJECT_CODE_STYLE" value="AndroidStyle" />
-  </state>
-</component>
\ No newline at end of file
diff --git a/.idea/copyright/AndroidCopyright.xml b/.idea/copyright/AndroidCopyright.xml
deleted file mode 100644
index 7d2d80c..0000000
--- a/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<component name="CopyrightManager">
-  <copyright>
-    <option name="myName" value="AndroidCopyright" />
-    <option name="notice" value="Copyright &amp;#36;today.year The Android Open Source Project&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10;     http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
-  </copyright>
-</component>
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index 13e7004..0000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<component name="CopyrightManager">
-  <settings default="AndroidCopyright">
-    <LanguageOptions name="XML">
-      <option name="fileTypeOverride" value="3" />
-      <option name="prefixLines" value="false" />
-    </LanguageOptions>
-  </settings>
-</component>
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index 29d8ebf..0000000
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<component name="InspectionProjectProfileManager">
-  <profile version="1.0">
-    <option name="myName" value="Project Default" />
-    <inspection_tool class="AndroidLintKotlinPropertyAccess" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
-    <inspection_tool class="AndroidLintLambdaLast" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
-    <inspection_tool class="AndroidLintNoHardKeywords" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
-    <inspection_tool class="AndroidLintSyntheticAccessor" enabled="true" level="WARNING" enabled_by_default="true">
-      <scope name="buildSrc" level="WARNING" enabled="false" />
-      <scope name="Compose" level="WARNING" enabled="false" />
-    </inspection_tool>
-    <inspection_tool class="AndroidLintUnknownNullness" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
-    <inspection_tool class="FunctionName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <scope name="Compose" level="WEAK WARNING" enabled="true">
-        <option name="namePattern" value="[A-Za-z\d]+" />
-      </scope>
-    </inspection_tool>
-    <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
-      <option name="TOP_LEVEL_CLASS_OPTIONS">
-        <value>
-          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
-          <option name="REQUIRED_TAGS" value="" />
-        </value>
-      </option>
-      <option name="INNER_CLASS_OPTIONS">
-        <value>
-          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
-          <option name="REQUIRED_TAGS" value="" />
-        </value>
-      </option>
-      <option name="METHOD_OPTIONS">
-        <value>
-          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
-          <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
-        </value>
-      </option>
-      <option name="FIELD_OPTIONS">
-        <value>
-          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
-          <option name="REQUIRED_TAGS" value="" />
-        </value>
-      </option>
-      <option name="IGNORE_DEPRECATED" value="false" />
-      <option name="IGNORE_JAVADOC_PERIOD" value="true" />
-      <option name="IGNORE_DUPLICATED_THROWS" value="false" />
-      <option name="IGNORE_POINT_TO_ITSELF" value="false" />
-      <option name="myAdditionalJavadocTags" value="hide" />
-    </inspection_tool>
-    <inspection_tool class="KDocUnresolvedReference" enabled="true" level="ERROR" enabled_by_default="true" />
-    <inspection_tool class="MissingDeprecatedAnnotation" enabled="true" level="ERROR" enabled_by_default="true" />
-    <inspection_tool class="NullableProblems" enabled="true" level="ERROR" enabled_by_default="true">
-      <option name="REPORT_NULLABLE_METHOD_OVERRIDES_NOTNULL" value="true" />
-      <option name="REPORT_NOT_ANNOTATED_METHOD_OVERRIDES_NOTNULL" value="true" />
-      <option name="REPORT_NOTNULL_PARAMETER_OVERRIDES_NULLABLE" value="true" />
-      <option name="REPORT_NOT_ANNOTATED_PARAMETER_OVERRIDES_NOTNULL" value="true" />
-      <option name="REPORT_NOT_ANNOTATED_GETTER" value="true" />
-      <option name="REPORT_NOT_ANNOTATED_SETTER_PARAMETER" value="true" />
-      <option name="REPORT_ANNOTATION_NOT_PROPAGATED_TO_OVERRIDERS" value="true" />
-      <option name="REPORT_NULLS_PASSED_TO_NON_ANNOTATED_METHOD" value="true" />
-    </inspection_tool>
-    <inspection_tool class="PrivatePropertyName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <scope name="Compose" level="WEAK WARNING" enabled="true">
-        <option name="namePattern" value="_?[A-Za-z\d]+" />
-      </scope>
-    </inspection_tool>
-    <inspection_tool class="PropertyName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <scope name="Compose" level="WEAK WARNING" enabled="true">
-        <option name="namePattern" value="[A-Za-z\d]+" />
-      </scope>
-    </inspection_tool>
-    <inspection_tool class="RawTypeCanBeGeneric" enabled="true" level="ERROR" enabled_by_default="true" />
-    <inspection_tool class="RawUseOfParameterizedType" enabled="true" level="ERROR" enabled_by_default="true" />
-    <inspection_tool class="RemoveEmptyParenthesesFromAnnotationEntry" enabled="true" level="WARNING" enabled_by_default="true" />
-    <inspection_tool class="TestFunctionName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <scope name="Compose" level="WEAK WARNING" enabled="true">
-        <option name="namePattern" value="[A-Za-z_\d]+" />
-      </scope>
-    </inspection_tool>
-  </profile>
-</component>
\ No newline at end of file
diff --git a/.idea/scopes/Compose.xml b/.idea/scopes/Compose.xml
deleted file mode 100644
index 28eb901..0000000
--- a/.idea/scopes/Compose.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<component name="DependencyValidationManager">
-  <scope name="Compose" pattern="src:*androidx.compose..*||test:*androidx.compose..*||src:*androidx.ui..*||test:*androidx.ui..*" />
-</component>
\ No newline at end of file
diff --git a/.idea/scopes/Ignore_API_Files.xml b/.idea/scopes/Ignore_API_Files.xml
deleted file mode 100644
index 9208218..0000000
--- a/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<component name="DependencyValidationManager">
-  <scope name="Ignore API Files" pattern="!file[*]:api//*.txt" />
-</component>
\ No newline at end of file
diff --git a/.idea/scopes/buildSrc.xml b/.idea/scopes/buildSrc.xml
deleted file mode 100644
index ef38c9e..0000000
--- a/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<component name="DependencyValidationManager">
-  <scope name="buildSrc" pattern="src:androidx.build..*" />
-</component>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 177561c..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="IssueNavigationConfiguration">
-    <option name="links">
-      <list>
-        <IssueNavigationLink>
-          <option name="issueRegexp" value="b\/(\d*)" />
-          <option name="linkRegexp" value="https://issuetracker.google.com/$1" />
-        </IssueNavigationLink>
-      </list>
-    </option>
-  </component>
-  <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/../../external/doclava" vcs="Git" />
-    <mapping directory="$PROJECT_DIR$/../../external/icing" vcs="Git" />
-    <mapping directory="$PROJECT_DIR$/../../external/icu" vcs="Git" />
-    <mapping directory="$PROJECT_DIR$/../../external/protobuf" vcs="Git" />
-    <mapping directory="$PROJECT_DIR$/../../external/webview_support_interfaces" vcs="Git" />
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
-    <mapping directory="$PROJECT_DIR$/../../golden" vcs="Git" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/.mailmap b/.mailmap
deleted file mode 100644
index 40c295e..0000000
--- a/.mailmap
+++ /dev/null
@@ -1 +0,0 @@
-Ember Rose <emberrose@google.com> <ashleyrose@google.com>
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 4fc8df1..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,173 +0,0 @@
-## Introduction
-
-This repo is an official mirror of Android Jetpack libraries that enables external contributions to a select number of libraries via GitHub pull requests.
-
-### Why this repository exists
-
-The Android team has been exploring how we could make it easier to develop libraries that don’t rely on infrastructure from the Android Open Source Project (AOSP). This GitHub infrastructure has two benefits. First, it makes it easier to contribute to a small set of Jetpack libraries. Second, this parallel infrastructure makes it possible to build and test Jetpack libraries against non-Android target platforms.
-
-### What can you contribute to?
-
-You can start contributing to any of the following library groups from GitHub:
-  - [Activity](https://developer.android.com/guide/components/activities/intro-activities)
-  - [Biometric](https://developer.android.com/training/sign-in/biometric-auth)
-  - [Fragment](https://developer.android.com/guide/components/fragments)
-  - [Navigation](https://developer.android.com/guide/navigation)
-  - [Paging](https://developer.android.com/topic/libraries/architecture/paging)
-  - [Room](https://developer.android.com/topic/libraries/architecture/room)
-  - [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager)
-
-Not sure where to start? Take a look at the official [feature/bug bounty list](http://goo.gle/androidx-bug-bounty).
-
-Our tooling currently supports **macOS and Linux**. This new setup is a **work-in-progress**, so it might have some rough edges. Please bear with us while we streamline this workflow.
-
-## Getting Started
-
-We have tried to make contributing to androidx a lot easier with this new setup. Just start by creating a fork of the [androidx/androidx](https://github.com/androidx/androidx) GitHub repository.
-
-### One Time Setup
-
-- Click on the `Actions` tab in the forked `androidx`  repository, and enable the use of `Workflows`.
-
-- Download and install JDK 11, if you don’t have it already.
-
-  Next, you need to set up the following environment variables:
-
-  ```bash
-  # You could also add this to your .{bash|zsh}rc file.
-  export JAVA_HOME="location of JDK 11 folder"
-  export ANDROID_SDK_ROOT="location of the Android SDK folder"
-  ```
-
-### Checkout & Importing a Project
-
-The list of folders that can be contributed to, using the GitHub repository are:
-
-```
-androidx
-  -- activity
-  -- biometric
-  -- fragment
-  -- navigation
-  -- paging
-  -- room
-  -- work
-```
-
-**Note:** For other projects, you will still need to use the Gerrit workflow used by the Android Open Source Project (AOSP). For more information, please look at the [README](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:README.md).
-
-Fork the [androidx/androidx](https://github.com/androidx/androidx) repository.
-
-We recommend cloning using blob filter to reduce checkout size:
-```bash
-git clone https://github.com/YOUR_USERNAME/androidx.git
-```
-
----
-
-> NOTE: If you are low on disk space, then you can use the following command to save some space in your checkout. :point_left:
-
-```bash
-# Filters any blob > 10M
-git clone --filter=blob:limit=10M https://github.com/YOUR_USERNAME/androidx.git
-```
----
-
-Let’s assume that you want to make a contribution to Room. The first step is to launch Android Studio and import the Room project.
-
-First launch Android Studio using:
-
-```bash
-cd androidx/room
-# This will automatically launch the `room` project in Android Studio.
-./gradlew studio
-```
-
-The studio task automatically downloads the correct version of Android Studio that matches the Android Gradle Plugin version.
-
-### Making Changes
-
-You can now start making changes to the Room project. Making changes is just like making changes to any other Android project. It’s a good idea to build consensus on the change you intend to make. Make sure there is a related issue on the [AOSP issue tracker](https://issuetracker.google.com/issues/new?component=192731&template=842428) and start a conversation on that issue to ensure project maintainers are aware of it. It is best to start the conversation as early as possible to avoid duplicating work as other contributors might already be working on it.
-
-### Validating changes locally
-
-Before you send out a pull request, it’s always a good idea to run tests locally to make sure that you have not accidentally introduced bugs. Also, given all AndroidX projects follow semantic versioning, it's also important for projects to not introduce breaking changes without changing the library’s major version.
-
-Apart from this, there are checks that ensure developers follow the Android coding standards & guidelines.
-
-To make sure that your code passes all the above checks & tests you can run:
-
-```bash
-# Switch to the `room` directory or the project you are working on.
-cd room
-# Run device side and host side tests
-./gradlew test connectedCheck
-
-# Run additional checks
-./gradlew buildOnServer
-
-# If you are testing on an emulator, you can disable benchmark tests as
-# follows since they require a real device to run
-./gradlew \
-    test connectedCheck \
-    -x :room:room-benchmark:cC \
-    -x :room:integration-tests:room-incremental-annotation-processing:test
-```
-
-Once your changes look good, you can push them to your fork of the repository. Now you are ready to make a pull request.
-
-**Note:** When you make changes to an API, you need to run:
-
-```
-./gradlew updateApi
-```
-
-If you are adding new APIs, then you might **additionally need to update** [LibraryVersions.kt](https://github.com/androidx/androidx/blob/androidx-main/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt) as well, before running the updateApi task. This is **relevant when the library’s API is frozen** (betas, rc’s and stable versions). For alpha versions, you don’t have to update this file.
-
-This helps the AndroidX project keep track of API changes and avoid inadvertently adding APIs or introduce backwards incompatible changes.
-
-**Note:** In case you make a valid violation of Lint, you can use `@Suppress("Rule")` in Kotlin, or `@SuppressLint("Rule")` in Java to suppress the rule.
-
-**Note: CI build will already check for these but it is best to run them locally to speedup the process.**
-
-### Making a Pull Request
-
-To create a pull request click on [this](https://github.com/androidx/androidx/pulls) link and then click on New Pull Request.
-
-Then click on the compare across forks and select your forked repository as the HEAD repository. Then click Create.
-
-All pull requests **must follow** the following conventions.
-
-1.  The pull request includes a short description of the change, and a longer detailed description.
-2.  Include a Test stanza in the pull request which describes the steps followed by the developer to test the changes.
-3.  Include a Fixes stanza that describes the issue being fixed. That way the corresponding issue trackers can automatically be resolved once the change lands in AOSP.
-
-Here is an example:
-
-```
-Short description for the change.
-
-Longer explanation for the change.
-
-Test: A test stanza. For e.g. /gradlew test connectedCheck
-Fixes: b/<bugId> if applicable
-```
-
-### The Pull Request Workflow
-
-AndroidX is primarily developed in [AOSP](https://android.googlesource.com/platform/frameworks/support/+/androidx-main). This flow simply mirrors pull requests from GitHub into Gerrit, For all intents and purposes, AOSP is the **single** **source of truth**, all changes will be merged in Gerrit and mirrored back to GitHub.
-
-Here is what a typical pull request workflow looks like:
-
-1.  Create a GitHub pull request from **your forked repository** to the androidx-main branch on GitHub.
-2.  Sign the Contributor’s License Agreement at https://cla.developers.google.com/ to get @googlebot to give you the `cla: yes` label.
-3.  Your PR will be reviewed using the GitHub pull request flow. You can address the comments / suggestions in your forked repository and update the pull request as normal.
-4.  Once the changes look good, a Googler will Approve your pull request on GitHub.
-5.  Your PR will be **tested using GitHub workflows**. You can monitor these GitHub workflows by using the Actions tab in your forked repository.
-6.  Once your **pull request has been approved** by a Googler, it will also be **mirrored to AOSP Gerrit**. You can find the link to Gerrit under the status check, `import/copybara` left by `@copybara-service`, by clicking details.
-7.  Once **all** the checks in **Gerrit and GitHub** pass, your change will get merged in androidx-main in AOSP and mirrored back to androidx-main in GitHub. Congratulations, your change landed in AOSP!
-8.  Currently, your pull request will not get automatically closed when your changes are merged. So you will have to close the pull request manually. We are working on improving the workflow to address this.
-
-### Running into problems?
-
-- If you see GitHub workflows failing, then look at the verbose logs under the `Actions` tab for more information. If you don’t understand why a test might be failing, then reach out to us by creating a new issue [here](https://issuetracker.google.com/issues/new?component=923725&template=1480355).
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index e454a52..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,178 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
diff --git a/OWNERS b/OWNERS
deleted file mode 100644
index 15d3b29..0000000
--- a/OWNERS
+++ /dev/null
@@ -1,24 +0,0 @@
-adamp@google.com
-alanv@google.com
-asfalcone@google.com
-aurimas@google.com
-ccraik@google.com
-clarabayarri@google.com
-emberrose@google.com
-ilake@google.com
-jeffrygaston@google.com
-jsproch@google.com
-lpf@google.com
-mount@google.com
-nickanthony@google.com
-pavlis@google.com
-romainguy@android.com
-sergeyv@google.com
-shepshapard@google.com
-siyamed@google.com
-sjgilbert@google.com
-sumir@google.com
-yboyar@google.com
-
-per-file *settings.gradle = set noparent
-per-file *settings.gradle = nickanthony@google.com, alanv@google.com, aurimas@google.com
\ No newline at end of file
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
deleted file mode 100644
index 89fe9cb..0000000
--- a/PREUPLOAD.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-[Hook Scripts]
-checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT} -c ${REPO_ROOT}/frameworks/support/development/checkstyle/config/support-lib.xml -p development/checkstyle/prebuilt/com.android.support.checkstyle.jar
-ktlint_hook = ${REPO_ROOT}/frameworks/support/gradlew -q -p ${REPO_ROOT}/frameworks/support --continue :ktlintCheckFile --file=${PREUPLOAD_FILES_PREFIXED}
-invalid_suppress_hook = ${REPO_ROOT}/frameworks/support/development/checkInvalidSuppress.py ${PREUPLOAD_FILES}
-warn_check_api = ${REPO_ROOT}/frameworks/support/development/apilint.py -f ${PREUPLOAD_FILES}
-
-[Builtin Hooks]
-commit_msg_changeid_field = true
-commit_msg_test_field = true
-commit_msg_relnote_field_format = true
-commit_msg_relnote_for_current_txt = true
diff --git a/README.md b/README.md
index c9828cb9..588eb7b 100644
--- a/README.md
+++ b/README.md
@@ -1,176 +1 @@
-# Android Jetpack
-
-Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps easier. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about.
-
-Jetpack comprises the `androidx.*` package libraries, unbundled from the platform APIs. This means that it offers backward compatibility and is updated more frequently than the Android platform, making sure you always have access to the latest and greatest versions of the Jetpack components.
-
-Our official AARs and JARs binaries are distributed through [Google Maven](https://maven.google.com).
-
-You can learn more about using it from [Android Jetpack landing page](https://developer.android.com/jetpack).
-
-# Contribution Guide
-
-For contributions via GitHub, see the [GitHub Contribution Guide](CONTRIBUTING.md).
-
-Note: The contributions workflow via GitHub is currently experimental - only contributions to the following projects are being accepted at this time:
-* [Activity](activity)
-* [Biometric](biometric)
-* [Fragment](fragment)
-* [Navigation](navigation)
-* [Paging](paging)
-* [Room](room)
-* [WorkManager](work)
-
-## Code Review Etiquette
-When contributing to Jetpack, follow the [code review etiquette](code-review.md).
-
-## Accepted Types of Contributions
-* Bug fixes - needs a corresponding bug report in the [Android Issue Tracker](https://issuetracker.google.com/issues/new?component=192731&template=842428)
-* Each bug fix is expected to come with tests
-* Fixing spelling errors
-* Updating documentation
-* Adding new tests to the area that is not currently covered by tests
-* New features to existing libraries if the feature request bug has been approved by an AndroidX team member.
-
-We **are not** currently accepting new modules.
-
-## Checking Out the Code
-**NOTE: You will need to use Linux or Mac OS. Building under Windows is not currently supported.**
-
-1. Install `repo` (Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see the [Repo Command Reference](https://source.android.com/setup/develop/repo))
-
-```bash
-mkdir ~/bin
-PATH=~/bin:$PATH
-curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
-chmod a+x ~/bin/repo
-```
-
-2. Configure Git with your real name and email address.
-
-```bash
-git config --global user.name "Your Name"
-git config --global user.email "you@example.com"
-```
-
-3. Create a directory for your checkout (it can be any name)
-
-```bash
-mkdir androidx-main
-cd androidx-main
-```
-
-4. Use `repo` command to initialize the repository.
-
-```bash
-repo init -u https://android.googlesource.com/platform/manifest -b androidx-main --partial-clone --clone-filter=blob:limit=10M
-```
-
-5. Now your repository is set to pull only what you need for building and running AndroidX libraries. Download the code (and grab a coffee while we pull down the files):
-
-```bash
-repo sync -j8 -c
-```
-
-You will use this command to sync your checkout in the future - it’s similar to `git fetch`
-
-
-## Using Android Studio
-To open the project with the specific version of Android Studio recommended for developing:
-
-```bash
-cd path/to/checkout/frameworks/support/
-ANDROIDX_PROJECTS=MAIN ./gradlew studio
-```
-
-and accept the license agreement when prompted. Now you're ready to edit, run, and test!
-
-You can also the following sets of projects: `ALL`, `MAIN`, `COMPOSE`, or `FLAN`
-
-If you get “Unregistered VCS root detected” click “Add root” to enable git integration for Android Studio.
-
-If you see any warnings (red underlines) run `Build > Clean Project`.
-
-## Builds
-### Full Build (Optional)
-You can do most of your work from Android Studio, however you can also build the full AndroidX library from command line:
-
-```bash
-cd path/to/checkout/frameworks/support/
-./gradlew createArchive
-```
-
-### Testing modified AndroidX Libraries to in your App
-You can build maven artifacts locally, and test them directly in your app:
-
-```bash
-./gradlew createArchive
-```
-
-And put the following at the top of your 'repositories' property in your **project** `build.gradle` file:
-
-```gradle
-maven { url '/path/to/checkout/out/androidx/build/support_repo/' }
-```
-
-### Continuous integration
-[Our continuous integration system](https://ci.android.com/builds/branches/aosp-androidx-main/grid?) builds all in progress (and potentially unstable) libraries as new changes are merged. You can manually download these AARs and JARs for your experimentation.
-
-## Running Tests
-
-### Single Test Class or Method
-1. Open the desired test file in Android Studio.
-2. Right-click on a test class or @Test method name and select `Run FooBarTest`
-
-### Full Test Package
-1. In the project side panel open the desired module.
-2. Find the directory with the tests
-3. Right-click on the directory and select `Run androidx.foobar`
-
-## Running Sample Apps
-The AndroidX repository has a set of Android applications that exercise AndroidX code. These applications can be useful when you want to debug a real running application, or reproduce a problem interactively, before writing test code.
-
-These applications are named either `<libraryname>-integration-tests-testapp`, or `support-\*-demos` (e.g. `support-v4-demos` or `support-leanback-demos`). You can run them by clicking `Run > Run ...` and choosing the desired application.
-
-## Password and Contributor Agreement before making a change
-Before uploading your first contribution, you will need setup a password and agree to the contribution agreement:
-
-Generate a HTTPS password:
-https://android-review.googlesource.com/new-password
-
-Agree to the Google Contributor Licenses Agreement:
-https://android-review.googlesource.com/settings/new-agreement
-
-## Making a change
-```bash
-cd path/to/checkout/frameworks/support/
-repo start my_branch_name .
-# make needed modifications...
-git commit -a
-repo upload --current-branch .
-```
-
-If you see the following prompt, choose `always`:
-
-```
-Run hook scripts from https://android.googlesource.com/platform/manifest (yes/always/NO)?
-```
-
-If the upload succeeds, you'll see output like:
-
-```
-remote:
-remote: New Changes:
-remote:   https://android-review.googlesource.com/c/platform/frameworks/support/+/720062 Further README updates
-remote:
-```
-
-To edit your change, use `git commit --amend`, and re-upload.
-
-## Getting reviewed
-* After you run repo upload, open [r.android.com](http://r.android.com)
-* Sign in into your account (or create one if you do not have one yet)
-* Add an appropriate reviewer (use git log to find who did most modifications on the file you are fixing or check the OWNERS file in the project's directory)
-
-## Handling binary dependencies
-AndroidX uses git to store all the binary Gradle dependencies. They are stored in `prebuilts/androidx/internal` and `prebuilts/androidx/external` directories in your checkout. All the dependencies in these directories are also available from `google()`, `jcenter()`, or `mavenCentral()`. We store copies of these dependencies to have hermetic builds. You can pull in [a new dependency using our importMaven tool](development/importMaven/README.md).
+This branch of this repository is no longer in use. See [the androidx-main branch](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/README.md) instead.
diff --git a/activity/.idea/codeStyles/Project.xml b/activity/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/activity/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/activity/.idea/codeStyles/codeStyleConfig.xml b/activity/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/activity/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/activity/.idea/copyright/AndroidCopyright.xml b/activity/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/activity/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/activity/.idea/copyright/profiles_settings.xml b/activity/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/activity/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/activity/.idea/inspectionProfiles/Project_Default.xml b/activity/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/activity/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/activity/.idea/scopes/Ignore_API_Files.xml b/activity/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/activity/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/activity/.idea/scopes/buildSrc.xml b/activity/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/activity/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/activity/OWNERS b/activity/OWNERS
deleted file mode 100644
index 6f6aad7..0000000
--- a/activity/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-ilake@google.com
-jbwoods@google.com
diff --git a/activity/README.md b/activity/README.md
deleted file mode 100644
index 559daab..0000000
--- a/activity/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# androidx.activity
-
-Activity library offers a ComponentActivity which is a base class for activities used in androidx
-that enables composition of higher level components.
-
-[Library owners](OWNERS)
-
-[Release notes](https://developer.android.com/jetpack/androidx/releases/activity)
-
-[Browse source](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/activity/)
-
-[Reference documentation](https://developer.android.com/reference/androidx/classes.html)
-
-[Existing open bugs](https://issuetracker.google.com/issues?q=componentid:527362%20status:open)
-
-[File a new bug](https://issuetracker.google.com/issues/new?component=527362)
diff --git a/activity/activity-ktx/OWNERS b/activity/activity-ktx/OWNERS
deleted file mode 100644
index e450f4c..0000000
--- a/activity/activity-ktx/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-jakew@google.com
diff --git a/activity/activity-ktx/api/1.0.0-beta01.txt b/activity/activity-ktx/api/1.0.0-beta01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/1.0.0-beta01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/1.0.0-rc01.txt b/activity/activity-ktx/api/1.0.0-rc01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/1.0.0-rc01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/1.1.0-beta01.txt b/activity/activity-ktx/api/1.1.0-beta01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/1.1.0-beta01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/1.1.0-rc01.txt b/activity/activity-ktx/api/1.1.0-rc01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/1.1.0-rc01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/1.2.0-beta01.txt b/activity/activity-ktx/api/1.2.0-beta01.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/1.2.0-beta01.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/1.2.0-beta02.txt b/activity/activity-ktx/api/1.2.0-beta02.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/1.2.0-beta02.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/api_lint.ignore b/activity/activity-ktx/api/api_lint.ignore
deleted file mode 100644
index 85e5f3a..0000000
--- a/activity/activity-ktx/api/api_lint.ignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Baseline format: 1.0
-MissingNullability: androidx.activity.ActivityViewModelLazyKt#viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>):
-    Missing nullability on method `viewModels` return
-
-
-RegistrationName: androidx.activity.OnBackPressedDispatcherKt#addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner, boolean, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit>):
-    Callback methods should be named register/unregister; was addCallback
diff --git a/activity/activity-ktx/api/current.txt b/activity/activity-ktx/api/current.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/current.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.0.0-beta01.txt b/activity/activity-ktx/api/public_plus_experimental_1.0.0-beta01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.0.0-beta01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.0.0-rc01.txt b/activity/activity-ktx/api/public_plus_experimental_1.0.0-rc01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.0.0-rc01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.0.0.txt b/activity/activity-ktx/api/public_plus_experimental_1.0.0.txt
deleted file mode 100644
index c6e9a9a..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.0.0.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    ctor public ActivityViewModelLazyKt();
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<VM> viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    ctor public OnBackPressedDispatcherKt();
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.1.0-beta01.txt b/activity/activity-ktx/api/public_plus_experimental_1.1.0-beta01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.1.0-beta01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.1.0-rc01.txt b/activity/activity-ktx/api/public_plus_experimental_1.1.0-rc01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.1.0-rc01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.2.0-beta01.txt b/activity/activity-ktx/api/public_plus_experimental_1.2.0-beta01.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.2.0-beta01.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.2.0-beta02.txt b/activity/activity-ktx/api/public_plus_experimental_1.2.0-beta02.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_1.2.0-beta02.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/public_plus_experimental_current.txt b/activity/activity-ktx/api/public_plus_experimental_current.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/public_plus_experimental_current.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/res-1.0.0-beta01.txt b/activity/activity-ktx/api/res-1.0.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.0.0-beta01.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-1.0.0-rc01.txt b/activity/activity-ktx/api/res-1.0.0-rc01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.0.0-rc01.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-1.0.0.txt b/activity/activity-ktx/api/res-1.0.0.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.0.0.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-1.1.0-beta01.txt b/activity/activity-ktx/api/res-1.1.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.1.0-beta01.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-1.1.0-rc01.txt b/activity/activity-ktx/api/res-1.1.0-rc01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.1.0-rc01.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-1.2.0-beta01.txt b/activity/activity-ktx/api/res-1.2.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.2.0-beta01.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-1.2.0-beta02.txt b/activity/activity-ktx/api/res-1.2.0-beta02.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-1.2.0-beta02.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/res-current.txt b/activity/activity-ktx/api/res-current.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity-ktx/api/res-current.txt
+++ /dev/null
diff --git a/activity/activity-ktx/api/restricted_1.0.0-beta01.txt b/activity/activity-ktx/api/restricted_1.0.0-beta01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/restricted_1.0.0-beta01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_1.0.0-rc01.txt b/activity/activity-ktx/api/restricted_1.0.0-rc01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/restricted_1.0.0-rc01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_1.0.0.txt b/activity/activity-ktx/api/restricted_1.0.0.txt
deleted file mode 100644
index c6e9a9a..0000000
--- a/activity/activity-ktx/api/restricted_1.0.0.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    ctor public ActivityViewModelLazyKt();
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<VM> viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    ctor public OnBackPressedDispatcherKt();
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_1.1.0-beta01.txt b/activity/activity-ktx/api/restricted_1.1.0-beta01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/restricted_1.1.0-beta01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_1.1.0-rc01.txt b/activity/activity-ktx/api/restricted_1.1.0-rc01.txt
deleted file mode 100644
index 33c00a1..0000000
--- a/activity/activity-ktx/api/restricted_1.1.0-rc01.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, androidx.lifecycle.LifecycleOwner? owner = null, boolean enabled = true, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_1.2.0-beta01.txt b/activity/activity-ktx/api/restricted_1.2.0-beta01.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/restricted_1.2.0-beta01.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_1.2.0-beta02.txt b/activity/activity-ktx/api/restricted_1.2.0-beta02.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/restricted_1.2.0-beta02.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/api/restricted_current.txt b/activity/activity-ktx/api/restricted_current.txt
deleted file mode 100644
index 5956a38..0000000
--- a/activity/activity-ktx/api/restricted_current.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public final class ActivityViewModelLazyKt {
-    method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
-  }
-
-  public final class OnBackPressedDispatcherKt {
-    method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public final class ContextAwareKt {
-    method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResultCallerKt {
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-    method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
-  }
-
-  public final class ActivityResultKt {
-    method public static operator int component1(androidx.activity.result.ActivityResult);
-    method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
-  }
-
-  public final class ActivityResultLauncherKt {
-    method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
-    method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
-  }
-
-}
-
diff --git a/activity/activity-ktx/build.gradle b/activity/activity-ktx/build.gradle
deleted file mode 100644
index 4175155..0000000
--- a/activity/activity-ktx/build.gradle
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import static androidx.build.dependencies.DependenciesKt.*
-import androidx.build.LibraryGroups
-import androidx.build.LibraryVersions
-import androidx.build.Publish
-
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("org.jetbrains.kotlin.android")
-}
-
-dependencies {
-    api(project(":activity:activity"))
-    api("androidx.core:core-ktx:1.1.0") {
-        because 'Mirror activity dependency graph for -ktx artifacts'
-    }
-    api(projectOrArtifact(":lifecycle:lifecycle-runtime-ktx")) {
-        because 'Mirror activity dependency graph for -ktx artifacts'
-    }
-    api(projectOrArtifact(":lifecycle:lifecycle-viewmodel-ktx"))
-    api(projectOrArtifact(":savedstate:savedstate-ktx")) {
-        because 'Mirror activity dependency graph for -ktx artifacts'
-    }
-    api(KOTLIN_STDLIB)
-
-    androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-runtime-testing"))
-    androidTestImplementation(JUNIT)
-    androidTestImplementation(TRUTH)
-    androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
-    androidTestImplementation(ANDROIDX_TEST_CORE)
-    androidTestImplementation(ANDROIDX_TEST_RUNNER)
-    androidTestImplementation(ANDROIDX_TEST_RULES)
-    androidTestImplementation project(':internal-testutils-runtime'), {
-        exclude group: 'androidx.activity', module: 'activity'
-    }
-}
-
-androidx {
-    name = "Activity Kotlin Extensions"
-    publish = Publish.SNAPSHOT_AND_RELEASE
-    mavenGroup = LibraryGroups.ACTIVITY
-    inceptionYear = "2018"
-    description = "Kotlin extensions for 'activity' artifact"
-}
diff --git a/activity/activity-ktx/src/androidTest/AndroidManifest.xml b/activity/activity-ktx/src/androidTest/AndroidManifest.xml
deleted file mode 100644
index ee97faf..0000000
--- a/activity/activity-ktx/src/androidTest/AndroidManifest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="androidx.activity.ktx">
-    <application>
-        <activity android:name="androidx.activity.ActivityViewModelLazyTest$TestActivity"/>
-        <activity android:name="androidx.activity.result.EmptyContentActivity" />
-    </application>
-</manifest>
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt
deleted file mode 100644
index ac106f6..0000000
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.os.Bundle
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelProvider
-import androidx.test.annotation.UiThreadTest
-import androidx.test.filters.MediumTest
-import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
-import org.junit.Test
-import java.lang.IllegalArgumentException
-
-@MediumTest
-class ActivityViewModelLazyTest {
-    @Suppress("DEPRECATION")
-    @get:Rule val activityRule = androidx.test.rule.ActivityTestRule<TestActivity>(
-        TestActivity::class.java
-    )
-
-    @UiThreadTest
-    @Test fun vmInitialization() {
-        val activity = activityRule.activity
-        assertThat(activity.vm).isNotNull()
-        assertThat(activity.factoryVM.prop).isEqualTo("activity")
-        assertThat(activity.daggerPoorCopyVM.prop).isEqualTo("dagger")
-    }
-
-    class TestActivity : ComponentActivity() {
-        val vm: TestViewModel by viewModels()
-        val factoryVM: TestFactorizedViewModel by viewModels { VMFactory("activity") }
-        lateinit var injectedFactory: ViewModelProvider.Factory
-        val daggerPoorCopyVM: TestDaggerViewModel by viewModels { injectedFactory }
-
-        override fun onCreate(savedInstanceState: Bundle?) {
-            injectedFactory = VMFactory("dagger")
-            super.onCreate(savedInstanceState)
-        }
-    }
-
-    class TestViewModel : ViewModel()
-    class TestFactorizedViewModel(val prop: String) : ViewModel()
-    class TestDaggerViewModel(val prop: String) : ViewModel()
-
-    private class VMFactory(val prop: String) : ViewModelProvider.Factory {
-        @Suppress("UNCHECKED_CAST")
-        override fun <T : ViewModel> create(modelClass: Class<T>): T {
-            return when {
-                modelClass == TestFactorizedViewModel::class.java -> TestFactorizedViewModel(prop)
-                modelClass == TestDaggerViewModel::class.java -> TestDaggerViewModel(prop)
-                else -> throw IllegalArgumentException()
-            } as T
-        }
-    }
-}
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
deleted file mode 100644
index 0a08e5f..0000000
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.testing.TestLifecycleOwner
-import androidx.test.annotation.UiThreadTest
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class OnBackPressedDispatcherTest {
-
-    private lateinit var dispatcher: OnBackPressedDispatcher
-
-    @Before
-    fun setup() {
-        dispatcher = OnBackPressedDispatcher()
-    }
-
-    @UiThreadTest
-    @Test
-    fun testRegisterCallback() {
-        var count = 0
-        val callback = dispatcher.addCallback {
-            count++
-        }
-        assertWithMessage("Callback should be enabled by default")
-            .that(callback.isEnabled)
-            .isTrue()
-        assertWithMessage("Dispatcher should have an enabled callback")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-
-        dispatcher.onBackPressed()
-
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(count)
-            .isEqualTo(1)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testRegisterDisabledCallback() {
-        var count = 0
-        val callback = dispatcher.addCallback(enabled = false) {
-            count++
-        }
-        assertWithMessage("Callback should be disabled by default")
-            .that(callback.isEnabled)
-            .isFalse()
-        assertWithMessage("Dispatcher should not have an enabled callback")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-
-        callback.isEnabled = true
-
-        assertWithMessage("Dispatcher should have an enabled callback after setting isEnabled")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-    }
-
-    @UiThreadTest
-    @Test
-    fun testLifecycleCallback() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-        var count = 0
-        dispatcher.addCallback(lifecycleOwner) {
-            count++
-        }
-        assertWithMessage("Handler should return false if the Lifecycle isn't started")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-        dispatcher.onBackPressed()
-        assertWithMessage("Non-started callbacks shouldn't have their count incremented")
-            .that(count)
-            .isEqualTo(0)
-
-        // Now start the Lifecycle
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_START)
-        dispatcher.onBackPressed()
-        assertWithMessage("Once the callbacks is started, the count should increment")
-            .that(count)
-            .isEqualTo(1)
-
-        // Now stop the Lifecycle
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_STOP)
-        assertWithMessage("Handler should return false if the Lifecycle isn't started")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-        dispatcher.onBackPressed()
-        assertWithMessage("Non-started callbacks shouldn't have their count incremented")
-            .that(count)
-            .isEqualTo(1)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testIsEnabledWithinCallback() {
-        var count = 0
-        val callback = dispatcher.addCallback {
-            count++
-            isEnabled = false
-        }
-        assertWithMessage("Callback should be enabled by default")
-            .that(callback.isEnabled)
-            .isTrue()
-        assertWithMessage("Dispatcher should have an enabled callback")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-
-        dispatcher.onBackPressed()
-
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(count)
-            .isEqualTo(1)
-        assertWithMessage("Callback should be disabled after onBackPressed()")
-            .that(callback.isEnabled)
-            .isFalse()
-        assertWithMessage("Dispatcher should have no enabled callbacks")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-    }
-
-    @UiThreadTest
-    @Test
-    fun testRemoveWithinCallback() {
-        var count = 0
-        dispatcher.addCallback {
-            count++
-            remove()
-        }
-
-        dispatcher.onBackPressed()
-
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(count)
-            .isEqualTo(1)
-        assertWithMessage("Dispatcher should have no enabled callbacks after remove")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-    }
-}
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/contextaware/ContextAwareTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/contextaware/ContextAwareTest.kt
deleted file mode 100644
index d56602a..0000000
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/contextaware/ContextAwareTest.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.contextaware
-
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.runBlocking
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class ContextAwareTest {
-
-    @Test
-    fun alreadyAvailable() = runBlocking(Dispatchers.Main) {
-        val contextAware = TestContextAware()
-        contextAware.dispatchOnContextAvailable()
-        var result = "initial"
-        val receivedResult = contextAware.withContextAvailable {
-            result
-        }
-        result = "after"
-        assertThat(receivedResult).isEqualTo("initial")
-    }
-
-    @Test
-    fun suspending() = runBlocking(Dispatchers.Main) {
-        val contextAware = TestContextAware()
-        var result = "initial"
-        launch {
-            contextAware.dispatchOnContextAvailable()
-            result = "post dispatch"
-        }
-        val receivedResult = contextAware.withContextAvailable {
-            result
-        }
-        contextAware.addOnContextAvailableListener {
-            result = "after"
-        }
-        assertThat(receivedResult).isEqualTo("initial")
-    }
-}
-
-private class TestContextAware : ContextAware {
-    private val contextAwareHelper = ContextAwareHelper()
-
-    override fun peekAvailableContext() = contextAwareHelper.peekAvailableContext()
-
-    override fun addOnContextAvailableListener(listener: OnContextAvailableListener) {
-        contextAwareHelper.addOnContextAvailableListener(listener)
-    }
-
-    override fun removeOnContextAvailableListener(listener: OnContextAvailableListener) {
-        contextAwareHelper.removeOnContextAvailableListener(listener)
-    }
-
-    fun dispatchOnContextAvailable() {
-        contextAwareHelper.dispatchOnContextAvailable(
-            ApplicationProvider.getApplicationContext()
-        )
-    }
-}
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultCallerTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultCallerTest.kt
deleted file mode 100644
index a09b453..0000000
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultCallerTest.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import android.content.Intent
-import androidx.activity.ComponentActivity
-import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.MediumTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@MediumTest
-@RunWith(AndroidJUnit4::class)
-class ActivityResultCallerTest {
-    @Test
-    fun getContractTest() {
-        with(ActivityScenario.launch(EmptyContentActivity::class.java)) {
-            val contract = withActivity { contract }
-            val javaLauncher = withActivity { javaLauncher }
-            val kotlinLauncher = withActivity { kotlinLauncher }
-
-            assertThat(javaLauncher.contract).isSameInstanceAs(contract)
-            assertThat(kotlinLauncher.contract).isNotSameInstanceAs(contract)
-        }
-    }
-}
-
-class EmptyContentActivity : ComponentActivity() {
-    val contract = StartActivityForResult()
-    val javaLauncher = registerForActivityResult(contract) { }
-    val kotlinLauncher = registerForActivityResult(contract, Intent()) { }
-}
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt
deleted file mode 100644
index 7de8667..0000000
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import android.content.Intent
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class ActivityResultTest {
-
-    @Test
-    fun testDestructure() {
-        val intent = Intent()
-
-        val (resultCode, data) = ActivityResult(1, intent)
-
-        assertThat(resultCode).isEqualTo(1)
-        assertThat(data).isSameInstanceAs(intent)
-    }
-}
\ No newline at end of file
diff --git a/activity/activity-ktx/src/main/AndroidManifest.xml b/activity/activity-ktx/src/main/AndroidManifest.xml
deleted file mode 100644
index 82083dd..0000000
--- a/activity/activity-ktx/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<manifest package="androidx.activity.ktx"/>
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/ActivityViewModelLazy.kt b/activity/activity-ktx/src/main/java/androidx/activity/ActivityViewModelLazy.kt
deleted file mode 100644
index b09fc23..0000000
--- a/activity/activity-ktx/src/main/java/androidx/activity/ActivityViewModelLazy.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import androidx.annotation.MainThread
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelLazy
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.ViewModelProvider.Factory
-
-/**
- * Returns a [Lazy] delegate to access the ComponentActivity's ViewModel, if [factoryProducer]
- * is specified then [ViewModelProvider.Factory] returned by it will be used
- * to create [ViewModel] first time.
- *
- * ```
- * class MyComponentActivity : ComponentActivity() {
- *     val viewmodel: MyViewModel by viewmodels()
- * }
- * ```
- *
- * This property can be accessed only after the Activity is attached to the Application,
- * and access prior to that will result in IllegalArgumentException.
- */
-@MainThread
-public inline fun <reified VM : ViewModel> ComponentActivity.viewModels(
-    noinline factoryProducer: (() -> Factory)? = null
-): Lazy<VM> {
-    val factoryPromise = factoryProducer ?: {
-        defaultViewModelProviderFactory
-    }
-
-    return ViewModelLazy(VM::class, { viewModelStore }, factoryPromise)
-}
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/OnBackPressedDispatcher.kt b/activity/activity-ktx/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
deleted file mode 100644
index 298e5ff..0000000
--- a/activity/activity-ktx/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import androidx.lifecycle.LifecycleOwner
-
-/**
- * Create and add a new [OnBackPressedCallback] that calls [onBackPressed] in
- * [OnBackPressedCallback.handleOnBackPressed].
- *
- * If an [owner] is specified, the callback will only be added when the Lifecycle is
- * [androidx.lifecycle.Lifecycle.State.STARTED].
- *
- * A default [enabled] state can be supplied.
- */
-public fun OnBackPressedDispatcher.addCallback(
-    owner: LifecycleOwner? = null,
-    enabled: Boolean = true,
-    onBackPressed: OnBackPressedCallback.() -> Unit
-): OnBackPressedCallback {
-    val callback = object : OnBackPressedCallback(enabled) {
-        override fun handleOnBackPressed() {
-            onBackPressed()
-        }
-    }
-    if (owner != null) {
-        addCallback(owner, callback)
-    } else {
-        addCallback(callback)
-    }
-    return callback
-}
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/contextaware/ContextAware.kt b/activity/activity-ktx/src/main/java/androidx/activity/contextaware/ContextAware.kt
deleted file mode 100644
index 163820d..0000000
--- a/activity/activity-ktx/src/main/java/androidx/activity/contextaware/ContextAware.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.contextaware
-
-import android.content.Context
-import kotlinx.coroutines.suspendCancellableCoroutine
-
-/**
- * Run [onContextAvailable] when the [Context] becomes available and
- * resume with the result.
- *
- * If the [Context] is already available, [onContextAvailable] will be
- * synchronously called on the current coroutine context. Otherwise,
- * [onContextAvailable] will be called on the UI thread immediately when
- * the Context becomes available.
- */
-public suspend inline fun <R> ContextAware.withContextAvailable(
-    crossinline onContextAvailable: (Context) -> R
-): R {
-    val availableContext = peekAvailableContext()
-    return if (availableContext != null) {
-        onContextAvailable(availableContext)
-    } else {
-        suspendCancellableCoroutine { co ->
-            val listener = object : OnContextAvailableListener {
-                override fun onContextAvailable(context: Context) {
-                    co.resumeWith(runCatching { onContextAvailable(context) })
-                }
-            }
-            addOnContextAvailableListener(listener)
-            co.invokeOnCancellation {
-                removeOnContextAvailableListener(listener)
-            }
-        }
-    }
-}
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResult.kt b/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResult.kt
deleted file mode 100644
index b1cb01f..0000000
--- a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResult.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import android.content.Intent
-
-/**
- * Destructuring declaration for [ActivityResult] to provide the requestCode
- *
- * @return the resultCode of the [ActivityResult]
- */
-public operator fun ActivityResult.component1(): Int = resultCode
-
-/**
- * Destructuring declaration for [ActivityResult] to provide the intent
- *
- * @return the intent of the [ActivityResult]
- */
-public operator fun ActivityResult.component2(): Intent? = data
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultCaller.kt b/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultCaller.kt
deleted file mode 100644
index 4a0e6ad..0000000
--- a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultCaller.kt
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import android.content.Context
-import android.content.Intent
-import androidx.activity.result.contract.ActivityResultContract
-import androidx.core.app.ActivityOptionsCompat
-
-/**
- * A version of [ActivityResultCaller.registerForActivityResult]
- * that additionally takes an input right away, producing a launcher that doesn't take any
- * additional input when called.
- *
- * @see ActivityResultCaller.registerForActivityResult
- */
-public fun <I, O> ActivityResultCaller.registerForActivityResult(
-    contract: ActivityResultContract<I, O>,
-    input: I,
-    registry: ActivityResultRegistry,
-    callback: (O) -> Unit
-): ActivityResultLauncher<Unit> {
-    val resultLauncher = registerForActivityResult(contract, registry) { callback(it) }
-    return ActivityResultCallerLauncher(resultLauncher, contract, input)
-}
-
-/**
- * A version of [ActivityResultCaller.registerForActivityResult]
- * that additionally takes an input right away, producing a launcher that doesn't take any
- * additional input when called.
- *
- * @see ActivityResultCaller.registerForActivityResult
- */
-public fun <I, O> ActivityResultCaller.registerForActivityResult(
-    contract: ActivityResultContract<I, O>,
-    input: I,
-    callback: (O) -> Unit
-): ActivityResultLauncher<Unit> {
-    val resultLauncher = registerForActivityResult(contract) { callback(it) }
-    return ActivityResultCallerLauncher(resultLauncher, contract, input)
-}
-
-internal class ActivityResultCallerLauncher<I, O>(
-    val launcher: ActivityResultLauncher<I>,
-    val callerContract: ActivityResultContract<I, O>,
-    val input: I
-) : ActivityResultLauncher<Unit>() {
-    val resultContract: ActivityResultContract<Unit, O> by lazy {
-        object : ActivityResultContract<Unit, O>() {
-            override fun createIntent(context: Context, void: Unit?): Intent {
-                return callerContract.createIntent(context, input)
-            }
-
-            override fun parseResult(resultCode: Int, intent: Intent?): O {
-                return callerContract.parseResult(resultCode, intent)
-            }
-        }
-    }
-
-    override fun launch(void: Unit?, options: ActivityOptionsCompat?) {
-        launcher.launch(input, options)
-    }
-
-    override fun unregister() {
-        launcher.unregister()
-    }
-
-    override fun getContract(): ActivityResultContract<Unit, O> {
-        return resultContract
-    }
-}
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt b/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt
deleted file mode 100644
index 0b3d759..0000000
--- a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import androidx.core.app.ActivityOptionsCompat
-
-/**
- * Convenience method to launch a no-argument registered call without needing to pass in `null`.
- */
-public fun ActivityResultLauncher<Void?>.launch(options: ActivityOptionsCompat? = null) {
-    launch(null, options)
-}
-
-/**
- * Convenience method to launch a no-argument registered call without needing to pass in `Unit`.
- */
-@JvmName("launchUnit")
-public fun ActivityResultLauncher<Unit>.launch(options: ActivityOptionsCompat? = null) {
-    launch(null, options)
-}
\ No newline at end of file
diff --git a/activity/activity-lint/build.gradle b/activity/activity-lint/build.gradle
deleted file mode 100644
index 367343d..0000000
--- a/activity/activity-lint/build.gradle
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import androidx.build.LibraryGroups
-import androidx.build.LibraryType
-
-import static androidx.build.dependencies.DependenciesKt.*
-
-plugins {
-    id("AndroidXPlugin")
-    id("kotlin")
-}
-
-dependencies {
-    // compileOnly because we use lintChecks and it doesn't allow other types of deps
-    // this ugly hack exists because of b/63873667
-    if (rootProject.hasProperty("android.injected.invoked.from.ide")) {
-        compileOnly LINT_API_LATEST
-    } else {
-        compileOnly LINT_API_MIN
-    }
-    compileOnly KOTLIN_STDLIB
-
-    testImplementation KOTLIN_STDLIB
-    testImplementation LINT_CORE
-    testImplementation LINT_TESTS
-}
-
-androidx {
-    name = "Android Activity Lint Checks"
-    type = LibraryType.LINT
-    mavenGroup = LibraryGroups.ACTIVITY
-    inceptionYear = "2020"
-    description = "Android Activity Lint Checks"
-}
diff --git a/activity/activity-lint/lint-baseline.xml b/activity/activity-lint/lint-baseline.xml
deleted file mode 100644
index 3ee24e3..0000000
--- a/activity/activity-lint/lint-baseline.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.2.0-alpha15" client="gradle" version="4.2.0-alpha15">
-
-    <issue
-        id="LintImplTextFormat"
-        message="&quot;super.onRequestPermissionsResult()&quot; looks like a call; surround with backtics in string to display as symbol, e.g. \`super.onRequestPermissionsResult()\`"
-        errorLine1="                failed to call super.onRequestPermissionsResult() and used invalid request codes&quot;&quot;&quot;,"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt"
-            line="49"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="LintImplTextFormat"
-        message="Single sentence error messages should not end with a period"
-        errorLine1="                    &quot;Upgrade Fragment version to at least $FRAGMENT_VERSION.&quot;"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt"
-            line="202"
-            column="21"/>
-    </issue>
-
-</issues>
diff --git a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityIssueRegistry.kt b/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityIssueRegistry.kt
deleted file mode 100644
index ffd5b9f..0000000
--- a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityIssueRegistry.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.lint
-
-import com.android.tools.lint.client.api.IssueRegistry
-import com.android.tools.lint.detector.api.CURRENT_API
-
-/**
- * Issue Registry containing Activity specific lint Issues.
- */
-class ActivityIssueRegistry : IssueRegistry() {
-    // tests are run with this version. We ensure that with ApiLintVersionsTest
-    override val api = 8
-    override val minApi = CURRENT_API
-    override val issues get() = listOf(
-        ActivityResultFragmentVersionDetector.ISSUE
-    )
-}
diff --git a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt b/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
deleted file mode 100644
index e2cf80a..0000000
--- a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.lint
-
-import com.android.builder.model.AndroidLibrary
-import com.android.tools.lint.client.api.UElementHandler
-import com.android.tools.lint.detector.api.Category
-import com.android.tools.lint.detector.api.Detector
-import com.android.tools.lint.detector.api.Detector.UastScanner
-import com.android.tools.lint.detector.api.GradleContext
-import com.android.tools.lint.detector.api.GradleScanner
-import com.android.tools.lint.detector.api.Implementation
-import com.android.tools.lint.detector.api.Issue
-import com.android.tools.lint.detector.api.JavaContext
-import com.android.tools.lint.detector.api.Location
-import com.android.tools.lint.detector.api.Project
-import com.android.tools.lint.detector.api.Scope
-import com.android.tools.lint.detector.api.Severity
-import org.jetbrains.uast.UCallExpression
-import org.jetbrains.uast.UElement
-import java.util.EnumSet
-import kotlin.reflect.full.memberFunctions
-import kotlin.reflect.full.memberProperties
-import kotlin.reflect.jvm.isAccessible
-
-class ActivityResultFragmentVersionDetector : Detector(), UastScanner, GradleScanner {
-    companion object {
-        const val FRAGMENT_VERSION = "1.3.0-beta02"
-
-        val ISSUE = Issue.create(
-            id = "InvalidFragmentVersionForActivityResult",
-            briefDescription = "Update to Fragment $FRAGMENT_VERSION to use ActivityResult APIs",
-            explanation = """In order to use the ActivityResult APIs you must upgrade your \
-                Fragment version to $FRAGMENT_VERSION. Previous versions of FragmentActivity \
-                failed to call super.onRequestPermissionsResult() and used invalid request codes""",
-            category = Category.CORRECTNESS,
-            severity = Severity.FATAL,
-            implementation = Implementation(
-                ActivityResultFragmentVersionDetector::class.java,
-                EnumSet.of(Scope.JAVA_FILE, Scope.GRADLE_FILE),
-                Scope.JAVA_FILE_SCOPE,
-                Scope.GRADLE_SCOPE
-            )
-        ).addMoreInfo(
-            "https://developer.android.com/training/permissions/requesting#make-the-request"
-        )
-    }
-
-    var locations = ArrayList<Location>()
-    lateinit var expression: UCallExpression
-
-    private var checkedImplementationDependencies = false
-
-    override fun getApplicableUastTypes(): List<Class<out UElement>>? {
-        return listOf(UCallExpression::class.java)
-    }
-
-    override fun createUastHandler(context: JavaContext): UElementHandler? {
-        return object : UElementHandler() {
-            override fun visitCallExpression(node: UCallExpression) {
-                if (node.methodIdentifier?.name != "registerForActivityResult") {
-                    return
-                }
-                expression = node
-                locations.add(context.getLocation(node))
-            }
-        }
-    }
-
-    override fun checkDslPropertyAssignment(
-        context: GradleContext,
-        property: String,
-        value: String,
-        parent: String,
-        parentParent: String?,
-        valueCookie: Any,
-        statementCookie: Any
-    ) {
-        if (locations.isEmpty()) {
-            return
-        }
-        if (property == "api") {
-            // always check api dependencies
-            reportIssue(value, context)
-        } else if (!checkedImplementationDependencies) {
-            val project = context.project
-            if (useNewLintVersion(project)) {
-                checkWithNewLintVersion(project, context)
-            } else {
-                checkWithOldLintVersion(project, context)
-            }
-        }
-    }
-
-    private fun useNewLintVersion(project: Project): Boolean {
-        project::class.memberFunctions.forEach { function ->
-            if (function.name == "getBuildVariant") {
-                return true
-            }
-        }
-        return false
-    }
-
-    private fun checkWithNewLintVersion(project: Project, context: GradleContext) {
-        val buildVariant = callFunctionWithReflection(project, "getBuildVariant")
-        val mainArtifact = getMemberWithReflection(buildVariant, "mainArtifact")
-        val dependencies = getMemberWithReflection(mainArtifact, "dependencies")
-        val all = callFunctionWithReflection(dependencies, "getAll")
-        (all as ArrayList<*>).forEach { lmLibrary ->
-            lmLibrary::class.memberProperties.forEach { libraryMembers ->
-                if (libraryMembers.name == "resolvedCoordinates") {
-                    reportIssue(libraryMembers.call(lmLibrary).toString(), context, false)
-                }
-            }
-        }
-    }
-
-    private fun checkWithOldLintVersion(project: Project, context: GradleContext) {
-        lateinit var explicitLibraries: Collection<AndroidLibrary>
-        val currentVariant = callFunctionWithReflection(project, "getCurrentVariant")
-        val mainArtifact = callFunctionWithReflection(currentVariant, "getMainArtifact")
-        val dependencies = callFunctionWithReflection(mainArtifact, "getDependencies")
-        @Suppress("UNCHECKED_CAST")
-        explicitLibraries =
-            callFunctionWithReflection(dependencies, "getLibraries") as Collection<AndroidLibrary>
-
-        // collect all of the library dependencies
-        val allLibraries = HashSet<AndroidLibrary>()
-        addIndirectAndroidLibraries(explicitLibraries, allLibraries)
-        // check all of the dependencies
-        allLibraries.forEach {
-            val resolvedCoords = it.resolvedCoordinates
-            val groupId = resolvedCoords.groupId
-            val artifactId = resolvedCoords.artifactId
-            val version = resolvedCoords.version
-            reportIssue("$groupId:$artifactId:$version", context, false)
-        }
-    }
-
-    private fun callFunctionWithReflection(caller: Any, functionName: String): Any {
-        caller::class.memberFunctions.forEach { function ->
-            if (function.name == functionName) {
-                function.isAccessible = true
-                return function.call(caller)!!
-            }
-        }
-        return Unit
-    }
-
-    private fun getMemberWithReflection(caller: Any, memberName: String): Any {
-        caller::class.memberProperties.forEach { member ->
-            if (member.name == memberName) {
-                return member.getter.call(caller)!!
-            }
-        }
-        return Unit
-    }
-
-    private fun addIndirectAndroidLibraries(
-        libraries: Collection<AndroidLibrary>,
-        result: MutableSet<AndroidLibrary>
-    ) {
-        for (library in libraries) {
-            if (!result.contains(library)) {
-                result.add(library)
-                addIndirectAndroidLibraries(library.libraryDependencies, result)
-            }
-        }
-    }
-
-    private fun reportIssue(
-        value: String,
-        context: GradleContext,
-        removeQuotes: Boolean = true
-    ) {
-        val library = if (removeQuotes) {
-            getStringLiteralValue(value)
-        } else {
-            value
-        }
-
-        if (library.isNotEmpty() &&
-            library.substringAfter("androidx.fragment:fragment:") < FRAGMENT_VERSION
-        ) {
-            locations.forEach { location ->
-                context.report(
-                    ISSUE, expression, location,
-                    "Upgrade Fragment version to at least $FRAGMENT_VERSION."
-                )
-            }
-        }
-    }
-
-    /**
-     * Extracts the string value from the DSL value by removing surrounding quotes.
-     *
-     * Returns an empty string if [value] is not a string literal.
-     */
-    private fun getStringLiteralValue(value: String): String {
-        if (value.length > 2 && (
-            value.startsWith("'") && value.endsWith("'") ||
-                value.startsWith("\"") && value.endsWith("\"")
-            )
-        ) {
-            return value.substring(1, value.length - 1)
-        }
-        return ""
-    }
-}
diff --git a/activity/activity-lint/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry b/activity/activity-lint/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry
deleted file mode 100644
index 46df9c0..0000000
--- a/activity/activity-lint/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright 2020 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-androidx.activity.lint.ActivityIssueRegistry
diff --git a/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt b/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt
deleted file mode 100644
index 0f51894..0000000
--- a/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.lint
-
-import androidx.activity.lint.ActivityResultFragmentVersionDetector.Companion.FRAGMENT_VERSION
-import com.android.tools.lint.checks.infrastructure.LintDetectorTest
-import com.android.tools.lint.detector.api.Detector
-import com.android.tools.lint.detector.api.Issue
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-
-@RunWith(JUnit4::class)
-class ActivityResultFragmentVersionDetectorTest : LintDetectorTest() {
-    override fun getDetector(): Detector = ActivityResultFragmentVersionDetector()
-
-    override fun getIssues(): MutableList<Issue> =
-        mutableListOf(ActivityResultFragmentVersionDetector.ISSUE)
-
-    @Test
-    fun expectPassRegisterForActivityResult() {
-        lint().files(
-            kotlin(
-                """
-                package com.example
-
-                import androidx.activity.result.ActivityResultCaller
-                import androidx.activity.result.contract.ActivityResultContract
-
-                val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-            """
-            ),
-            gradle(
-                "build.gradle",
-                """
-                dependencies {
-                    api("androidx.fragment:fragment:$FRAGMENT_VERSION")
-                }
-            """
-            ).indented()
-        )
-            .run().expectClean()
-    }
-
-    @Test
-    fun expectPassRegisterForActivityResultProject() {
-        lint().files(
-            kotlin(
-                """
-                package com.example
-
-                import androidx.activity.result.ActivityResultCaller
-                import androidx.activity.result.contract.ActivityResultContract
-
-                val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-            """
-            ),
-            gradle(
-                "build.gradle",
-                """
-                dependencies {
-                    implementation(project(":fragment:fragment-ktx"))
-                }
-            """
-            ).indented()
-        )
-            .run().expectClean()
-    }
-
-    @Test
-    fun expectFailRegisterForActivityResult() {
-        lint().files(
-            gradle(
-                """
-                dependencies {
-                    api("androidx.fragment:fragment:1.3.0-alpha05")
-                }
-            """
-            ),
-            kotlin(
-                """
-                package com.example
-
-                import androidx.activity.result.ActivityResultCaller
-                import androidx.activity.result.contract.ActivityResultContract
-
-                val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-            """
-            ).indented()
-        )
-            .run()
-            .expect(
-                """
-                src/main/kotlin/com/example/test.kt:6: Error: Upgrade Fragment version to at least $FRAGMENT_VERSION. [InvalidFragmentVersionForActivityResult]
-                val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                1 errors, 0 warnings
-                """.trimIndent()
-            )
-    }
-
-    @Test
-    fun expectFailRegisterForActivityResultInMethod() {
-        lint().files(
-            gradle(
-                """
-                dependencies {
-                    api("androidx.fragment:fragment:1.3.0-alpha05")
-                }
-            """
-            ),
-            kotlin(
-                """
-                package com.example
-
-                import androidx.activity.result.ActivityResultCaller
-                import androidx.activity.result.contract.ActivityResultContract
-
-                lateinit var launcher: ActivityResultLauncher
-
-                fun foo() {
-                    launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                }
-            """
-            ).indented()
-        )
-            .run()
-            .expect(
-                """
-                src/main/kotlin/com/example/test.kt:9: Error: Upgrade Fragment version to at least $FRAGMENT_VERSION. [InvalidFragmentVersionForActivityResult]
-                    launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                1 errors, 0 warnings
-                """.trimIndent()
-            )
-    }
-
-    @Test
-    fun expectFailRegisterForActivityResultMultipleCalls() {
-        lint().files(
-            gradle(
-                """
-                dependencies {
-                    api("androidx.fragment:fragment:1.3.0-alpha05")
-                }
-            """
-            ),
-            kotlin(
-                """
-                package com.example
-
-                import androidx.activity.result.ActivityResultCaller
-                import androidx.activity.result.contract.ActivityResultContract
-
-                val launcher1 = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-
-                lateinit var launcher2: ActivityResultLauncher
-
-                fun foo() {
-                    launcher2 = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                }
-            """
-            ).indented()
-        )
-            .run()
-            .expect(
-                """
-                src/main/kotlin/com/example/test.kt:6: Error: Upgrade Fragment version to at least $FRAGMENT_VERSION. [InvalidFragmentVersionForActivityResult]
-                val launcher1 = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                src/main/kotlin/com/example/test.kt:11: Error: Upgrade Fragment version to at least $FRAGMENT_VERSION. [InvalidFragmentVersionForActivityResult]
-                    launcher2 = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                2 errors, 0 warnings
-                """.trimIndent()
-            )
-    }
-
-    @Test
-    fun expectFailTransitiveDependency() {
-        val projectFragment = project(
-            kotlin(
-                """
-                package com.example
-
-                import androidx.activity.result.ActivityResultCaller
-                import androidx.activity.result.contract.ActivityResultContract
-
-                val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-            """
-            ),
-            gradle(
-                "build.gradle",
-                """
-                dependencies {
-                    implementation("androidx.fragment:fragment-ktx:1.3.0-alpha05")
-                }
-            """
-            ).indented()
-        ).withDependencyGraph(
-            """
-                +--- androidx.fragment:fragment-ktx:1.3.0-alpha05
-                     \--- androidx.fragment:fragment:1.3.0-alpha05
-            """.trimIndent()
-        )
-
-        lint().projects(projectFragment).run().expect(
-            """
-                src/main/kotlin/com/example/test.kt:7: Error: Upgrade Fragment version to at least $FRAGMENT_VERSION. [InvalidFragmentVersionForActivityResult]
-                                val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
-                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                1 errors, 0 warnings
-            """.trimIndent()
-        )
-    }
-}
diff --git a/activity/activity-lint/src/test/java/androidx/activity/lint/ApiLintVersionsTest.kt b/activity/activity-lint/src/test/java/androidx/activity/lint/ApiLintVersionsTest.kt
deleted file mode 100644
index 6e3e54a..0000000
--- a/activity/activity-lint/src/test/java/androidx/activity/lint/ApiLintVersionsTest.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.lint
-
-import com.android.tools.lint.client.api.LintClient
-import com.android.tools.lint.detector.api.CURRENT_API
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-
-@RunWith(JUnit4::class)
-class ApiLintVersionsTest {
-
-    @Test
-    fun versionsCheck() {
-        LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
-
-        val registry = ActivityIssueRegistry()
-        // we hardcode version registry.api to the version that is used to run tests
-        assertThat(registry.api).isEqualTo(CURRENT_API)
-        // Intentionally fails in IDE, because we use different API version in
-        // studio and command line
-        assertThat(registry.minApi).isEqualTo(3)
-    }
-}
diff --git a/activity/activity-lint/src/test/java/androidx/activity/lint/stubs/Stubs.kt b/activity/activity-lint/src/test/java/androidx/activity/lint/stubs/Stubs.kt
deleted file mode 100644
index 716b288..0000000
--- a/activity/activity-lint/src/test/java/androidx/activity/lint/stubs/Stubs.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.lint.stubs
-
-import com.android.tools.lint.checks.infrastructure.LintDetectorTest.java
-
-private val ACTIVITY_RESULT_CALLER = java(
-    """
-    package androidx.activity.result;
-
-    public class ActivityResultCaller {
-        public ActivityResultLauncher registerForActivityResult(ActivityResultContract contract) {}
-    }
-"""
-)
-
-private val ACTIVITY_RESULT_CONTRACT = java(
-    """
-    package androidx.activity.result.contract;
-
-    public class ActivityResultContract { }
-"""
-)
-
-// stubs for testing calls to registerForActivityResult
-internal val STUBS = arrayOf(
-    ACTIVITY_RESULT_CALLER,
-    ACTIVITY_RESULT_CONTRACT
-)
diff --git a/activity/activity/api/1.0.0-beta01.txt b/activity/activity/api/1.0.0-beta01.txt
deleted file mode 100644
index 9005ad0..0000000
--- a/activity/activity/api/1.0.0-beta01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/1.0.0-rc01.txt b/activity/activity/api/1.0.0-rc01.txt
deleted file mode 100644
index 9005ad0..0000000
--- a/activity/activity/api/1.0.0-rc01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/1.0.0.txt b/activity/activity/api/1.0.0.txt
deleted file mode 100644
index 9005ad0..0000000
--- a/activity/activity/api/1.0.0.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/1.1.0-beta01.txt b/activity/activity/api/1.1.0-beta01.txt
deleted file mode 100644
index 641c0b5..0000000
--- a/activity/activity/api/1.1.0-beta01.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/1.1.0-rc01.txt b/activity/activity/api/1.1.0-rc01.txt
deleted file mode 100644
index 641c0b5..0000000
--- a/activity/activity/api/1.1.0-rc01.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/1.2.0-beta01.txt b/activity/activity/api/1.2.0-beta01.txt
deleted file mode 100644
index 0daef05..0000000
--- a/activity/activity/api/1.2.0-beta01.txt
+++ /dev/null
@@ -1,259 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/1.2.0-beta02.txt b/activity/activity/api/1.2.0-beta02.txt
deleted file mode 100644
index 0daef05..0000000
--- a/activity/activity/api/1.2.0-beta02.txt
+++ /dev/null
@@ -1,259 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/api_lint.ignore b/activity/activity/api/api_lint.ignore
deleted file mode 100644
index 8b4fe9e..0000000
--- a/activity/activity/api/api_lint.ignore
+++ /dev/null
@@ -1,35 +0,0 @@
-// Baseline format: 1.0
-CallbackMethodName: androidx.activity.OnBackPressedCallback#handleOnBackPressed():
-    Callback method names must follow the on<Something> style: handleOnBackPressed
-
-
-ExecutorRegistration: androidx.activity.OnBackPressedDispatcher#addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback):
-    Registration methods should have overload that accepts delivery Executor: `addCallback`
-ExecutorRegistration: androidx.activity.contextaware.ContextAware#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener):
-    Registration methods should have overload that accepts delivery Executor: `addOnContextAvailableListener`
-ExecutorRegistration: androidx.activity.contextaware.ContextAwareHelper#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener):
-    Registration methods should have overload that accepts delivery Executor: `addOnContextAvailableListener`
-
-
-ForbiddenSuperClass: androidx.activity.ComponentActivity:
-    ComponentActivity should not extend `Activity`. Activity subclasses are impossible to compose. Expose a composable API instead.
-
-
-MissingGetterMatchingBuilder: androidx.activity.result.IntentSenderRequest.Builder#setFlags(int, int):
-    androidx.activity.result.IntentSenderRequest does not declare a `getFlags()` method matching method androidx.activity.result.IntentSenderRequest.Builder.setFlags(int,int)
-
-
-MissingNullability: androidx.activity.ComponentActivity#startActivityForResult(android.content.Intent, int) parameter #0:
-    Missing nullability on parameter `intent` in method `startActivityForResult`
-MissingNullability: androidx.activity.ComponentActivity#startActivityForResult(android.content.Intent, int, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `intent` in method `startActivityForResult`
-MissingNullability: androidx.activity.ComponentActivity#startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int) parameter #0:
-    Missing nullability on parameter `intent` in method `startIntentSenderForResult`
-MissingNullability: androidx.activity.ComponentActivity#startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `intent` in method `startIntentSenderForResult`
-
-
-RegistrationName: androidx.activity.OnBackPressedDispatcher#addCallback(androidx.activity.OnBackPressedCallback):
-    Callback methods should be named register/unregister; was addCallback
-RegistrationName: androidx.activity.OnBackPressedDispatcher#addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback):
-    Callback methods should be named register/unregister; was addCallback
diff --git a/activity/activity/api/current.txt b/activity/activity/api/current.txt
deleted file mode 100644
index 0daef05..0000000
--- a/activity/activity/api/current.txt
+++ /dev/null
@@ -1,259 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.0.0-beta01.txt b/activity/activity/api/public_plus_experimental_1.0.0-beta01.txt
deleted file mode 100644
index cd98da6..0000000
--- a/activity/activity/api/public_plus_experimental_1.0.0-beta01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.0.0-rc01.txt b/activity/activity/api/public_plus_experimental_1.0.0-rc01.txt
deleted file mode 100644
index cd98da6..0000000
--- a/activity/activity/api/public_plus_experimental_1.0.0-rc01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.0.0.txt b/activity/activity/api/public_plus_experimental_1.0.0.txt
deleted file mode 100644
index 9e0f44a..0000000
--- a/activity/activity/api/public_plus_experimental_1.0.0.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.1.0-beta01.txt b/activity/activity/api/public_plus_experimental_1.1.0-beta01.txt
deleted file mode 100644
index 2a6b68b..0000000
--- a/activity/activity/api/public_plus_experimental_1.1.0-beta01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.1.0-rc01.txt b/activity/activity/api/public_plus_experimental_1.1.0-rc01.txt
deleted file mode 100644
index 2a6b68b..0000000
--- a/activity/activity/api/public_plus_experimental_1.1.0-rc01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.2.0-beta01.txt b/activity/activity/api/public_plus_experimental_1.2.0-beta01.txt
deleted file mode 100644
index 14637c3..0000000
--- a/activity/activity/api/public_plus_experimental_1.2.0-beta01.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_1.2.0-beta02.txt b/activity/activity/api/public_plus_experimental_1.2.0-beta02.txt
deleted file mode 100644
index 14637c3..0000000
--- a/activity/activity/api/public_plus_experimental_1.2.0-beta02.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/public_plus_experimental_current.txt b/activity/activity/api/public_plus_experimental_current.txt
deleted file mode 100644
index 14637c3..0000000
--- a/activity/activity/api/public_plus_experimental_current.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/res-1.0.0-beta01.txt b/activity/activity/api/res-1.0.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.0.0-beta01.txt
+++ /dev/null
diff --git a/activity/activity/api/res-1.0.0-rc01.txt b/activity/activity/api/res-1.0.0-rc01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.0.0-rc01.txt
+++ /dev/null
diff --git a/activity/activity/api/res-1.0.0.txt b/activity/activity/api/res-1.0.0.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.0.0.txt
+++ /dev/null
diff --git a/activity/activity/api/res-1.1.0-beta01.txt b/activity/activity/api/res-1.1.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.1.0-beta01.txt
+++ /dev/null
diff --git a/activity/activity/api/res-1.1.0-rc01.txt b/activity/activity/api/res-1.1.0-rc01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.1.0-rc01.txt
+++ /dev/null
diff --git a/activity/activity/api/res-1.2.0-beta01.txt b/activity/activity/api/res-1.2.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.2.0-beta01.txt
+++ /dev/null
diff --git a/activity/activity/api/res-1.2.0-beta02.txt b/activity/activity/api/res-1.2.0-beta02.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-1.2.0-beta02.txt
+++ /dev/null
diff --git a/activity/activity/api/res-current.txt b/activity/activity/api/res-current.txt
deleted file mode 100644
index e69de29..0000000
--- a/activity/activity/api/res-current.txt
+++ /dev/null
diff --git a/activity/activity/api/restricted_1.0.0-beta01.txt b/activity/activity/api/restricted_1.0.0-beta01.txt
deleted file mode 100644
index cd98da6..0000000
--- a/activity/activity/api/restricted_1.0.0-beta01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_1.0.0-rc01.txt b/activity/activity/api/restricted_1.0.0-rc01.txt
deleted file mode 100644
index cd98da6..0000000
--- a/activity/activity/api/restricted_1.0.0-rc01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_1.0.0.txt b/activity/activity/api/restricted_1.0.0.txt
deleted file mode 100644
index 9e0f44a..0000000
--- a/activity/activity/api/restricted_1.0.0.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_1.1.0-beta01.txt b/activity/activity/api/restricted_1.1.0-beta01.txt
deleted file mode 100644
index 2a6b68b..0000000
--- a/activity/activity/api/restricted_1.1.0-beta01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_1.1.0-rc01.txt b/activity/activity/api/restricted_1.1.0-rc01.txt
deleted file mode 100644
index 2a6b68b..0000000
--- a/activity/activity/api/restricted_1.1.0-rc01.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// Signature format: 3.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_1.2.0-beta01.txt b/activity/activity/api/restricted_1.2.0-beta01.txt
deleted file mode 100644
index 14637c3..0000000
--- a/activity/activity/api/restricted_1.2.0-beta01.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_1.2.0-beta02.txt b/activity/activity/api/restricted_1.2.0-beta02.txt
deleted file mode 100644
index 14637c3..0000000
--- a/activity/activity/api/restricted_1.2.0-beta02.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/api/restricted_current.txt b/activity/activity/api/restricted_current.txt
deleted file mode 100644
index 14637c3..0000000
--- a/activity/activity/api/restricted_current.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-// Signature format: 4.0
-package androidx.activity {
-
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    ctor public ComponentActivity();
-    ctor @ContentView public ComponentActivity(@LayoutRes int);
-    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method @Deprecated public Object? getLastCustomNonConfigurationInstance();
-    method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-    method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-    method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
-    method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
-    method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
-    method public final Object? onRetainNonConfigurationInstance();
-    method public android.content.Context? peekAvailableContext();
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int);
-    method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
-    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
-  }
-
-  public abstract class OnBackPressedCallback {
-    ctor public OnBackPressedCallback(boolean);
-    method @MainThread public abstract void handleOnBackPressed();
-    method @MainThread public final boolean isEnabled();
-    method @MainThread public final void remove();
-    method @MainThread public final void setEnabled(boolean);
-  }
-
-  public final class OnBackPressedDispatcher {
-    ctor public OnBackPressedDispatcher();
-    ctor public OnBackPressedDispatcher(Runnable?);
-    method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
-    method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
-    method @MainThread public boolean hasEnabledCallbacks();
-    method @MainThread public void onBackPressed();
-  }
-
-  public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
-    method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
-  }
-
-}
-
-package androidx.activity.contextaware {
-
-  public interface ContextAware {
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public final class ContextAwareHelper {
-    ctor public ContextAwareHelper();
-    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-    method public void clearAvailableContext();
-    method public void dispatchOnContextAvailable(android.content.Context);
-    method public android.content.Context? peekAvailableContext();
-    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
-  }
-
-  public interface OnContextAvailableListener {
-    method public void onContextAvailable(android.content.Context);
-  }
-
-}
-
-package androidx.activity.result {
-
-  public final class ActivityResult implements android.os.Parcelable {
-    ctor public ActivityResult(int, android.content.Intent?);
-    method public int describeContents();
-    method public android.content.Intent? getData();
-    method public int getResultCode();
-    method public static String resultCodeToString(int);
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
-  }
-
-  public interface ActivityResultCallback<O> {
-    method public void onActivityResult(O!);
-  }
-
-  public interface ActivityResultCaller {
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public abstract class ActivityResultLauncher<I> {
-    ctor public ActivityResultLauncher();
-    method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
-    method public void launch(I!);
-    method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
-    method @MainThread public abstract void unregister();
-  }
-
-  public abstract class ActivityResultRegistry {
-    ctor public ActivityResultRegistry();
-    method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
-    method @MainThread public final <O> boolean dispatchResult(int, O!);
-    method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
-    method public final void onRestoreInstanceState(android.os.Bundle?);
-    method public final void onSaveInstanceState(android.os.Bundle);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-    method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
-  }
-
-  public interface ActivityResultRegistryOwner {
-    method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
-  }
-
-  public final class IntentSenderRequest implements android.os.Parcelable {
-    method public int describeContents();
-    method public android.content.Intent? getFillInIntent();
-    method public int getFlagsMask();
-    method public int getFlagsValues();
-    method public android.content.IntentSender getIntentSender();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
-  }
-
-  public static final class IntentSenderRequest.Builder {
-    ctor public IntentSenderRequest.Builder(android.content.IntentSender);
-    ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
-    method public androidx.activity.result.IntentSenderRequest build();
-    method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
-  }
-
-}
-
-package androidx.activity.result.contract {
-
-  public abstract class ActivityResultContract<I, O> {
-    ctor public ActivityResultContract();
-    method public abstract android.content.Intent createIntent(android.content.Context, I!);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
-    method public abstract O! parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContract.SynchronousResult<T> {
-    ctor public ActivityResultContract.SynchronousResult(T!);
-    method public T! getValue();
-  }
-
-  public final class ActivityResultContracts {
-  }
-
-  public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.CreateDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
-    ctor public ActivityResultContracts.GetContent();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.GetMultipleContents();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocument();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
-    ctor public ActivityResultContracts.OpenDocumentTree();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
-    method public final android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
-    ctor public ActivityResultContracts.OpenMultipleDocuments();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
-    method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
-    ctor public ActivityResultContracts.PickContact();
-    method public android.content.Intent createIntent(android.content.Context, Void?);
-    method public android.net.Uri? parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
-    ctor public ActivityResultContracts.RequestMultiplePermissions();
-    method public android.content.Intent createIntent(android.content.Context, String![]);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
-    method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
-    field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-    field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
-    field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-  }
-
-  public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
-    ctor public ActivityResultContracts.RequestPermission();
-    method public android.content.Intent createIntent(android.content.Context, String);
-    method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
-    method public Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartActivityForResult();
-    method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-  }
-
-  public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
-    ctor public ActivityResultContracts.StartIntentSenderForResult();
-    method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
-    method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
-    field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
-    field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
-  }
-
-  public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
-    ctor public ActivityResultContracts.TakePicture();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final Boolean parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakePicturePreview();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-  public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
-    ctor public ActivityResultContracts.TakeVideo();
-    method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
-    method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
-    method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
-  }
-
-}
-
diff --git a/activity/activity/build.gradle b/activity/activity/build.gradle
deleted file mode 100644
index 1159550..0000000
--- a/activity/activity/build.gradle
+++ /dev/null
@@ -1,54 +0,0 @@
-import static androidx.build.dependencies.DependenciesKt.*
-import androidx.build.LibraryGroups
-import androidx.build.LibraryVersions
-import androidx.build.Publish
-
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("kotlin-android")
-}
-
-android {
-    compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_7
-        targetCompatibility = JavaVersion.VERSION_1_7
-    }
-    defaultConfig {
-        testInstrumentationRunnerArgument "listener", "leakcanary.FailTestOnLeakRunListener"
-    }
-}
-
-dependencies {
-    api("androidx.annotation:annotation:1.1.0")
-    implementation("androidx.collection:collection:1.0.0")
-    api("androidx.core:core:1.1.0")
-    api(projectOrArtifact(":lifecycle:lifecycle-runtime"))
-    api(projectOrArtifact(":lifecycle:lifecycle-viewmodel"))
-    api(projectOrArtifact(":savedstate:savedstate"))
-    api(projectOrArtifact(":lifecycle:lifecycle-viewmodel-savedstate"))
-    implementation("androidx.tracing:tracing:1.0.0")
-
-    androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-runtime-testing"))
-    androidTestImplementation(KOTLIN_STDLIB)
-    androidTestImplementation(LEAKCANARY)
-    androidTestImplementation(LEAKCANARY_INSTRUMENTATION)
-    androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
-    androidTestImplementation(ANDROIDX_TEST_CORE)
-    androidTestImplementation(ANDROIDX_TEST_RUNNER)
-    androidTestImplementation(ANDROIDX_TEST_RULES)
-    androidTestImplementation(TRUTH)
-    androidTestImplementation project(':internal-testutils-runtime'), {
-        exclude group: 'androidx.activity', module: 'activity'
-    }
-
-    lintPublish(project(':activity:activity-lint'))
-}
-
-androidx {
-    name = "Activity"
-    publish = Publish.SNAPSHOT_AND_RELEASE
-    mavenGroup = LibraryGroups.ACTIVITY
-    inceptionYear = "2018"
-    description = "Provides the base Activity subclass and the relevant hooks to build a composable structure on top."
-}
diff --git a/activity/activity/lint-baseline.xml b/activity/activity/lint-baseline.xml
deleted file mode 100644
index c24e5a4..0000000
--- a/activity/activity/lint-baseline.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.2.0-alpha15" client="gradle" variant="debug" version="4.2.0-alpha15">
-
-    <issue
-        id="InlinedApi"
-        message="Field requires API level 19 (current min is 14): `android.content.Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION`"
-        errorLine1="                FLAG_INCLUDE_STOPPED_PACKAGES, FLAG_GRANT_PERSISTABLE_URI_PERMISSION,"
-        errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/IntentSenderRequest.java"
-            line="168"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="InlinedApi"
-        message="Field requires API level 21 (current min is 14): `android.content.Intent#FLAG_GRANT_PREFIX_URI_PERMISSION`"
-        errorLine1="                FLAG_GRANT_PREFIX_URI_PERMISSION, FLAG_ACTIVITY_MATCH_EXTERNAL,"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/IntentSenderRequest.java"
-            line="169"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="InlinedApi"
-        message="Field requires API level 28 (current min is 14): `android.content.Intent#FLAG_ACTIVITY_MATCH_EXTERNAL`"
-        errorLine1="                FLAG_GRANT_PREFIX_URI_PERMISSION, FLAG_ACTIVITY_MATCH_EXTERNAL,"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/IntentSenderRequest.java"
-            line="169"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="InlinedApi"
-        message="Field requires API level 21 (current min is 14): `android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT`"
-        errorLine1="                FLAG_ACTIVITY_NEW_DOCUMENT, FLAG_ACTIVITY_NO_USER_ACTION,"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/IntentSenderRequest.java"
-            line="175"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="InlinedApi"
-        message="Field requires API level 21 (current min is 14): `android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS`"
-        errorLine1="                FLAG_ACTIVITY_RETAIN_IN_RECENTS, FLAG_ACTIVITY_LAUNCH_ADJACENT})"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/IntentSenderRequest.java"
-            line="178"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="InlinedApi"
-        message="Field requires API level 24 (current min is 14): `android.content.Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT`"
-        errorLine1="                FLAG_ACTIVITY_RETAIN_IN_RECENTS, FLAG_ACTIVITY_LAUNCH_ADJACENT})"
-        errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/IntentSenderRequest.java"
-            line="178"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="BanTargetApiAnnotation"
-        message="Uses @TargetApi annotation"
-        errorLine1="    @TargetApi(18)"
-        errorLine2="    ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.java"
-            line="458"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanTargetApiAnnotation"
-        message="Uses @TargetApi annotation"
-        errorLine1="    @TargetApi(19)"
-        errorLine2="    ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.java"
-            line="521"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanTargetApiAnnotation"
-        message="Uses @TargetApi annotation"
-        errorLine1="    @TargetApi(19)"
-        errorLine2="    ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.java"
-            line="559"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanTargetApiAnnotation"
-        message="Uses @TargetApi annotation"
-        errorLine1="    @TargetApi(21)"
-        errorLine2="    ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.java"
-            line="601"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanTargetApiAnnotation"
-        message="Uses @TargetApi annotation"
-        errorLine1="    @TargetApi(19)"
-        errorLine2="    ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.java"
-            line="640"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="UnsafeNewApiCall"
-        message="This call is to a method from API 16, the call containing class androidx.activity.result.contract.ActivityResultContracts.GetMultipleContents is not annotated with @RequiresApi(x) where x is at least 16. Either annotate the containing class with at least @RequiresApi(16) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(16)."
-        errorLine1="            ClipData clipData = intent.getClipData();"
-        errorLine2="                                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.java"
-            line="495"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="UnsafeNewApiCall"
-        message="This call is to a method from API 19, the call containing class null is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)."
-        errorLine1="                            decor.cancelPendingInputEvents();"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/activity/ComponentActivity.java"
-            line="243"
-            column="35"/>
-    </issue>
-
-</issues>
diff --git a/activity/activity/src/androidTest/AndroidManifest.xml b/activity/activity/src/androidTest/AndroidManifest.xml
deleted file mode 100644
index 5176eb8..0000000
--- a/activity/activity/src/androidTest/AndroidManifest.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 2018 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="androidx.activity.test">
-
-    <application android:name="androidx.activity.LeakCanaryApp">
-        <activity android:name="androidx.activity.LeakingActivity"
-                android:windowSoftInputMode="stateVisible"/>
-        <activity android:name="androidx.activity.LifecycleComponentActivity"/>
-        <activity android:name="androidx.activity.EagerOverrideLifecycleComponentActivity"/>
-        <activity android:name="androidx.activity.LazyOverrideLifecycleComponentActivity"/>
-        <activity android:name="androidx.activity.ReportFullyDrawnActivity"/>
-        <activity android:name="androidx.activity.ViewModelActivity"/>
-        <activity android:name="androidx.activity.SavedStateActivity"/>
-        <activity android:name="androidx.activity.ContentViewActivity"/>
-        <activity android:name="androidx.activity.EmptyContentActivity" />
-        <activity android:name="androidx.activity.AutoRestarterActivity"/>
-        <activity android:name="androidx.activity.ResultComponentActivity"/>
-        <activity android:name="androidx.activity.ResumeViewModelActivity" />
-    </application>
-
-</manifest>
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt
deleted file mode 100644
index 56ed97d..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.os.Bundle
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.LifecycleEventObserver
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-internal enum class LifecycleSource {
-    CONTEXT_AWARE,
-    ACTIVITY,
-    ACTIVITY_CALLBACK
-}
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivityLifecycleTest {
-
-    @Test
-    @Throws(Throwable::class)
-    fun testLifecycleObserver() {
-        lateinit var events: List<Pair<LifecycleSource, Lifecycle.Event>>
-        ActivityScenario.launch(LifecycleComponentActivity::class.java).use { scenario ->
-            events = scenario.withActivity { this.events }
-        }
-
-        // The Activity's lifecycle callbacks should fire first,
-        // followed by the activity's lifecycle observers
-        assertThat(events)
-            .containsExactly(
-                LifecycleSource.CONTEXT_AWARE to Lifecycle.Event.ON_CREATE,
-                LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_CREATE,
-                LifecycleSource.ACTIVITY to Lifecycle.Event.ON_CREATE,
-                LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_START,
-                LifecycleSource.ACTIVITY to Lifecycle.Event.ON_START,
-                LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_RESUME,
-                LifecycleSource.ACTIVITY to Lifecycle.Event.ON_RESUME,
-                // Now the order reverses as things unwind
-                LifecycleSource.ACTIVITY to Lifecycle.Event.ON_PAUSE,
-                LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_PAUSE,
-                LifecycleSource.ACTIVITY to Lifecycle.Event.ON_STOP,
-                LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_STOP,
-                LifecycleSource.ACTIVITY to Lifecycle.Event.ON_DESTROY,
-                LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_DESTROY
-            ).inOrder()
-    }
-}
-
-class LifecycleComponentActivity : ComponentActivity() {
-    internal val events = mutableListOf<Pair<LifecycleSource, Lifecycle.Event>>()
-
-    init {
-        addOnContextAvailableListener {
-            events.add(LifecycleSource.CONTEXT_AWARE to Lifecycle.Event.ON_CREATE)
-        }
-        lifecycle.addObserver(
-            LifecycleEventObserver { _, event ->
-                events.add(LifecycleSource.ACTIVITY to event)
-            }
-        )
-    }
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        events.add(LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_CREATE)
-    }
-
-    override fun onStart() {
-        super.onStart()
-        events.add(LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_START)
-    }
-
-    override fun onResume() {
-        super.onResume()
-        events.add(LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_RESUME)
-    }
-
-    override fun onPause() {
-        events.add(LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_PAUSE)
-        super.onPause()
-    }
-
-    override fun onStop() {
-        events.add(LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_STOP)
-        super.onStop()
-    }
-
-    override fun onDestroy() {
-        events.add(LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_DESTROY)
-        super.onDestroy()
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt
deleted file mode 100644
index 251a035..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.LifecycleRegistry
-import androidx.test.annotation.UiThreadTest
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import org.junit.Assert.fail
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivityOverrideLifecycleTest {
-
-    @UiThreadTest
-    @Test
-    fun testEagerOverride() {
-        try {
-            EagerOverrideLifecycleComponentActivity()
-            fail("Constructor for ComponentActivity using a field initializer should throw")
-        } catch (e: IllegalStateException) {
-            // expected
-        }
-    }
-
-    @Test
-    fun testOverrideLifecycle() {
-        with(ActivityScenario.launch(LazyOverrideLifecycleComponentActivity::class.java)) {
-            assertThat(withActivity { lifecycle.currentState })
-                .isEqualTo(Lifecycle.State.RESUMED)
-        }
-    }
-}
-
-class EagerOverrideLifecycleComponentActivity : ComponentActivity() {
-
-    private val overrideLifecycle = LifecycleRegistry(this)
-
-    override fun getLifecycle(): Lifecycle {
-        return overrideLifecycle
-    }
-}
-
-class LazyOverrideLifecycleComponentActivity : ComponentActivity() {
-    private var overrideLifecycle: LifecycleRegistry? = null
-
-    override fun getLifecycle(): Lifecycle {
-        return overrideLifecycle ?: LifecycleRegistry(this).also {
-            overrideLifecycle = it
-        }
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt
deleted file mode 100644
index 70e6672..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivityReportFullyDrawnTest {
-
-    @Test
-    fun testReportFullyDrawn() {
-        with(ActivityScenario.launch(ReportFullyDrawnActivity::class.java)) {
-            withActivity {
-                // This test makes sure that this method does not throw an exception on devices
-                // running API 19 (without UPDATE_DEVICE_STATS permission) and earlier
-                // (regardless or permissions).
-                reportFullyDrawn()
-            }
-        }
-    }
-}
-
-class ReportFullyDrawnActivity : ComponentActivity()
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt
deleted file mode 100644
index fd86230..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.content.Intent
-import android.os.Bundle
-import androidx.activity.result.ActivityResultRegistry
-import androidx.activity.result.contract.ActivityResultContract
-import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
-import androidx.core.app.ActivityOptionsCompat
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivityResultTest {
-    @Test
-    fun launchInOnCreate() {
-        ActivityScenario.launch(ResultComponentActivity::class.java).use { scenario ->
-            val launchCount = scenario.withActivity { this.registryLaunchCount }
-            assertThat(launchCount).isEqualTo(1)
-        }
-    }
-}
-
-class ResultComponentActivity : ComponentActivity() {
-    var registryLaunchCount = 0
-
-    val registry = object : ActivityResultRegistry() {
-
-        override fun <I : Any?, O : Any?> onLaunch(
-            requestCode: Int,
-            contract: ActivityResultContract<I, O>,
-            input: I,
-            options: ActivityOptionsCompat?
-        ) {
-            registryLaunchCount++
-        }
-    }
-
-    val launcher = registerForActivityResult(StartActivityForResult(), registry) { }
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-
-        launcher.launch(Intent())
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
deleted file mode 100644
index acd7813..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.os.Bundle
-import androidx.lifecycle.LifecycleEventObserver
-import androidx.savedstate.SavedStateRegistry
-import androidx.savedstate.SavedStateRegistryOwner
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivityRunOnNextRecreateTest {
-
-    private class Restarted2 : SavedStateRegistry.AutoRecreated {
-        override fun onRecreated(owner: SavedStateRegistryOwner) {
-            (owner as? AutoRestarterActivity)?.restartedValue = "restarted"
-        }
-    }
-
-    @Test
-    fun test() {
-        with(ActivityScenario.launch(AutoRestarterActivity::class.java)) {
-            withActivity {
-                savedStateRegistry.runOnNextRecreation(Restarted2::class.java)
-            }
-            recreate()
-            assertThat(withActivity { observerExecuted }).isTrue()
-        }
-    }
-}
-
-class AutoRestarterActivity : ComponentActivity() {
-    var restartedValue: String? = null
-    var observerExecuted = false
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        if (savedInstanceState != null) {
-            lifecycle.addObserver(
-                LifecycleEventObserver { _, _ ->
-                    assertThat(restartedValue).isEqualTo("restarted")
-                    observerExecuted = true
-                }
-            )
-        }
-    }
-}
\ No newline at end of file
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt
deleted file mode 100644
index 7c1c691..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.os.Bundle
-import androidx.lifecycle.Lifecycle
-import androidx.savedstate.SavedStateRegistry
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import org.junit.After
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivitySavedStateTest {
-
-    @After
-    fun clear() {
-        SavedStateActivity.checkEnabledInOnCreate = false
-    }
-
-    private fun ActivityScenario<SavedStateActivity>.initializeSavedState() = withActivity {
-        assertThat(lifecycle.currentState.isAtLeast(Lifecycle.State.CREATED)).isTrue()
-        val registry = savedStateRegistry
-        val savedState = registry.consumeRestoredStateForKey(CALLBACK_KEY)
-        assertThat(savedState).isNull()
-        registry.registerSavedStateProvider(CALLBACK_KEY, DefaultProvider())
-    }
-
-    @Test
-    @Throws(Throwable::class)
-    fun savedState() {
-        with(ActivityScenario.launch(SavedStateActivity::class.java)) {
-            initializeSavedState()
-            recreate()
-            moveToState(Lifecycle.State.CREATED)
-            withActivity {
-                assertThat(lifecycle.currentState.isAtLeast(Lifecycle.State.CREATED)).isTrue()
-                checkDefaultSavedState(savedStateRegistry)
-            }
-        }
-    }
-
-    @Test
-    @Throws(Throwable::class)
-    fun savedStateLateInit() {
-        with(ActivityScenario.launch(SavedStateActivity::class.java)) {
-            initializeSavedState()
-            recreate()
-            withActivity {
-                checkDefaultSavedState(savedStateRegistry)
-            }
-        }
-    }
-
-    @Test
-    @Throws(Throwable::class)
-    fun savedStateEarlyRegisterOnCreate() {
-        with(ActivityScenario.launch(SavedStateActivity::class.java)) {
-            initializeSavedState()
-            SavedStateActivity.checkEnabledInOnCreate = true
-            recreate()
-        }
-    }
-
-    @Test
-    @Throws(Throwable::class)
-    fun savedStateEarlyRegisterOnContextAvailable() {
-        with(ActivityScenario.launch(SavedStateActivity::class.java)) {
-            initializeSavedState()
-            SavedStateActivity.checkEnabledInOnContextAvailable = true
-            recreate()
-        }
-    }
-}
-
-private class DefaultProvider : SavedStateRegistry.SavedStateProvider {
-    override fun saveState() = Bundle().apply { putString(KEY, VALUE) }
-}
-
-private const val KEY = "key"
-private const val VALUE = "value"
-private const val CALLBACK_KEY = "foo"
-
-private fun checkDefaultSavedState(store: SavedStateRegistry) {
-    val savedState = store.consumeRestoredStateForKey(CALLBACK_KEY)
-    assertThat(savedState).isNotNull()
-    assertThat(savedState!!.getString(KEY)).isEqualTo(VALUE)
-}
-
-class SavedStateActivity : ComponentActivity() {
-
-    init {
-        addOnContextAvailableListener {
-            if (checkEnabledInOnContextAvailable) {
-                checkDefaultSavedState(savedStateRegistry)
-                checkEnabledInOnContextAvailable = false
-            }
-        }
-    }
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        if (checkEnabledInOnCreate) {
-            checkDefaultSavedState(savedStateRegistry)
-            checkEnabledInOnCreate = false
-        }
-    }
-
-    companion object {
-        internal var checkEnabledInOnCreate = false
-        internal var checkEnabledInOnContextAvailable = false
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
deleted file mode 100644
index 75b5142..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.app.Application
-import android.os.Bundle
-import androidx.lifecycle.AndroidViewModel
-import androidx.lifecycle.SavedStateHandle
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.ViewModelStore
-import androidx.test.annotation.UiThreadTest
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ComponentActivityViewModelTest {
-
-    @Test(expected = IllegalStateException::class)
-    @UiThreadTest
-    fun testNotAttachedActivity() {
-        // This is similar to calling getViewModelStore in Activity's constructor
-        ComponentActivity().viewModelStore
-    }
-
-    @Test
-    fun testSameViewModelStorePrePostOnCreate() {
-        with(ActivityScenario.launch(ViewModelActivity::class.java)) {
-            val originalStore = withActivity { preOnCreateViewModelStore }
-            assertWithMessage(
-                "Pre-onCreate() ViewModelStore should equal the post-onCreate() ViewModelStore"
-            )
-                .that(originalStore)
-                .isSameInstanceAs(withActivity { postOnCreateViewModelStore })
-
-            recreate()
-
-            assertThat(withActivity { preOnCreateViewModelStore })
-                .isSameInstanceAs(originalStore)
-            assertThat(withActivity { postOnCreateViewModelStore })
-                .isSameInstanceAs(originalStore)
-        }
-    }
-
-    @Test
-    fun testSameActivityViewModels() {
-        with(ActivityScenario.launch(ViewModelActivity::class.java)) {
-            val activityModel = withActivity { activityModel }
-            val defaultActivityModel = withActivity { defaultActivityModel }
-            assertThat(defaultActivityModel).isNotSameInstanceAs(activityModel)
-
-            recreate()
-
-            assertThat(withActivity { activityModel })
-                .isSameInstanceAs(activityModel)
-            assertThat(withActivity { defaultActivityModel })
-                .isSameInstanceAs(defaultActivityModel)
-        }
-    }
-
-    @Test
-    @Throws(Throwable::class)
-    fun testActivityOnCleared() {
-        lateinit var activityModel: TestViewModel
-        lateinit var defaultActivityModel: TestViewModel
-        lateinit var androidModel: TestAndroidViewModel
-        lateinit var savedStateModel: TestSavedStateViewModel
-        ActivityScenario.launch(ViewModelActivity::class.java).use { scenario ->
-            activityModel = scenario.withActivity { this.activityModel }
-            defaultActivityModel = scenario.withActivity { this.defaultActivityModel }
-            androidModel = scenario.withActivity { this.androidModel }
-            savedStateModel = scenario.withActivity { this.savedStateModel }
-        }
-        assertThat(activityModel.cleared).isTrue()
-        assertThat(defaultActivityModel.cleared).isTrue()
-        assertThat(androidModel.cleared).isTrue()
-        assertThat(savedStateModel.cleared).isTrue()
-    }
-
-    @Test
-    fun testViewModelsAfterOnResume() {
-        val scenario = ActivityScenario.launch(ResumeViewModelActivity::class.java)
-        with(scenario) {
-            val vm = withActivity { viewModel }
-            recreate()
-            assertThat(withActivity { viewModel }).isSameInstanceAs(vm)
-        }
-    }
-}
-
-class ViewModelActivity : ComponentActivity() {
-
-    companion object {
-        const val KEY_ACTIVITY_MODEL = "activity-model"
-    }
-
-    lateinit var preOnCreateViewModelStore: ViewModelStore
-    lateinit var postOnCreateViewModelStore: ViewModelStore
-    lateinit var activityModel: TestViewModel
-    lateinit var defaultActivityModel: TestViewModel
-    lateinit var androidModel: TestAndroidViewModel
-    lateinit var savedStateModel: TestSavedStateViewModel
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        preOnCreateViewModelStore = viewModelStore
-        super.onCreate(savedInstanceState)
-        postOnCreateViewModelStore = viewModelStore
-
-        val viewModelProvider = ViewModelProvider(this)
-        activityModel = viewModelProvider.get(KEY_ACTIVITY_MODEL, TestViewModel::class.java)
-        defaultActivityModel = viewModelProvider.get(TestViewModel::class.java)
-        androidModel = viewModelProvider.get(TestAndroidViewModel::class.java)
-        savedStateModel = viewModelProvider.get(TestSavedStateViewModel::class.java)
-    }
-}
-
-class TestViewModel : ViewModel() {
-    var cleared = false
-
-    override fun onCleared() {
-        cleared = true
-    }
-}
-
-class TestAndroidViewModel(application: Application) : AndroidViewModel(application) {
-    var cleared = false
-
-    override fun onCleared() {
-        cleared = true
-    }
-}
-
-@Suppress("unused")
-class TestSavedStateViewModel(val savedStateHandle: SavedStateHandle) : ViewModel() {
-    var cleared = false
-
-    override fun onCleared() {
-        cleared = true
-    }
-}
-
-class ResumeViewModelActivity : ComponentActivity() {
-    lateinit var viewModel: TestViewModel
-
-    override fun onResume() {
-        super.onResume()
-        viewModel = ViewModelProvider(this).get(TestViewModel::class.java)
-    }
-}
\ No newline at end of file
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt
deleted file mode 100644
index 830c798..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.view.View
-import android.view.ViewGroup
-import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
-import android.widget.TextView
-import androidx.activity.test.R
-import androidx.lifecycle.ViewTreeLifecycleOwner
-import androidx.lifecycle.ViewTreeViewModelStoreOwner
-import androidx.savedstate.ViewTreeSavedStateRegistryOwner
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertThat
-import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class ContentViewTest {
-
-    @Test
-    fun testLifecycleObserver() {
-        with(ActivityScenario.launch(ContentViewActivity::class.java)) {
-            val inflatedTextView: TextView = withActivity { findViewById(R.id.inflated_text_view) }
-            assertThat(inflatedTextView)
-                .isNotNull()
-        }
-    }
-
-    @Test
-    fun testViewTreeInflation() {
-        with(ActivityScenario.launch(ContentViewActivity::class.java)) {
-            val inflatedTextView: TextView = withActivity { findViewById(R.id.inflated_text_view) }
-
-            withActivity {
-                assertWithMessage("inflated view has correct ViewTreeLifecycleOwner")
-                    .that(ViewTreeLifecycleOwner.get(inflatedTextView))
-                    .isSameInstanceAs(this@withActivity)
-                assertWithMessage("inflated view has correct ViewTreeViewModelStoreOwner")
-                    .that(ViewTreeViewModelStoreOwner.get(inflatedTextView))
-                    .isSameInstanceAs(this@withActivity)
-                assertWithMessage("inflated view has correct ViewTreeSavedStateRegistryOwner")
-                    .that(ViewTreeSavedStateRegistryOwner.get(inflatedTextView))
-                    .isSameInstanceAs(this@withActivity)
-            }
-        }
-    }
-
-    @Test
-    fun testViewTreeAttachment() {
-        runAttachTest("setContentView view only") { setContentView(it) }
-        runAttachTest("setContentView with LayoutParams") {
-            setContentView(it, ViewGroup.LayoutParams(WRAP_CONTENT, WRAP_CONTENT))
-        }
-        runAttachTest("addContentView") {
-            addContentView(it, ViewGroup.LayoutParams(WRAP_CONTENT, WRAP_CONTENT))
-        }
-    }
-
-    private fun runAttachTest(
-        message: String,
-        attach: ComponentActivity.(View) -> Unit
-    ) {
-        with(ActivityScenario.launch(EmptyContentActivity::class.java)) {
-            withActivity {
-                val view = View(this)
-
-                var attachedLifecycleOwner: Any? = "did not attach"
-                var attachedViewModelStoreOwner: Any? = "did not attach"
-                var attachedSavedStateRegistryOwner: Any? = "did not attach"
-                view.addOnAttachStateChangeListener(object : View.OnAttachStateChangeListener {
-                    override fun onViewDetachedFromWindow(v: View?) {
-                        // Do nothing
-                    }
-
-                    override fun onViewAttachedToWindow(v: View?) {
-                        attachedLifecycleOwner = ViewTreeLifecycleOwner.get(view)
-                        attachedViewModelStoreOwner = ViewTreeViewModelStoreOwner.get(view)
-                        attachedSavedStateRegistryOwner = ViewTreeSavedStateRegistryOwner.get(view)
-                    }
-                })
-                attach(view)
-                assertWithMessage("$message: ViewTreeLifecycleOwner was set correctly")
-                    .that(attachedLifecycleOwner).isSameInstanceAs(this)
-                assertWithMessage("$message: ViewTreeViewModelStoreOwner was set correctly")
-                    .that(attachedViewModelStoreOwner).isSameInstanceAs(this)
-                assertWithMessage("$message: ViewTreeSavedStateRegistryOwner was set correctly")
-                    .that(attachedSavedStateRegistryOwner).isSameInstanceAs(this)
-            }
-        }
-    }
-}
-
-class ContentViewActivity : ComponentActivity(R.layout.activity_inflates_res)
-class EmptyContentActivity : ComponentActivity()
diff --git a/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt b/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt
deleted file mode 100644
index 7769420..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.app.Application
-import leakcanary.LeakCanary
-import shark.AndroidReferenceMatchers
-import shark.ReferenceMatcher
-
-class LeakCanaryApp : Application() {
-    override fun onCreate() {
-        super.onCreate()
-        @Suppress("UNCHECKED_CAST")
-        LeakCanary.config = LeakCanary.config.copy(
-            referenceMatchers = (
-                AndroidReferenceMatchers.appDefaults - AndroidReferenceMatchers
-                    .INPUT_METHOD_MANAGER_IS_TERRIBLE
-                ) as List<ReferenceMatcher>
-        )
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt b/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt
deleted file mode 100644
index f324886..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import android.os.Bundle
-import android.view.ViewGroup
-import android.view.ViewGroup.LayoutParams.MATCH_PARENT
-import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
-import android.widget.EditText
-import android.widget.LinearLayout
-import android.widget.TextView
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-
-@LargeTest
-@RunWith(AndroidJUnit4::class)
-class LeakInputMethodManagerTest {
-
-    @Suppress("DEPRECATION")
-    @get:Rule
-    val activityRule = androidx.test.rule.ActivityTestRule(LeakingActivity::class.java)
-
-    @Test
-    fun leakThroughRemovedEditText() {
-        activityRule.runOnUiThread {
-            activityRule.activity.removeEditText()
-        }
-        activityRule.activity.blockingFinish()
-    }
-}
-
-class LeakingActivity : ComponentActivity() {
-    private val timeout = 10L // sec
-    private val latch = CountDownLatch(1)
-    private lateinit var editText: EditText
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        val layout = LinearLayout(this)
-        layout.orientation = LinearLayout.VERTICAL
-        editText = EditText(this)
-        layout.addView(editText, ViewGroup.LayoutParams(MATCH_PARENT, WRAP_CONTENT))
-        layout.addView(TextView(this), ViewGroup.LayoutParams(MATCH_PARENT, WRAP_CONTENT))
-        setContentView(layout)
-    }
-
-    fun blockingFinish() {
-        finish()
-        latch.await(timeout, TimeUnit.SECONDS)
-    }
-
-    fun removeEditText() = (editText.parent as ViewGroup).removeView(editText)
-
-    override fun onDestroy() {
-        super.onDestroy()
-        latch.countDown()
-    }
-}
\ No newline at end of file
diff --git a/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt b/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
deleted file mode 100644
index a57afce..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity
-
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.testing.TestLifecycleOwner
-import androidx.test.annotation.UiThreadTest
-import androidx.test.core.app.ActivityScenario
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.LargeTest
-import androidx.test.filters.SmallTest
-import androidx.testutils.withActivity
-import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class OnBackPressedHandlerTest {
-
-    private var fallbackCount = 0
-    lateinit var dispatcher: OnBackPressedDispatcher
-
-    @Before
-    fun setup() {
-        fallbackCount = 0
-        dispatcher = OnBackPressedDispatcher {
-            fallbackCount++
-        }
-    }
-
-    @UiThreadTest
-    @Test
-    fun testFallbackRunnable() {
-        assertWithMessage("Dispatcher should have no enabled callbacks by default")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-        dispatcher.onBackPressed()
-        assertWithMessage("Fallback count should be incremented when there's no enabled callbacks")
-            .that(fallbackCount)
-            .isEqualTo(1)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testAddCallback() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-
-        dispatcher.addCallback(onBackPressedCallback)
-        assertWithMessage("Handler should return true once a callback is added")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-        dispatcher.onBackPressed()
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Fallback count should not be incremented")
-            .that(fallbackCount)
-            .isEqualTo(0)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testRemove() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-
-        dispatcher.addCallback(onBackPressedCallback)
-        assertWithMessage("Handler should return true once a callback is added")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-        dispatcher.onBackPressed()
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Fallback count should not be incremented")
-            .that(fallbackCount)
-            .isEqualTo(0)
-
-        onBackPressedCallback.remove()
-        assertWithMessage(
-            "Handler should return false when no OnBackPressedCallbacks " +
-                "are registered"
-        )
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-        dispatcher.onBackPressed()
-        // Check that the count still equals 1
-        assertWithMessage("Count shouldn't be incremented after removal")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Fallback count should be incremented")
-            .that(fallbackCount)
-            .isEqualTo(1)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testRemoveInCallback() {
-        val onBackPressedCallback = object : CountingOnBackPressedCallback() {
-            override fun handleOnBackPressed() {
-                super.handleOnBackPressed()
-                remove()
-            }
-        }
-
-        dispatcher.addCallback(onBackPressedCallback)
-        assertWithMessage("Handler should return true once a callback is added")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-        dispatcher.onBackPressed()
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-
-        assertWithMessage(
-            "Handler should return false when no OnBackPressedCallbacks " +
-                "are registered"
-        )
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-        dispatcher.onBackPressed()
-        // Check that the count still equals 1
-        assertWithMessage("Count shouldn't be incremented after removal")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testMultipleCalls() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-
-        dispatcher.addCallback(onBackPressedCallback)
-        assertWithMessage("Handler should return true once a callback is added")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-        dispatcher.onBackPressed()
-        dispatcher.onBackPressed()
-        assertWithMessage("Count should be incremented after each onBackPressed")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(2)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testMostRecentGetsPriority() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-        val mostRecentOnBackPressedCallback = CountingOnBackPressedCallback()
-
-        dispatcher.addCallback(onBackPressedCallback)
-        dispatcher.addCallback(mostRecentOnBackPressedCallback)
-        dispatcher.onBackPressed()
-        assertWithMessage("Most recent callback should be incremented")
-            .that(mostRecentOnBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Only the most recent callback should be incremented")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(0)
-        assertWithMessage("Fallback count should not be incremented")
-            .that(fallbackCount)
-            .isEqualTo(0)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testDisabledListener() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-        val disabledOnBackPressedCallback = CountingOnBackPressedCallback(enabled = false)
-
-        dispatcher.addCallback(onBackPressedCallback)
-        dispatcher.addCallback(disabledOnBackPressedCallback)
-        dispatcher.onBackPressed()
-        assertWithMessage("Disabled callbacks should not be incremented")
-            .that(disabledOnBackPressedCallback.count)
-            .isEqualTo(0)
-        assertWithMessage(
-            "Previous callbacks should be incremented if more recent callbacks " +
-                "were disabled"
-        )
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Fallback count should not be incremented")
-            .that(fallbackCount)
-            .isEqualTo(0)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testPassthroughListener() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-        val passThroughOnBackPressedCallback = object : CountingOnBackPressedCallback() {
-            override fun handleOnBackPressed() {
-                super.handleOnBackPressed()
-                // Trigger the next listener
-                isEnabled = false
-                dispatcher.onBackPressed()
-            }
-        }
-
-        dispatcher.addCallback(onBackPressedCallback)
-        dispatcher.addCallback(passThroughOnBackPressedCallback)
-        dispatcher.onBackPressed()
-        assertWithMessage("Most recent callback should be incremented")
-            .that(passThroughOnBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage(
-            "Previous callbacks should be incremented if more recent callbacks " +
-                "disabled itself and called onBackPressed()"
-        )
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Fallback count should not be incremented")
-            .that(fallbackCount)
-            .isEqualTo(0)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testLifecycleCallback() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-        val lifecycleOnBackPressedCallback = CountingOnBackPressedCallback()
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-
-        dispatcher.addCallback(onBackPressedCallback)
-        dispatcher.addCallback(lifecycleOwner, lifecycleOnBackPressedCallback)
-        dispatcher.onBackPressed()
-        assertWithMessage("Non-started callbacks shouldn't have their count incremented")
-            .that(lifecycleOnBackPressedCallback.count)
-            .isEqualTo(0)
-        assertWithMessage(
-            "Previous callbacks should be incremented if more recent callbacks " +
-                "aren't started"
-        )
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-
-        // Now start the Lifecycle
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_START)
-        dispatcher.onBackPressed()
-        assertWithMessage("Once the callbacks is started, the count should increment")
-            .that(lifecycleOnBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage("Only the most recent callback should be incremented")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-
-        // Now stop the Lifecycle
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_STOP)
-        dispatcher.onBackPressed()
-        assertWithMessage("Non-started callbacks shouldn't have their count incremented")
-            .that(lifecycleOnBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage(
-            "Previous callbacks should be incremented if more recent callbacks " +
-                "aren't started"
-        )
-            .that(onBackPressedCallback.count)
-            .isEqualTo(2)
-
-        // Now destroy the Lifecycle
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
-        dispatcher.onBackPressed()
-        assertWithMessage("Non-started callbacks shouldn't have their count incremented")
-            .that(lifecycleOnBackPressedCallback.count)
-            .isEqualTo(1)
-        assertWithMessage(
-            "Previous callbacks should be incremented if more recent callbacks " +
-                "aren't started"
-        )
-            .that(onBackPressedCallback.count)
-            .isEqualTo(3)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testLifecycleRemoveInCallback() {
-        val onBackPressedCallback = object : CountingOnBackPressedCallback() {
-            override fun handleOnBackPressed() {
-                super.handleOnBackPressed()
-                remove()
-            }
-        }
-        val lifecycleOwner = TestLifecycleOwner()
-
-        dispatcher.addCallback(lifecycleOwner, onBackPressedCallback)
-        assertWithMessage("Handler should return true once a callback is added")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isTrue()
-        dispatcher.onBackPressed()
-        assertWithMessage("Count should be incremented after onBackPressed")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-
-        assertWithMessage(
-            "Handler should return false when no OnBackPressedCallbacks " +
-                "are registered"
-        )
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-        dispatcher.onBackPressed()
-        // Check that the count still equals 1
-        assertWithMessage("Count shouldn't be incremented after removal")
-            .that(onBackPressedCallback.count)
-            .isEqualTo(1)
-    }
-
-    @UiThreadTest
-    @Test
-    fun testLifecycleCallbackDestroyed() {
-        val onBackPressedCallback = CountingOnBackPressedCallback()
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.CREATED)
-
-        dispatcher.addCallback(lifecycleOwner, onBackPressedCallback)
-        assertWithMessage("Non-started callbacks shouldn't appear as an enabled dispatcher")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-
-        // Now destroy the Lifecycle
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
-        assertWithMessage("Destroyed callbacks shouldn't appear as an enabled dispatcher")
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-
-        // Now start the Lifecycle - this wouldn't happen in a real Lifecycle since DESTROYED
-        // is terminal but serves as a good test to make sure the Observer is cleaned up
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_START)
-        assertWithMessage(
-            "Previously destroyed callbacks shouldn't appear as an enabled " +
-                "dispatcher"
-        )
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-    }
-
-    @UiThreadTest
-    @Test
-    fun testLifecycleCallback_whenDestroyed() {
-        val lifecycleOnBackPressedCallback = CountingOnBackPressedCallback()
-
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.DESTROYED)
-
-        dispatcher.addCallback(lifecycleOwner, lifecycleOnBackPressedCallback)
-
-        assertWithMessage(
-            "Handler should return false when no OnBackPressedCallbacks " +
-                "are registered"
-        )
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-
-        // Now start the Lifecycle - this wouldn't happen in a real Lifecycle since DESTROYED
-        // is terminal but serves as a good test to make sure no lingering Observer exists
-        lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_START)
-        assertWithMessage(
-            "Previously destroyed callbacks shouldn't appear as an enabled " +
-                "dispatcher"
-        )
-            .that(dispatcher.hasEnabledCallbacks())
-            .isFalse()
-    }
-
-    /**
-     * Test to ensure that manually calling [ComponentActivity.onBackPressed] after
-     * [ComponentActivity.onSaveInstanceState] does not cause an exception.
-     */
-    @LargeTest
-    @Test
-    fun testCallOnBackPressedWhenStopped() {
-        with(ActivityScenario.launch(ContentViewActivity::class.java)) {
-            val realDispatcher = withActivity { onBackPressedDispatcher }
-            moveToState(Lifecycle.State.CREATED)
-            withActivity { realDispatcher.onBackPressed() }
-        }
-    }
-}
-
-open class CountingOnBackPressedCallback(
-    enabled: Boolean = true
-) : OnBackPressedCallback(enabled) {
-    var count = 0
-
-    override fun handleOnBackPressed() {
-        count++
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt b/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
deleted file mode 100644
index 424d646..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.contextaware
-
-import android.content.Context
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class ContextAwareHelperTest {
-    private val contextAware = TestContextAware()
-
-    @Test
-    fun addOnContextAvailableListener() {
-        var callbackCount = 0
-        val listener = OnContextAvailableListener {
-            callbackCount++
-        }
-        contextAware.addOnContextAvailableListener(listener)
-        assertThat(contextAware.peekAvailableContext()).isNull()
-        contextAware.dispatchOnContextAvailable()
-
-        assertThat(callbackCount).isEqualTo(1)
-        assertThat(contextAware.peekAvailableContext()).isNotNull()
-    }
-
-    @Test
-    fun removeOnContextAvailableListener() {
-        var callbackCount = 0
-        val listener = OnContextAvailableListener {
-            callbackCount++
-        }
-        contextAware.addOnContextAvailableListener(listener)
-        contextAware.dispatchOnContextAvailable()
-
-        assertThat(callbackCount).isEqualTo(1)
-
-        // Now remove the listener and check that the count doesn't increase
-        contextAware.removeOnContextAvailableListener(listener)
-        contextAware.dispatchOnContextAvailable()
-
-        assertThat(callbackCount).isEqualTo(1)
-    }
-
-    @Test
-    fun reentrantRemove() {
-        var callbackCount = 0
-        val listener = object : OnContextAvailableListener {
-            override fun onContextAvailable(context: Context) {
-                callbackCount++
-                contextAware.removeOnContextAvailableListener(this)
-            }
-        }
-        contextAware.addOnContextAvailableListener(listener)
-        contextAware.dispatchOnContextAvailable()
-
-        assertThat(callbackCount).isEqualTo(1)
-
-        callbackCount = 0
-        contextAware.dispatchOnContextAvailable()
-
-        assertThat(callbackCount).isEqualTo(0)
-    }
-
-    @Test
-    fun postAvailableAddOnContextAvailableListener() {
-        contextAware.dispatchOnContextAvailable()
-        var callbackCount = 0
-        val listener = OnContextAvailableListener {
-            callbackCount++
-        }
-        contextAware.addOnContextAvailableListener(listener)
-
-        assertThat(callbackCount).isEqualTo(1)
-    }
-
-    @Test
-    fun postClearAddOnContextAvailableListener() {
-        contextAware.dispatchOnContextAvailable()
-        contextAware.clearAvailableContext()
-        var callbackCount = 0
-        val listener = OnContextAvailableListener {
-            callbackCount++
-        }
-        contextAware.addOnContextAvailableListener(listener)
-
-        assertThat(callbackCount).isEqualTo(0)
-    }
-}
-
-class TestContextAware : ContextAware {
-    private val contextAwareHelper = ContextAwareHelper()
-
-    override fun peekAvailableContext() = contextAwareHelper.peekAvailableContext()
-
-    override fun addOnContextAvailableListener(listener: OnContextAvailableListener) {
-        contextAwareHelper.addOnContextAvailableListener(listener)
-    }
-
-    override fun removeOnContextAvailableListener(listener: OnContextAvailableListener) {
-        contextAwareHelper.removeOnContextAvailableListener(listener)
-    }
-
-    fun dispatchOnContextAvailable() {
-        contextAwareHelper.dispatchOnContextAvailable(
-            ApplicationProvider.getApplicationContext()
-        )
-    }
-
-    fun clearAvailableContext() {
-        contextAwareHelper.clearAvailableContext()
-    }
-}
\ No newline at end of file
diff --git a/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt b/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt
deleted file mode 100644
index f6240cc..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import android.content.Intent
-import android.graphics.Rect
-import androidx.activity.result.contract.ActivityResultContract
-import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
-import androidx.core.app.ActivityOptionsCompat
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.MediumTest
-import androidx.test.filters.SdkSuppress
-import com.google.common.truth.Truth.assertThat
-import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@MediumTest
-@RunWith(AndroidJUnit4::class)
-class ActivityResultLauncherTest {
-    private val registry = object : ActivityResultRegistry() {
-        var invokeCount = 0
-        var invokeOptions: ActivityOptionsCompat? = null
-
-        override fun <I : Any?, O : Any?> onLaunch(
-            requestCode: Int,
-            contract: ActivityResultContract<I, O>,
-            input: I,
-            options: ActivityOptionsCompat?
-        ) {
-            invokeCount++
-            invokeOptions = options
-        }
-    }
-
-    @Test
-    fun launchTest() {
-        val launcher = registry.register("key", StartActivityForResult()) {}
-
-        launcher.launch(Intent())
-
-        assertWithMessage("the registry was not invoked")
-            .that(registry.invokeCount)
-            .isEqualTo(1)
-
-        assertWithMessage("the options passed to invoke were not null")
-            .that(registry.invokeOptions)
-            .isNull()
-    }
-
-    @SdkSuppress(minSdkVersion = 24) // Before API 24 getLaunchBounds returns null
-    @Test
-    fun launchWithOptionsTest() {
-        val launcher = registry.register("key", StartActivityForResult()) {}
-
-        val options = ActivityOptionsCompat.makeBasic()
-        options.launchBounds = Rect().apply {
-            left = 1
-        }
-
-        launcher.launch(Intent(), options)
-
-        assertWithMessage("the registry was not invoked")
-            .that(registry.invokeCount)
-            .isEqualTo(1)
-
-        assertWithMessage("the options passed to invoke were null")
-            .that(registry.invokeOptions)
-            .isNotNull()
-
-        assertWithMessage("the options passed to invoke did not match")
-            .that(registry.invokeOptions?.launchBounds?.left)
-            .isEqualTo(1)
-    }
-
-    @Test
-    fun getContractTest() {
-        val contract = StartActivityForResult()
-        val launcher = registry.register("key", contract) {}
-
-        assertThat(contract).isSameInstanceAs(launcher.contract)
-    }
-}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt b/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
deleted file mode 100644
index afb2ff0..0000000
--- a/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result
-
-import android.app.Activity.RESULT_OK
-import android.content.Intent
-import android.os.Bundle
-import androidx.activity.result.contract.ActivityResultContract
-import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
-import androidx.activity.result.contract.ActivityResultContracts.TakePicture
-import androidx.activity.result.contract.ActivityResultContracts.TakePicturePreview
-import androidx.core.app.ActivityOptionsCompat
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.testing.TestLifecycleOwner
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.MediumTest
-import com.google.common.truth.Truth.assertThat
-import org.junit.Assert.fail
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@MediumTest
-@RunWith(AndroidJUnit4::class)
-class ActivityResultRegistryTest {
-    private val registry = object : ActivityResultRegistry() {
-        override fun <I : Any?, O : Any?> onLaunch(
-            requestCode: Int,
-            contract: ActivityResultContract<I, O>,
-            input: I,
-            options: ActivityOptionsCompat?
-        ) {
-            dispatchResult(requestCode, RESULT_OK, Intent())
-        }
-    }
-
-    @Test
-    fun testRegisterLifecycleOwnerCallback() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-        var resultReturned = false
-
-        // register for the result
-        val activityResult = registry.register(
-            "test", lifecycleOwner,
-            TakePicturePreview(),
-            ActivityResultCallback {
-                resultReturned = true
-            }
-        )
-
-        // move the state to started
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-
-        // launch the result
-        activityResult.launch(null)
-
-        assertThat(resultReturned).isTrue()
-    }
-
-    @Test
-    fun testLifecycleOwnerCallbackRestoredThenStarted() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.CREATED)
-
-        // register for the result
-        val activityResult = registry.register(
-            "test", lifecycleOwner,
-            TakePicturePreview(), ActivityResultCallback {}
-        )
-
-        // saved the state of the registry
-        val state = Bundle()
-        registry.onSaveInstanceState(state)
-
-        // unregister the callback to simulate process death
-        activityResult.unregister()
-
-        // restore the state of the registry
-        registry.onRestoreInstanceState(state)
-
-        // launch the result
-        activityResult.launch(null)
-
-        var resultReturned = false
-        // re-register for the result that should have been saved
-        registry.register(
-            "test", lifecycleOwner, TakePicturePreview(),
-            ActivityResultCallback {
-                resultReturned = true
-            }
-        )
-
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-
-        assertThat(resultReturned).isTrue()
-    }
-
-    @Test
-    fun testLifecycleOwnerRegisterWhenStarted() {
-        val lifecycleOwner = TestLifecycleOwner()
-
-        try {
-            // register for the result
-            registry.register(
-                "test", lifecycleOwner,
-                TakePicturePreview(), ActivityResultCallback {}
-            )
-            fail("Registering for activity result after Lifecycle ON_CREATE should fail")
-        } catch (e: IllegalStateException) {
-            assertThat(e).hasMessageThat().contains(
-                "LifecycleOwner $lifecycleOwner is attempting to register while current state " +
-                    "is " + lifecycleOwner.currentState + ". LifecycleOwners must call " +
-                    "register before they are STARTED."
-            )
-        }
-    }
-
-    @Test
-    fun testLifecycleOwnerCallbackWhenStarted() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-
-        // register for the result
-        val activityResult = registry.register(
-            "test", lifecycleOwner,
-            TakePicturePreview(), ActivityResultCallback {}
-        )
-
-        // saved the state of the registry
-        val state = Bundle()
-        registry.onSaveInstanceState(state)
-
-        // unregister the callback to simulate process death
-        activityResult.unregister()
-
-        // restore the state of the registry
-        registry.onRestoreInstanceState(state)
-
-        var resultReturned = false
-        // re-register for the result that should have been saved
-        registry.register(
-            "test", lifecycleOwner, TakePicturePreview(),
-            ActivityResultCallback {
-                resultReturned = true
-            }
-        )
-
-        // launch the result
-        activityResult.launch(null)
-
-        // move to CREATED and make sure the callback is not fired
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        assertThat(resultReturned).isFalse()
-
-        // move to STARTED and make sure the callback fires
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isTrue()
-
-        // Reset back to CREATED
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        resultReturned = false
-
-        // Move back to STARTED and make sure the previously returned result
-        // isn't sent a second time
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isFalse()
-    }
-
-    @Test
-    fun testLifecycleOwnerCallbackWithDispatchResult() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-
-        val dispatchResultRegistry = object : ActivityResultRegistry() {
-            override fun <I : Any?, O : Any?> onLaunch(
-                requestCode: Int,
-                contract: ActivityResultContract<I, O>,
-                input: I,
-                options: ActivityOptionsCompat?
-            ) {
-                dispatchResult(requestCode, true)
-            }
-        }
-
-        var resultReturned = false
-        val activityResult = dispatchResultRegistry.register(
-            "test", lifecycleOwner, TakePicture(),
-            ActivityResultCallback {
-                resultReturned = true
-            }
-        )
-
-        // launch the result
-        activityResult.launch(null)
-
-        // move to CREATED and make sure the callback is not fired
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        assertThat(resultReturned).isFalse()
-
-        // move to STARTED and make sure the callback fires
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isTrue()
-
-        // Reset back to CREATED
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        resultReturned = false
-
-        // Move back to STARTED and make sure the previously returned result
-        // isn't sent a second time
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isFalse()
-    }
-
-    @Test
-    fun testLifecycleOwnerCallbackWithNullDispatchResult() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-
-        val dispatchResultRegistry = object : ActivityResultRegistry() {
-            override fun <I : Any?, O : Any?> onLaunch(
-                requestCode: Int,
-                contract: ActivityResultContract<I, O>,
-                input: I,
-                options: ActivityOptionsCompat?
-            ) {
-                dispatchResult(requestCode, null)
-            }
-        }
-
-        var resultReturned = false
-        val activityResult = dispatchResultRegistry.register(
-            "test", lifecycleOwner, TakePicturePreview(),
-            ActivityResultCallback {
-                resultReturned = true
-            }
-        )
-
-        // launch the result
-        activityResult.launch(null)
-
-        // move to CREATED and make sure the callback is not fired
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        assertThat(resultReturned).isFalse()
-
-        // move to STARTED and make sure the callback fires
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isTrue()
-
-        // Reset back to CREATED
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        resultReturned = false
-
-        // Move back to STARTED and make sure the previously returned result
-        // isn't sent a second time
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isFalse()
-    }
-
-    @Test
-    fun testLifecycleOwnerCallbackUnregistered() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-
-        // register for the result
-        val activityResult = registry.register(
-            "test", lifecycleOwner,
-            TakePicturePreview(), ActivityResultCallback {}
-        )
-
-        // saved the state of the registry
-        val state = Bundle()
-        registry.onSaveInstanceState(state)
-
-        // unregister the callback to simulate process death
-        activityResult.unregister()
-
-        // restore the state of the registry
-        registry.onRestoreInstanceState(state)
-
-        // launch the result
-        activityResult.launch(null)
-
-        var resultReturned = false
-        // re-register for the result that should have been saved
-        registry.register(
-            "test", lifecycleOwner, TakePicturePreview(),
-            ActivityResultCallback {
-                resultReturned = true
-            }
-        )
-
-        // move to CREATED and make sure the callback is not fired
-        lifecycleOwner.currentState = Lifecycle.State.CREATED
-        assertThat(resultReturned).isFalse()
-
-        // unregister the callback
-        registry.unregister("test")
-
-        // move to STARTED and make sure the callback is not fired
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-        assertThat(resultReturned).isFalse()
-    }
-
-    @Test
-    fun testUnregisterAfterSavedState() {
-        val lifecycleOwner = TestLifecycleOwner(Lifecycle.State.INITIALIZED)
-        var resultReturned = false
-        val activityResult = registry.register("key", lifecycleOwner, StartActivityForResult()) { }
-
-        activityResult.launch(null)
-
-        val savedState = Bundle()
-        registry.onSaveInstanceState(savedState)
-
-        registry.unregister("key")
-
-        val restoredRegistry = object : ActivityResultRegistry() {
-            override fun <I : Any?, O : Any?> onLaunch(
-                requestCode: Int,
-                contract: ActivityResultContract<I, O>,
-                input: I,
-                options: ActivityOptionsCompat?
-            ) {
-                dispatchResult(requestCode, RESULT_OK, Intent())
-            }
-        }
-
-        restoredRegistry.onRestoreInstanceState(savedState)
-
-        restoredRegistry.register("key", lifecycleOwner, StartActivityForResult()) {
-            resultReturned = true
-        }
-
-        lifecycleOwner.currentState = Lifecycle.State.STARTED
-
-        assertThat(resultReturned).isTrue()
-    }
-
-    @Test
-    fun testOnRestoreInstanceState() {
-        registry.register("key", StartActivityForResult()) {}
-
-        val savedState = Bundle()
-        registry.onSaveInstanceState(savedState)
-
-        registry.onRestoreInstanceState(savedState)
-    }
-
-    @Test
-    fun testOnRestoreInstanceStateNoKeys() {
-        registry.onRestoreInstanceState(Bundle())
-    }
-}
\ No newline at end of file
diff --git a/activity/activity/src/androidTest/res/layout/activity_inflates_res.xml b/activity/activity/src/androidTest/res/layout/activity_inflates_res.xml
deleted file mode 100644
index 1ab5faf..0000000
--- a/activity/activity/src/androidTest/res/layout/activity_inflates_res.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 2018 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<TextView
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:id="@+id/inflated_text_view"/>
diff --git a/activity/activity/src/main/AndroidManifest.xml b/activity/activity/src/main/AndroidManifest.xml
deleted file mode 100644
index 7086b5c..0000000
--- a/activity/activity/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<manifest package="androidx.activity">
-</manifest>
diff --git a/activity/activity/src/main/java/androidx/activity/Cancellable.java b/activity/activity/src/main/java/androidx/activity/Cancellable.java
deleted file mode 100644
index a5cb90a..0000000
--- a/activity/activity/src/main/java/androidx/activity/Cancellable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity;
-
-/**
- * Token representing a cancellable operation.
- */
-interface Cancellable {
-
-    /**
-     * Cancel the subscription. This call should be idempotent, making it safe to
-     * call multiple times.
-     */
-    void cancel();
-}
diff --git a/activity/activity/src/main/java/androidx/activity/ComponentActivity.java b/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
deleted file mode 100644
index 2c20d93..0000000
--- a/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
+++ /dev/null
@@ -1,716 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity;
-
-import static android.os.Build.VERSION.SDK_INT;
-
-import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions;
-import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions.ACTION_REQUEST_PERMISSIONS;
-import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSIONS;
-import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSION_GRANT_RESULTS;
-import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult;
-import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult.EXTRA_ACTIVITY_OPTIONS_BUNDLE;
-import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult;
-import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.ACTION_INTENT_SENDER_REQUEST;
-import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.EXTRA_INTENT_SENDER_REQUEST;
-import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.EXTRA_SEND_INTENT_EXCEPTION;
-
-import android.Manifest;
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentSender;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.text.TextUtils;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-
-import androidx.activity.contextaware.ContextAware;
-import androidx.activity.contextaware.ContextAwareHelper;
-import androidx.activity.contextaware.OnContextAvailableListener;
-import androidx.activity.result.ActivityResultCallback;
-import androidx.activity.result.ActivityResultCaller;
-import androidx.activity.result.ActivityResultLauncher;
-import androidx.activity.result.ActivityResultRegistry;
-import androidx.activity.result.ActivityResultRegistryOwner;
-import androidx.activity.result.IntentSenderRequest;
-import androidx.activity.result.contract.ActivityResultContract;
-import androidx.annotation.CallSuper;
-import androidx.annotation.ContentView;
-import androidx.annotation.LayoutRes;
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.app.ActivityCompat;
-import androidx.core.app.ActivityOptionsCompat;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.HasDefaultViewModelProviderFactory;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleEventObserver;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.lifecycle.ReportFragment;
-import androidx.lifecycle.SavedStateViewModelFactory;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.lifecycle.ViewModelStore;
-import androidx.lifecycle.ViewModelStoreOwner;
-import androidx.lifecycle.ViewTreeLifecycleOwner;
-import androidx.lifecycle.ViewTreeViewModelStoreOwner;
-import androidx.savedstate.SavedStateRegistry;
-import androidx.savedstate.SavedStateRegistryController;
-import androidx.savedstate.SavedStateRegistryOwner;
-import androidx.savedstate.ViewTreeSavedStateRegistryOwner;
-import androidx.tracing.Trace;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * Base class for activities that enables composition of higher level components.
- * <p>
- * Rather than all functionality being built directly into this class, only the minimal set of
- * lower level building blocks are included. Higher level components can then be used as needed
- * without enforcing a deep Activity class hierarchy or strong coupling between components.
- */
-public class ComponentActivity extends androidx.core.app.ComponentActivity implements
-        ContextAware,
-        LifecycleOwner,
-        ViewModelStoreOwner,
-        HasDefaultViewModelProviderFactory,
-        SavedStateRegistryOwner,
-        OnBackPressedDispatcherOwner,
-        ActivityResultRegistryOwner,
-        ActivityResultCaller {
-
-    static final class NonConfigurationInstances {
-        Object custom;
-        ViewModelStore viewModelStore;
-    }
-
-    final ContextAwareHelper mContextAwareHelper = new ContextAwareHelper();
-    private final LifecycleRegistry mLifecycleRegistry = new LifecycleRegistry(this);
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    final SavedStateRegistryController mSavedStateRegistryController =
-            SavedStateRegistryController.create(this);
-
-    // Lazily recreated from NonConfigurationInstances by getViewModelStore()
-    private ViewModelStore mViewModelStore;
-    private ViewModelProvider.Factory mDefaultFactory;
-
-    private final OnBackPressedDispatcher mOnBackPressedDispatcher =
-            new OnBackPressedDispatcher(new Runnable() {
-                @Override
-                public void run() {
-                    // Calling onBackPressed() on an Activity with its state saved can cause an
-                    // error on devices on API levels before 26. We catch that specific error and
-                    // throw all others.
-                    try {
-                        ComponentActivity.super.onBackPressed();
-                    } catch (IllegalStateException e) {
-                        if (!TextUtils.equals(e.getMessage(),
-                                "Can not perform this action after onSaveInstanceState")) {
-                            throw e;
-                        }
-                    }
-                }
-            });
-
-    @LayoutRes
-    private int mContentLayoutId;
-
-    private final AtomicInteger mNextLocalRequestCode = new AtomicInteger();
-
-    private ActivityResultRegistry mActivityResultRegistry = new ActivityResultRegistry() {
-
-        @Override
-        public <I, O> void onLaunch(
-                final int requestCode,
-                @NonNull ActivityResultContract<I, O> contract,
-                I input,
-                @Nullable ActivityOptionsCompat options) {
-            ComponentActivity activity = ComponentActivity.this;
-
-            // Immediate result path
-            final ActivityResultContract.SynchronousResult<O> synchronousResult =
-                    contract.getSynchronousResult(activity, input);
-            if (synchronousResult != null) {
-                new Handler(Looper.getMainLooper()).post(new Runnable() {
-                    @Override
-                    public void run() {
-                        dispatchResult(requestCode, synchronousResult.getValue());
-                    }
-                });
-                return;
-            }
-
-            // Start activity path
-            Intent intent = contract.createIntent(activity, input);
-            Bundle optionsBundle = null;
-            if (intent.hasExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE)) {
-                optionsBundle = intent.getBundleExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE);
-                intent.removeExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE);
-            } else if (options != null) {
-                optionsBundle = options.toBundle();
-            }
-            if (ACTION_REQUEST_PERMISSIONS.equals(intent.getAction())) {
-
-                // requestPermissions path
-                String[] permissions = intent.getStringArrayExtra(EXTRA_PERMISSIONS);
-
-                if (permissions == null) {
-                    return;
-                }
-
-                List<String> nonGrantedPermissions = new ArrayList<>();
-                for (String permission : permissions) {
-                    if (checkPermission(permission,
-                            android.os.Process.myPid(), android.os.Process.myUid())
-                            != PackageManager.PERMISSION_GRANTED) {
-                        nonGrantedPermissions.add(permission);
-                    }
-                }
-
-                if (!nonGrantedPermissions.isEmpty()) {
-                    ActivityCompat.requestPermissions(activity,
-                            nonGrantedPermissions.toArray(new String[0]), requestCode);
-                }
-            } else if (ACTION_INTENT_SENDER_REQUEST.equals(intent.getAction())) {
-                IntentSenderRequest request =
-                        intent.getParcelableExtra(EXTRA_INTENT_SENDER_REQUEST);
-                try {
-                    // startIntentSenderForResult path
-                    ActivityCompat.startIntentSenderForResult(activity, request.getIntentSender(),
-                            requestCode, request.getFillInIntent(), request.getFlagsMask(),
-                            request.getFlagsValues(), 0, optionsBundle);
-                } catch (final IntentSender.SendIntentException e) {
-                    new Handler(Looper.getMainLooper()).post(new Runnable() {
-                        @Override
-                        public void run() {
-                            dispatchResult(requestCode, RESULT_CANCELED,
-                                    new Intent().setAction(ACTION_INTENT_SENDER_REQUEST)
-                                            .putExtra(EXTRA_SEND_INTENT_EXCEPTION, e));
-                        }
-                    });
-                }
-            } else {
-                // startActivityForResult path
-                ActivityCompat.startActivityForResult(activity, intent, requestCode, optionsBundle);
-            }
-        }
-    };
-
-    /**
-     * Default constructor for ComponentActivity. All Activities must have a default constructor
-     * for API 27 and lower devices or when using the default
-     * {@link android.app.AppComponentFactory}.
-     */
-    public ComponentActivity() {
-        Lifecycle lifecycle = getLifecycle();
-        //noinspection ConstantConditions
-        if (lifecycle == null) {
-            throw new IllegalStateException("getLifecycle() returned null in ComponentActivity's "
-                    + "constructor. Please make sure you are lazily constructing your Lifecycle "
-                    + "in the first call to getLifecycle() rather than relying on field "
-                    + "initialization.");
-        }
-        if (Build.VERSION.SDK_INT >= 19) {
-            getLifecycle().addObserver(new LifecycleEventObserver() {
-                @Override
-                public void onStateChanged(@NonNull LifecycleOwner source,
-                        @NonNull Lifecycle.Event event) {
-                    if (event == Lifecycle.Event.ON_STOP) {
-                        Window window = getWindow();
-                        final View decor = window != null ? window.peekDecorView() : null;
-                        if (decor != null) {
-                            decor.cancelPendingInputEvents();
-                        }
-                    }
-                }
-            });
-        }
-        getLifecycle().addObserver(new LifecycleEventObserver() {
-            @Override
-            public void onStateChanged(@NonNull LifecycleOwner source,
-                    @NonNull Lifecycle.Event event) {
-                if (event == Lifecycle.Event.ON_DESTROY) {
-                    // Clear out the available context
-                    mContextAwareHelper.clearAvailableContext();
-                    // And clear the ViewModelStore
-                    if (!isChangingConfigurations()) {
-                        getViewModelStore().clear();
-                    }
-                }
-            }
-        });
-        getLifecycle().addObserver(new LifecycleEventObserver() {
-            @Override
-            public void onStateChanged(@NonNull LifecycleOwner source,
-                    @NonNull Lifecycle.Event event) {
-                ensureViewModelStore();
-                getLifecycle().removeObserver(this);
-            }
-        });
-
-        if (19 <= SDK_INT && SDK_INT <= 23) {
-            getLifecycle().addObserver(new ImmLeaksCleaner(this));
-        }
-    }
-
-    /**
-     * Alternate constructor that can be used to provide a default layout
-     * that will be inflated as part of <code>super.onCreate(savedInstanceState)</code>.
-     *
-     * <p>This should generally be called from your constructor that takes no parameters,
-     * as is required for API 27 and lower or when using the default
-     * {@link android.app.AppComponentFactory}.
-     *
-     * @see #ComponentActivity()
-     */
-    @ContentView
-    public ComponentActivity(@LayoutRes int contentLayoutId) {
-        this();
-        mContentLayoutId = contentLayoutId;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * If your ComponentActivity is annotated with {@link ContentView}, this will
-     * call {@link #setContentView(int)} for you.
-     */
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        // Restore the Saved State first so that it is available to
-        // OnContextAvailableListener instances
-        mSavedStateRegistryController.performRestore(savedInstanceState);
-        mContextAwareHelper.dispatchOnContextAvailable(this);
-        super.onCreate(savedInstanceState);
-        mActivityResultRegistry.onRestoreInstanceState(savedInstanceState);
-        ReportFragment.injectIfNeededIn(this);
-        if (mContentLayoutId != 0) {
-            setContentView(mContentLayoutId);
-        }
-    }
-
-    @CallSuper
-    @Override
-    protected void onSaveInstanceState(@NonNull Bundle outState) {
-        Lifecycle lifecycle = getLifecycle();
-        if (lifecycle instanceof LifecycleRegistry) {
-            ((LifecycleRegistry) lifecycle).setCurrentState(Lifecycle.State.CREATED);
-        }
-        super.onSaveInstanceState(outState);
-        mSavedStateRegistryController.performSave(outState);
-        mActivityResultRegistry.onSaveInstanceState(outState);
-    }
-
-    /**
-     * Retain all appropriate non-config state.  You can NOT
-     * override this yourself!  Use a {@link androidx.lifecycle.ViewModel} if you want to
-     * retain your own non config state.
-     */
-    @Override
-    @Nullable
-    @SuppressWarnings("deprecation")
-    public final Object onRetainNonConfigurationInstance() {
-        // Maintain backward compatibility.
-        Object custom = onRetainCustomNonConfigurationInstance();
-
-        ViewModelStore viewModelStore = mViewModelStore;
-        if (viewModelStore == null) {
-            // No one called getViewModelStore(), so see if there was an existing
-            // ViewModelStore from our last NonConfigurationInstance
-            NonConfigurationInstances nc =
-                    (NonConfigurationInstances) getLastNonConfigurationInstance();
-            if (nc != null) {
-                viewModelStore = nc.viewModelStore;
-            }
-        }
-
-        if (viewModelStore == null && custom == null) {
-            return null;
-        }
-
-        NonConfigurationInstances nci = new NonConfigurationInstances();
-        nci.custom = custom;
-        nci.viewModelStore = viewModelStore;
-        return nci;
-    }
-
-    /**
-     * Use this instead of {@link #onRetainNonConfigurationInstance()}.
-     * Retrieve later with {@link #getLastCustomNonConfigurationInstance()}.
-     *
-     * @deprecated Use a {@link androidx.lifecycle.ViewModel} to store non config state.
-     */
-    @Deprecated
-    @Nullable
-    public Object onRetainCustomNonConfigurationInstance() {
-        return null;
-    }
-
-    /**
-     * Return the value previously returned from
-     * {@link #onRetainCustomNonConfigurationInstance()}.
-     *
-     * @deprecated Use a {@link androidx.lifecycle.ViewModel} to store non config state.
-     */
-    @Deprecated
-    @Nullable
-    public Object getLastCustomNonConfigurationInstance() {
-        NonConfigurationInstances nc = (NonConfigurationInstances)
-                getLastNonConfigurationInstance();
-        return nc != null ? nc.custom : null;
-    }
-
-    @Override
-    public void setContentView(@LayoutRes int layoutResID) {
-        initViewTreeOwners();
-        super.setContentView(layoutResID);
-    }
-
-    @Override
-    public void setContentView(@SuppressLint({"UnknownNullness", "MissingNullability"}) View view) {
-        initViewTreeOwners();
-        super.setContentView(view);
-    }
-
-    @Override
-    public void setContentView(@SuppressLint({"UnknownNullness", "MissingNullability"}) View view,
-            @SuppressLint({"UnknownNullness", "MissingNullability"})
-                    ViewGroup.LayoutParams params) {
-        initViewTreeOwners();
-        super.setContentView(view, params);
-    }
-
-    @Override
-    public void addContentView(@SuppressLint({"UnknownNullness", "MissingNullability"}) View view,
-            @SuppressLint({"UnknownNullness", "MissingNullability"})
-                    ViewGroup.LayoutParams params) {
-        initViewTreeOwners();
-        super.addContentView(view, params);
-    }
-
-    private void initViewTreeOwners() {
-        // Set the view tree owners before setting the content view so that the inflation process
-        // and attach listeners will see them already present
-        ViewTreeLifecycleOwner.set(getWindow().getDecorView(), this);
-        ViewTreeViewModelStoreOwner.set(getWindow().getDecorView(), this);
-        ViewTreeSavedStateRegistryOwner.set(getWindow().getDecorView(), this);
-    }
-
-    @Nullable
-    @Override
-    public Context peekAvailableContext() {
-        return mContextAwareHelper.peekAvailableContext();
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Any listener added here will receive a callback as part of
-     * <code>super.onCreate()</code>, but importantly <strong>before</strong> any other
-     * logic is done (including calling through to the framework
-     * {@link Activity#onCreate(Bundle)} with the exception of restoring the state
-     * of the {@link #getSavedStateRegistry() SavedStateRegistry} for use in your listener.
-     */
-    @Override
-    public final void addOnContextAvailableListener(
-            @NonNull OnContextAvailableListener listener) {
-        mContextAwareHelper.addOnContextAvailableListener(listener);
-    }
-
-    @Override
-    public final void removeOnContextAvailableListener(
-            @NonNull OnContextAvailableListener listener) {
-        mContextAwareHelper.removeOnContextAvailableListener(listener);
-    }
-
-    /**
-     * {@inheritDoc}
-     * <p>
-     * Overriding this method is no longer supported and this method will be made
-     * <code>final</code> in a future version of ComponentActivity. If you do override
-     * this method, you <code>must</code>:
-     * <ol>
-     *     <li>Return an instance of {@link LifecycleRegistry}</li>
-     *     <li>Lazily initialize your LifecycleRegistry object when this is first called.
-     *     Note that this method will be called in the super classes' constructor, before any
-     *     field initialization or object state creation is complete.</li>
-     * </ol>
-     */
-    @NonNull
-    @Override
-    public Lifecycle getLifecycle() {
-        return mLifecycleRegistry;
-    }
-
-    /**
-     * Returns the {@link ViewModelStore} associated with this activity
-     * <p>
-     * Overriding this method is no longer supported and this method will be made
-     * <code>final</code> in a future version of ComponentActivity.
-     *
-     * @return a {@code ViewModelStore}
-     * @throws IllegalStateException if called before the Activity is attached to the Application
-     * instance i.e., before onCreate()
-     */
-    @NonNull
-    @Override
-    public ViewModelStore getViewModelStore() {
-        if (getApplication() == null) {
-            throw new IllegalStateException("Your activity is not yet attached to the "
-                    + "Application instance. You can't request ViewModel before onCreate call.");
-        }
-        ensureViewModelStore();
-        return mViewModelStore;
-    }
-
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    void ensureViewModelStore() {
-        if (mViewModelStore == null) {
-            NonConfigurationInstances nc =
-                    (NonConfigurationInstances) getLastNonConfigurationInstance();
-            if (nc != null) {
-                // Restore the ViewModelStore from NonConfigurationInstances
-                mViewModelStore = nc.viewModelStore;
-            }
-            if (mViewModelStore == null) {
-                mViewModelStore = new ViewModelStore();
-            }
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The extras of {@link #getIntent()} when this is first called will be used as
-     * the defaults to any {@link androidx.lifecycle.SavedStateHandle} passed to a view model
-     * created using this factory.</p>
-     */
-    @NonNull
-    @Override
-    public ViewModelProvider.Factory getDefaultViewModelProviderFactory() {
-        if (getApplication() == null) {
-            throw new IllegalStateException("Your activity is not yet attached to the "
-                    + "Application instance. You can't request ViewModel before onCreate call.");
-        }
-        if (mDefaultFactory == null) {
-            mDefaultFactory = new SavedStateViewModelFactory(
-                    getApplication(),
-                    this,
-                    getIntent() != null ? getIntent().getExtras() : null);
-        }
-        return mDefaultFactory;
-    }
-
-    /**
-     * Called when the activity has detected the user's press of the back
-     * key. The {@link #getOnBackPressedDispatcher() OnBackPressedDispatcher} will be given a
-     * chance to handle the back button before the default behavior of
-     * {@link android.app.Activity#onBackPressed()} is invoked.
-     *
-     * @see #getOnBackPressedDispatcher()
-     */
-    @Override
-    @MainThread
-    public void onBackPressed() {
-        mOnBackPressedDispatcher.onBackPressed();
-    }
-
-    /**
-     * Retrieve the {@link OnBackPressedDispatcher} that will be triggered when
-     * {@link #onBackPressed()} is called.
-     * @return The {@link OnBackPressedDispatcher} associated with this ComponentActivity.
-     */
-    @NonNull
-    @Override
-    public final OnBackPressedDispatcher getOnBackPressedDispatcher() {
-        return mOnBackPressedDispatcher;
-    }
-
-    @NonNull
-    @Override
-    public final SavedStateRegistry getSavedStateRegistry() {
-        return mSavedStateRegistryController.getSavedStateRegistry();
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @deprecated use
-     * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)}
-     * passing in a {@link StartActivityForResult} object for the {@link ActivityResultContract}.
-     */
-    @Override
-    @Deprecated
-    public void startActivityForResult(@SuppressLint("UnknownNullness") Intent intent,
-            int requestCode) {
-        super.startActivityForResult(intent, requestCode);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @deprecated use
-     * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)}
-     * passing in a {@link StartActivityForResult} object for the {@link ActivityResultContract}.
-     */
-    @Override
-    @Deprecated
-    public void startActivityForResult(@SuppressLint("UnknownNullness") Intent intent,
-            int requestCode, @Nullable Bundle options) {
-        super.startActivityForResult(intent, requestCode, options);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @deprecated use
-     * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)}
-     * passing in a {@link StartIntentSenderForResult} object for the
-     * {@link ActivityResultContract}.
-     */
-    @Override
-    @Deprecated
-    public void startIntentSenderForResult(@SuppressLint("UnknownNullness") IntentSender intent,
-            int requestCode, @Nullable Intent fillInIntent, int flagsMask, int flagsValues,
-            int extraFlags)
-            throws IntentSender.SendIntentException {
-        super.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues,
-                extraFlags);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @deprecated use
-     * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)}
-     * passing in a {@link StartIntentSenderForResult} object for the
-     * {@link ActivityResultContract}.
-     */
-    @Override
-    @Deprecated
-    public void startIntentSenderForResult(@SuppressLint("UnknownNullness") IntentSender intent,
-            int requestCode, @Nullable Intent fillInIntent, int flagsMask, int flagsValues,
-            int extraFlags, @Nullable Bundle options) throws IntentSender.SendIntentException {
-        super.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues,
-                extraFlags, options);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @deprecated use
-     * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)}
-     * with the appropriate {@link ActivityResultContract} and handling the result in the
-     * {@link ActivityResultCallback#onActivityResult(Object) callback}.
-     */
-    @CallSuper
-    @Override
-    @Deprecated
-    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        if (!mActivityResultRegistry.dispatchResult(requestCode, resultCode, data)) {
-            super.onActivityResult(requestCode, resultCode, data);
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @deprecated use
-     * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)} passing
-     * in a {@link RequestMultiplePermissions} object for the {@link ActivityResultContract} and
-     * handling the result in the {@link ActivityResultCallback#onActivityResult(Object) callback}.
-     */
-    @CallSuper
-    @Override
-    @Deprecated
-    public void onRequestPermissionsResult(
-            int requestCode,
-            @NonNull String[] permissions,
-            @NonNull int[] grantResults) {
-        if (!mActivityResultRegistry.dispatchResult(requestCode, Activity.RESULT_OK, new Intent()
-                .putExtra(EXTRA_PERMISSIONS, permissions)
-                .putExtra(EXTRA_PERMISSION_GRANT_RESULTS, grantResults))) {
-            if (Build.VERSION.SDK_INT >= 23) {
-                super.onRequestPermissionsResult(requestCode, permissions, grantResults);
-            }
-        }
-    }
-
-    @NonNull
-    @Override
-    public final <I, O> ActivityResultLauncher<I> registerForActivityResult(
-            @NonNull final ActivityResultContract<I, O> contract,
-            @NonNull final ActivityResultRegistry registry,
-            @NonNull final ActivityResultCallback<O> callback) {
-        return registry.register(
-                "activity_rq#" + mNextLocalRequestCode.getAndIncrement(), this, contract, callback);
-    }
-
-    @NonNull
-    @Override
-    public final <I, O> ActivityResultLauncher<I> registerForActivityResult(
-            @NonNull ActivityResultContract<I, O> contract,
-            @NonNull ActivityResultCallback<O> callback) {
-        return registerForActivityResult(contract, mActivityResultRegistry, callback);
-    }
-
-    /**
-     * Get the {@link ActivityResultRegistry} associated with this activity.
-     *
-     * @return the {@link ActivityResultRegistry}
-     */
-    @NonNull
-    @Override
-    public final ActivityResultRegistry getActivityResultRegistry() {
-        return mActivityResultRegistry;
-    }
-
-    @Override
-    public void reportFullyDrawn() {
-        try {
-            if (Trace.isEnabled()) {
-                // TODO: Ideally we'd include getComponentName() (as later versions of platform
-                //  do), but b/175345114 needs to be addressed.
-                Trace.beginSection("reportFullyDrawn() for ComponentActivity");
-            }
-
-            if (Build.VERSION.SDK_INT > 19) {
-                super.reportFullyDrawn();
-            } else if (Build.VERSION.SDK_INT == 19 && ContextCompat.checkSelfPermission(this,
-                    Manifest.permission.UPDATE_DEVICE_STATS) == PackageManager.PERMISSION_GRANTED) {
-                // On API 19, the Activity.reportFullyDrawn() method requires the
-                // UPDATE_DEVICE_STATS permission, otherwise it throws an exception. Instead of
-                // throwing, we fall back to a no-op call.
-                super.reportFullyDrawn();
-            }
-            // The Activity.reportFullyDrawn() got added in API 19, fall back to a no-op call if
-            // this method gets called on devices with an earlier version.
-        } finally {
-            Trace.endSection();
-        }
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/ImmLeaksCleaner.java b/activity/activity/src/main/java/androidx/activity/ImmLeaksCleaner.java
deleted file mode 100644
index ec401e4..0000000
--- a/activity/activity/src/main/java/androidx/activity/ImmLeaksCleaner.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity;
-
-import android.app.Activity;
-import android.content.Context;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.RequiresApi;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleEventObserver;
-import androidx.lifecycle.LifecycleOwner;
-
-import java.lang.reflect.Field;
-
-@RequiresApi(19)
-final class ImmLeaksCleaner implements LifecycleEventObserver {
-    private static final int NOT_INITIALIAZED = 0;
-    private static final int INIT_SUCCESS = 1;
-    private static final int INIT_FAILED = 2;
-    private static int sReflectedFieldsInitialized = NOT_INITIALIAZED;
-    private static Field sHField;
-    private static Field sServedViewField;
-    private static Field sNextServedViewField;
-
-    private Activity mActivity;
-
-    ImmLeaksCleaner(Activity activity) {
-        mActivity = activity;
-    }
-
-    @Override
-    public void onStateChanged(@NonNull LifecycleOwner source, @NonNull Lifecycle.Event event) {
-        if (event != Lifecycle.Event.ON_DESTROY) {
-            return;
-        }
-        if (sReflectedFieldsInitialized == NOT_INITIALIAZED) {
-            initializeReflectiveFields();
-        }
-        if (sReflectedFieldsInitialized == INIT_SUCCESS) {
-            InputMethodManager inputMethodManager = (InputMethodManager)
-                    mActivity.getSystemService(Context.INPUT_METHOD_SERVICE);
-            final Object lock;
-            try {
-                lock = sHField.get(inputMethodManager);
-            } catch (IllegalAccessException e) {
-                return;
-            }
-            if (lock == null) {
-                return;
-            }
-            synchronized (lock) {
-                final View servedView;
-                try {
-                    servedView = (View) sServedViewField.get(inputMethodManager);
-                } catch (IllegalAccessException e) {
-                    return;
-                } catch (ClassCastException e) {
-                    return;
-                }
-                if (servedView == null) {
-                    return;
-                }
-                if (servedView.isAttachedToWindow()) {
-                    return;
-                }
-                // Here we have a detached mServedView.  Set null to mNextServedViewField so that
-                // everything will be cleared in the next InputMethodManager#checkFocus().
-                try {
-                    sNextServedViewField.set(inputMethodManager, null);
-                } catch (IllegalAccessException e) {
-                    return;
-                }
-            }
-            // Assume that InputMethodManager#isActive() internally triggers
-            // InputMethodManager#checkFocus().
-            inputMethodManager.isActive();
-        }
-    }
-
-    @MainThread
-    private static void initializeReflectiveFields() {
-        try {
-            sReflectedFieldsInitialized = INIT_FAILED;
-            sServedViewField = InputMethodManager.class.getDeclaredField("mServedView");
-            sServedViewField.setAccessible(true);
-            sNextServedViewField = InputMethodManager.class.getDeclaredField("mNextServedView");
-            sNextServedViewField.setAccessible(true);
-            sHField = InputMethodManager.class.getDeclaredField("mH");
-            sHField.setAccessible(true);
-            sReflectedFieldsInitialized = INIT_SUCCESS;
-        } catch (NoSuchFieldException e) {
-            // very oem much custom ¯\_(ツ)_/¯
-        }
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.java b/activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.java
deleted file mode 100644
index 5fc26dc..0000000
--- a/activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity;
-
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LifecycleOwner;
-
-import java.util.concurrent.CopyOnWriteArrayList;
-
-/**
- * Class for handling {@link OnBackPressedDispatcher#onBackPressed()} callbacks without
- * strongly coupling that implementation to a subclass of {@link ComponentActivity}.
- * <p>
- * This class maintains its own {@link #isEnabled() enabled state}. Only when this callback
- * is enabled will it receive callbacks to {@link #handleOnBackPressed()}.
- * <p>
- * Note that the enabled state is an additional layer on top of the
- * {@link androidx.lifecycle.LifecycleOwner} passed to
- * {@link OnBackPressedDispatcher#addCallback(LifecycleOwner, OnBackPressedCallback)}
- * which controls when the callback is added and removed to the dispatcher.
- * <p>
- * By calling {@link #remove()}, this callback will be removed from any
- * {@link OnBackPressedDispatcher} it has been added to. It is strongly recommended
- * to instead disable this callback to handle temporary changes in state.
- *
- * @see ComponentActivity#getOnBackPressedDispatcher()
- */
-public abstract class OnBackPressedCallback {
-
-    private boolean mEnabled;
-    private CopyOnWriteArrayList<Cancellable> mCancellables = new CopyOnWriteArrayList<>();
-
-    /**
-     * Create a {@link OnBackPressedCallback}.
-     *
-     * @param enabled The default enabled state for this callback.
-     * @see #setEnabled(boolean)
-     */
-    public OnBackPressedCallback(boolean enabled) {
-        mEnabled = enabled;
-    }
-
-    /**
-     * Set the enabled state of the callback. Only when this callback
-     * is enabled will it receive callbacks to {@link #handleOnBackPressed()}.
-     * <p>
-     * Note that the enabled state is an additional layer on top of the
-     * {@link androidx.lifecycle.LifecycleOwner} passed to
-     * {@link OnBackPressedDispatcher#addCallback(LifecycleOwner, OnBackPressedCallback)}
-     * which controls when the callback is added and removed to the dispatcher.
-     *
-     * @param enabled whether the callback should be considered enabled
-     */
-    @MainThread
-    public final void setEnabled(boolean enabled) {
-        mEnabled = enabled;
-    }
-
-    /**
-     * Checks whether this callback should be considered enabled. Only when this callback
-     * is enabled will it receive callbacks to {@link #handleOnBackPressed()}.
-     *
-     * @return Whether this callback should be considered enabled.
-     */
-    @MainThread
-    public final boolean isEnabled() {
-        return mEnabled;
-    }
-
-    /**
-     * Removes this callback from any {@link OnBackPressedDispatcher} it is currently
-     * added to.
-     */
-    @MainThread
-    public final void remove() {
-        for (Cancellable cancellable: mCancellables) {
-            cancellable.cancel();
-        }
-    }
-
-    /**
-     * Callback for handling the {@link OnBackPressedDispatcher#onBackPressed()} event.
-     */
-    @MainThread
-    public abstract void handleOnBackPressed();
-
-    void addCancellable(@NonNull Cancellable cancellable) {
-        mCancellables.add(cancellable);
-    }
-
-    void removeCancellable(@NonNull Cancellable cancellable) {
-        mCancellables.remove(cancellable);
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.java b/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.java
deleted file mode 100644
index 6ff39f1..0000000
--- a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity;
-
-import android.annotation.SuppressLint;
-
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleEventObserver;
-import androidx.lifecycle.LifecycleOwner;
-
-import java.util.ArrayDeque;
-import java.util.Iterator;
-
-/**
- * Dispatcher that can be used to register {@link OnBackPressedCallback} instances for handling
- * the {@link ComponentActivity#onBackPressed()} callback via composition.
- * <pre>
- * public class FormEntryFragment extends Fragment {
- *     {@literal @}Override
- *     public void onAttach({@literal @}NonNull Context context) {
- *         super.onAttach(context);
- *         OnBackPressedCallback callback = new OnBackPressedCallback(
- *             true // default to enabled
- *         ) {
- *             {@literal @}Override
- *             public void handleOnBackPressed() {
- *                 showAreYouSureDialog();
- *             }
- *         };
- *         requireActivity().getOnBackPressedDispatcher().addCallback(
- *             this, // LifecycleOwner
- *             callback);
- *     }
- * }
- * </pre>
- */
-public final class OnBackPressedDispatcher {
-
-    @Nullable
-    private final Runnable mFallbackOnBackPressed;
-
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    final ArrayDeque<OnBackPressedCallback> mOnBackPressedCallbacks = new ArrayDeque<>();
-
-    /**
-     * Create a new OnBackPressedDispatcher that dispatches System back button pressed events
-     * to one or more {@link OnBackPressedCallback} instances.
-     */
-    public OnBackPressedDispatcher() {
-        this(null);
-    }
-
-    /**
-     * Create a new OnBackPressedDispatcher that dispatches System back button pressed events
-     * to one or more {@link OnBackPressedCallback} instances.
-     *
-     * @param fallbackOnBackPressed The Runnable that should be triggered if
-     * {@link #onBackPressed()} is called when {@link #hasEnabledCallbacks()} returns false.
-     */
-    public OnBackPressedDispatcher(@Nullable Runnable fallbackOnBackPressed) {
-        mFallbackOnBackPressed = fallbackOnBackPressed;
-    }
-
-    /**
-     * Add a new {@link OnBackPressedCallback}. Callbacks are invoked in the reverse order in which
-     * they are added, so this newly added {@link OnBackPressedCallback} will be the first
-     * callback to receive a callback if {@link #onBackPressed()} is called.
-     * <p>
-     * This method is <strong>not</strong> {@link Lifecycle} aware - if you'd like to ensure that
-     * you only get callbacks when at least {@link Lifecycle.State#STARTED started}, use
-     * {@link #addCallback(LifecycleOwner, OnBackPressedCallback)}. It is expected that you
-     * call {@link OnBackPressedCallback#remove()} to manually remove your callback.
-     *
-     * @param onBackPressedCallback The callback to add
-     *
-     * @see #onBackPressed()
-     */
-    @MainThread
-    public void addCallback(@NonNull OnBackPressedCallback onBackPressedCallback) {
-        addCancellableCallback(onBackPressedCallback);
-    }
-
-    /**
-     * Internal implementation of {@link #addCallback(OnBackPressedCallback)} that gives
-     * access to the {@link Cancellable} that specifically removes this callback from
-     * the dispatcher without relying on {@link OnBackPressedCallback#remove()} which
-     * is what external developers should be using.
-     *
-     * @param onBackPressedCallback The callback to add
-     * @return a {@link Cancellable} which can be used to {@link Cancellable#cancel() cancel}
-     * the callback and remove it from the set of OnBackPressedCallbacks.
-     */
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    @MainThread
-    @NonNull
-    Cancellable addCancellableCallback(@NonNull OnBackPressedCallback onBackPressedCallback) {
-        mOnBackPressedCallbacks.add(onBackPressedCallback);
-        OnBackPressedCancellable cancellable = new OnBackPressedCancellable(onBackPressedCallback);
-        onBackPressedCallback.addCancellable(cancellable);
-        return cancellable;
-    }
-
-    /**
-     * Receive callbacks to a new {@link OnBackPressedCallback} when the given
-     * {@link LifecycleOwner} is at least {@link Lifecycle.State#STARTED started}.
-     * <p>
-     * This will automatically call {@link #addCallback(OnBackPressedCallback)} and
-     * remove the callback as the lifecycle state changes.
-     * As a corollary, if your lifecycle is already at least
-     * {@link Lifecycle.State#STARTED started}, calling this method will result in an immediate
-     * call to {@link #addCallback(OnBackPressedCallback)}.
-     * <p>
-     * When the {@link LifecycleOwner} is {@link Lifecycle.State#DESTROYED destroyed}, it will
-     * automatically be removed from the list of callbacks. The only time you would need to
-     * manually call {@link OnBackPressedCallback#remove()} is if
-     * you'd like to remove the callback prior to destruction of the associated lifecycle.
-     *
-     * <p>
-     * If the Lifecycle is already {@link Lifecycle.State#DESTROYED destroyed}
-     * when this method is called, the callback will not be added.
-     *
-     * @param owner The LifecycleOwner which controls when the callback should be invoked
-     * @param onBackPressedCallback The callback to add
-     *
-     * @see #onBackPressed()
-     */
-    @SuppressLint("LambdaLast")
-    @MainThread
-    public void addCallback(@NonNull LifecycleOwner owner,
-            @NonNull OnBackPressedCallback onBackPressedCallback) {
-        Lifecycle lifecycle = owner.getLifecycle();
-        if (lifecycle.getCurrentState() == Lifecycle.State.DESTROYED) {
-            return;
-        }
-
-        onBackPressedCallback.addCancellable(
-                new LifecycleOnBackPressedCancellable(lifecycle, onBackPressedCallback));
-    }
-
-    /**
-     * Checks if there is at least one {@link OnBackPressedCallback#isEnabled enabled}
-     * callback registered with this dispatcher.
-     *
-     * @return True if there is at least one enabled callback.
-     */
-    @MainThread
-    public boolean hasEnabledCallbacks() {
-        Iterator<OnBackPressedCallback> iterator =
-                mOnBackPressedCallbacks.descendingIterator();
-        while (iterator.hasNext()) {
-            if (iterator.next().isEnabled()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Trigger a call to the currently added {@link OnBackPressedCallback callbacks} in reverse
-     * order in which they were added. Only if the most recently added callback is not
-     * {@link OnBackPressedCallback#isEnabled() enabled}
-     * will any previously added callback be called.
-     * <p>
-     * If {@link #hasEnabledCallbacks()} is <code>false</code> when this method is called, the
-     * fallback Runnable set by {@link #OnBackPressedDispatcher(Runnable) the constructor}
-     * will be triggered.
-     */
-    @MainThread
-    public void onBackPressed() {
-        Iterator<OnBackPressedCallback> iterator =
-                mOnBackPressedCallbacks.descendingIterator();
-        while (iterator.hasNext()) {
-            OnBackPressedCallback callback = iterator.next();
-            if (callback.isEnabled()) {
-                callback.handleOnBackPressed();
-                return;
-            }
-        }
-        if (mFallbackOnBackPressed != null) {
-            mFallbackOnBackPressed.run();
-        }
-    }
-
-    private class OnBackPressedCancellable implements Cancellable {
-        private final OnBackPressedCallback mOnBackPressedCallback;
-        OnBackPressedCancellable(OnBackPressedCallback onBackPressedCallback) {
-            mOnBackPressedCallback = onBackPressedCallback;
-        }
-
-        @Override
-        public void cancel() {
-            mOnBackPressedCallbacks.remove(mOnBackPressedCallback);
-            mOnBackPressedCallback.removeCancellable(this);
-        }
-    }
-
-    private class LifecycleOnBackPressedCancellable implements LifecycleEventObserver,
-            Cancellable {
-        private final Lifecycle mLifecycle;
-        private final OnBackPressedCallback mOnBackPressedCallback;
-
-        @Nullable
-        private Cancellable mCurrentCancellable;
-
-        LifecycleOnBackPressedCancellable(@NonNull Lifecycle lifecycle,
-                @NonNull OnBackPressedCallback onBackPressedCallback) {
-            mLifecycle = lifecycle;
-            mOnBackPressedCallback = onBackPressedCallback;
-            lifecycle.addObserver(this);
-        }
-
-        @Override
-        public void onStateChanged(@NonNull LifecycleOwner source,
-                @NonNull Lifecycle.Event event) {
-            if (event == Lifecycle.Event.ON_START) {
-                mCurrentCancellable = addCancellableCallback(mOnBackPressedCallback);
-            } else if (event == Lifecycle.Event.ON_STOP) {
-                // Should always be non-null
-                if (mCurrentCancellable != null) {
-                    mCurrentCancellable.cancel();
-                }
-            } else if (event == Lifecycle.Event.ON_DESTROY) {
-                cancel();
-            }
-        }
-
-        @Override
-        public void cancel() {
-            mLifecycle.removeObserver(this);
-            mOnBackPressedCallback.removeCancellable(this);
-            if (mCurrentCancellable != null) {
-                mCurrentCancellable.cancel();
-                mCurrentCancellable = null;
-            }
-        }
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.java b/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.java
deleted file mode 100644
index e07b3f9..0000000
--- a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LifecycleOwner;
-
-/**
- * A class that has an {@link OnBackPressedDispatcher} that allows you to register a
- * {@link OnBackPressedCallback} for handling the system back button.
- * <p>
- * It is expected that classes that implement this interface route the system back button
- * to the dispatcher
- *
- * @see OnBackPressedDispatcher
- */
-public interface OnBackPressedDispatcherOwner extends LifecycleOwner {
-
-    /**
-     * Retrieve the {@link OnBackPressedDispatcher} that should handle the system back button.
-     *
-     * @return The {@link OnBackPressedDispatcher}.
-     */
-    @NonNull
-    OnBackPressedDispatcher getOnBackPressedDispatcher();
-}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.java b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.java
deleted file mode 100644
index 4e0b4c7..0000000
--- a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.contextaware;
-
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-/**
- * A <code>ContextAware</code> class is associated with a {@link Context} sometime after
- * the class is instantiated. By adding a {@link OnContextAvailableListener}, you can
- * receive a callback for that event.
- * <p>
- * Classes implementing {@link ContextAware} are strongly recommended to also implement
- * {@link androidx.lifecycle.LifecycleOwner} for providing a more general purpose API for
- * listening for creation and destruction events.
- *
- * @see ContextAwareHelper
- */
-public interface ContextAware {
-
-    /**
-     * Get the {@link Context} if it is currently available. If this returns
-     * <code>null</code>, you can use
-     * {@link #addOnContextAvailableListener(OnContextAvailableListener)} to receive
-     * a callback for when it available.
-     *
-     * @return the Context if it is currently available.
-     */
-    @Nullable
-    Context peekAvailableContext();
-
-    /**
-     * Add a new {@link OnContextAvailableListener} for receiving a callback for when
-     * this class is associated with a {@link android.content.Context}.
-     * <p>
-     * Listeners are triggered in the order they are added when added before the Context is
-     * available. Listeners added after the context has been made available will have the Context
-     * synchronously delivered to them as part of this call.
-     *
-     * @param listener The listener that should be added.
-     * @see #removeOnContextAvailableListener(OnContextAvailableListener)
-     */
-    void addOnContextAvailableListener(@NonNull OnContextAvailableListener listener);
-
-    /**
-     * Remove a {@link OnContextAvailableListener} previously added via
-     * {@link #addOnContextAvailableListener(OnContextAvailableListener)}.
-     *
-     * @param listener The listener that should be removed.
-     * @see #addOnContextAvailableListener(OnContextAvailableListener)
-     */
-    void removeOnContextAvailableListener(@NonNull OnContextAvailableListener listener);
-}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java
deleted file mode 100644
index c29b7a3..0000000
--- a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.contextaware;
-
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-
-/**
- * Helper class for implementing {@link ContextAware}. Classes using this helper should
- * call {@link #addOnContextAvailableListener(OnContextAvailableListener)} and
- * {@link #removeOnContextAvailableListener(OnContextAvailableListener)} as the respective
- * methods of {@link ContextAware} are called.
- * <p>
- * You must call {@link #dispatchOnContextAvailable(Context)} once the
- * {@link Context} is available to dispatch the callbacks to all registered listeners.
- * <p>
- * Listeners added after the context has been made available via
- * {@link #dispatchOnContextAvailable(Context)} will have the Context synchronously
- * delivered to them up until {@link #clearAvailableContext()} is called.
- */
-public final class ContextAwareHelper {
-
-    private final Set<OnContextAvailableListener> mListeners = new CopyOnWriteArraySet<>();
-
-    private volatile Context mContext;
-
-    /**
-     * Construct a new ContextAwareHelper.
-     */
-    public ContextAwareHelper() {
-    }
-
-    /**
-     * Get the {@link Context} if it is currently available. If this returns
-     * <code>null</code>, you can use
-     * {@link #addOnContextAvailableListener(OnContextAvailableListener)} to receive
-     * a callback for when it available.
-     *
-     * @return the Context if it is currently available.
-     */
-    @Nullable
-    public Context peekAvailableContext() {
-        return mContext;
-    }
-
-    /**
-     * Add a new {@link OnContextAvailableListener} for receiving a callback for when
-     * this class is associated with a {@link android.content.Context}.
-     *
-     * @param listener The listener that should be added.
-     * @see #removeOnContextAvailableListener(OnContextAvailableListener)
-     */
-    public void addOnContextAvailableListener(@NonNull OnContextAvailableListener listener) {
-        if (mContext != null) {
-            listener.onContextAvailable(mContext);
-        }
-        mListeners.add(listener);
-    }
-
-    /**
-     * Remove a {@link OnContextAvailableListener} previously added via
-     * {@link #addOnContextAvailableListener(OnContextAvailableListener)}.
-     *
-     * @param listener The listener that should be removed.
-     * @see #addOnContextAvailableListener(OnContextAvailableListener)
-     */
-    public void removeOnContextAvailableListener(@NonNull OnContextAvailableListener listener) {
-        mListeners.remove(listener);
-    }
-
-    /**
-     * Dispatch the callback of {@link OnContextAvailableListener#onContextAvailable} to
-     * all currently added listeners in the order they were added.
-     *
-     * @param context The {@link Context} the {@link ContextAware} object is now associated with.
-     */
-    public void dispatchOnContextAvailable(@NonNull Context context) {
-        mContext = context;
-        for (OnContextAvailableListener listener : mListeners) {
-            listener.onContextAvailable(context);
-        }
-    }
-
-    /**
-     * Clear any {@link Context} previously made available via
-     * {@link #dispatchOnContextAvailable(Context)}.
-     */
-    public void clearAvailableContext() {
-        mContext = null;
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.java b/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.java
deleted file mode 100644
index 99a299c..0000000
--- a/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.contextaware;
-
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-
-/**
- * Listener for receiving a callback at the first moment a {@link Context} is made
- * available to the {@link ContextAware} class.
- *
- * @see ContextAware#addOnContextAvailableListener(OnContextAvailableListener)
- */
-public interface OnContextAvailableListener {
-
-    /**
-     * Called when the {@link ContextAware} object this listener was added to is associated to a
-     * {@link Context}.
-     *
-     * @param context The {@link Context} the {@link ContextAware} object is now associated with.
-     */
-    void onContextAvailable(@NonNull Context context);
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResult.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResult.java
deleted file mode 100644
index d283d33..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResult.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-/**
- * A container for an activity result as obtained form {@link Activity#onActivityResult}
- *
- * @see Activity#onActivityResult
- */
-@SuppressLint("BanParcelableUsage")
-public final class ActivityResult implements Parcelable {
-    private final int mResultCode;
-    @Nullable
-    private final Intent mData;
-
-    /**
-     * Create a new instance
-     *
-     * @param resultCode status to indicate the success of the operation
-     * @param data an intent that carries the result data
-     */
-    public ActivityResult(int resultCode, @Nullable Intent data) {
-        mResultCode = resultCode;
-        mData = data;
-    }
-
-    ActivityResult(Parcel in) {
-        mResultCode = in.readInt();
-        mData = in.readInt() == 0 ? null : Intent.CREATOR.createFromParcel(in);
-    }
-
-    /**
-     * @return the resultCode
-     */
-    public int getResultCode() {
-        return mResultCode;
-    }
-
-    /**
-     * @return the intent
-     */
-    @Nullable
-    public Intent getData() {
-        return mData;
-    }
-
-    @Override
-    public String toString() {
-        return "ActivityResult{"
-                + "resultCode=" + resultCodeToString(mResultCode)
-                + ", data=" + mData
-                + '}';
-    }
-
-    /**
-     * A readable representation of standard activity result codes
-     *
-     * @param resultCode the result code
-     *
-     * @return RESULT_OK, RESULT_CANCELED, or the number otherwise
-     */
-    @NonNull
-    public static String resultCodeToString(int resultCode) {
-        switch (resultCode) {
-            case Activity.RESULT_OK: return "RESULT_OK";
-            case Activity.RESULT_CANCELED: return "RESULT_CANCELED";
-            default: return String.valueOf(resultCode);
-        }
-    }
-
-    @Override
-    public void writeToParcel(@NonNull Parcel dest, int flags) {
-        dest.writeInt(mResultCode);
-        dest.writeInt(mData == null ? 0 : 1);
-        if (mData != null) {
-            mData.writeToParcel(dest, flags);
-        }
-    }
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @NonNull
-    public static final Creator<ActivityResult> CREATOR = new Creator<ActivityResult>() {
-        @Override
-        public ActivityResult createFromParcel(@NonNull Parcel in) {
-            return new ActivityResult(in);
-        }
-
-        @Override
-        public ActivityResult[] newArray(int size) {
-            return new ActivityResult[size];
-        }
-    };
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.java
deleted file mode 100644
index fde2497..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package androidx.activity.result;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-
-/**
- * A type-safe callback to be called when an {@link Activity#onActivityResult activity result}
- * is available.
- *
- * @param <O> result type
- */
-public interface ActivityResultCallback<O> {
-
-    /**
-     * Called when result is available
-     */
-    void onActivityResult(@SuppressLint("UnknownNullness") O result);
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultCaller.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResultCaller.java
deleted file mode 100644
index b60d58e..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultCaller.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package androidx.activity.result;
-
-import android.app.Activity;
-import android.content.Intent;
-
-import androidx.activity.result.contract.ActivityResultContract;
-import androidx.annotation.NonNull;
-
-/**
- * A class that can call {@link Activity#startActivityForResult}-style APIs without having to manage
- * request codes, and converting request/response to an {@link Intent}
- */
-public interface ActivityResultCaller {
-
-    /**
-     * Register a request to {@link Activity#startActivityForResult start an activity for result},
-     * designated by the given {@link ActivityResultContract contract}.
-     *
-     * This creates a record in the {@link ActivityResultRegistry registry} associated wit this
-     * caller, managing request code, as well as conversions to/from {@link Intent} under the hood.
-     *
-     * This *must* be called unconditionally, as part of initialization path, typically as a field
-     * initializer of an Activity or Fragment.
-     *
-     * @param <I> the type of the input(if any) required to call the activity
-     * @param <O> the type of output returned as an activity result
-     *
-     * @param contract the contract, specifying conversions to/from {@link Intent}s
-     * @param callback the callback to be called on the main thread when activity result
-     *                 is available
-     *
-     * @return the launcher that can be used to start the activity or dispose of the prepared call.
-     */
-    @NonNull
-    <I, O> ActivityResultLauncher<I> registerForActivityResult(
-            @NonNull ActivityResultContract<I, O> contract,
-            @NonNull ActivityResultCallback<O> callback);
-
-    /**
-     * Register a request to {@link Activity#startActivityForResult start an activity for result},
-     * designated by the given {@link ActivityResultContract contract}.
-     *
-     * This creates a record in the given {@link ActivityResultRegistry registry}, managing request
-     * code, as well as conversions to/from {@link Intent} under the hood.
-     *
-     * This *must* be called unconditionally, as part of initialization path, typically as a field
-     * initializer of an Activity or Fragment.
-     *
-     * @param <I> the type of the input(if any) required to call the activity
-     * @param <O> the type of output returned as an activity result
-     *
-     * @param contract the contract, specifying conversions to/from {@link Intent}s
-     * @param registry the registry where to hold the record.
-     * @param callback the callback to be called on the main thread when activity result
-     *                 is available
-     *
-     * @return the launcher that can be used to start the activity or dispose of the prepared call.
-     */
-    @NonNull
-    <I, O> ActivityResultLauncher<I> registerForActivityResult(
-            @NonNull ActivityResultContract<I, O> contract,
-            @NonNull ActivityResultRegistry registry,
-            @NonNull ActivityResultCallback<O> callback);
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultLauncher.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResultLauncher.java
deleted file mode 100644
index b903221..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultLauncher.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package androidx.activity.result;
-
-import android.annotation.SuppressLint;
-
-import androidx.activity.result.contract.ActivityResultContract;
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.app.ActivityOptionsCompat;
-
-/**
- * A launcher for a previously-{@link ActivityResultCaller#registerForActivityResult prepared call}
- * to start the process of executing an {@link ActivityResultContract}.
- *
- * @param <I> type of the input required to launch
- */
-public abstract class ActivityResultLauncher<I> {
-
-    /**
-     * Executes an {@link ActivityResultContract}.
-     *
-     * <p>This method throws {@link android.content.ActivityNotFoundException}
-     * if there was no Activity found to run the given Intent.
-
-     * @param input the input required to execute an {@link ActivityResultContract}.
-     *
-     * @throws android.content.ActivityNotFoundException
-     */
-    public void launch(@SuppressLint("UnknownNullness") I input) {
-        launch(input, null);
-    }
-
-    /**
-     * Executes an {@link ActivityResultContract}.
-     *
-     * <p>This method throws {@link android.content.ActivityNotFoundException}
-     * if there was no Activity found to run the given Intent.
-     *
-     * @param input the input required to execute an {@link ActivityResultContract}.
-     * @param options Additional options for how the Activity should be started.
-     *
-     * @throws android.content.ActivityNotFoundException
-     */
-    public abstract void launch(@SuppressLint("UnknownNullness") I input,
-            @Nullable ActivityOptionsCompat options);
-
-    /**
-     * Unregisters this launcher, releasing the underlying result callback, and any references
-     * captured within it.
-     *
-     * You should call this if the registry may live longer than the callback registered for this
-     * launcher.
-     */
-    @MainThread
-    public abstract void unregister();
-
-    /**
-     * Get the {@link ActivityResultContract} that was used to create this launcher.
-     *
-     * @return the contract that was used to create this launcher
-     */
-    @NonNull
-    public abstract ActivityResultContract<I, ?> getContract();
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java
deleted file mode 100644
index 36d959f..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package androidx.activity.result;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-
-import androidx.activity.result.contract.ActivityResultContract;
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.app.ActivityOptionsCompat;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleEventObserver;
-import androidx.lifecycle.LifecycleOwner;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-
-/**
- * A registry that stores {@link ActivityResultCallback activity result callbacks} for
- * {@link ActivityResultCaller#registerForActivityResult registered calls}.
- *
- * You can create your own instance for testing by overriding {@link #onLaunch} and calling
- * {@link #dispatchResult} immediately within it, thus skipping the actual
- * {@link Activity#startActivityForResult} call.
- *
- * When testing, make sure to explicitly provide a registry instance whenever calling
- * {@link ActivityResultCaller#registerForActivityResult}, to be able to inject a test instance.
- */
-public abstract class ActivityResultRegistry {
-    private static final String KEY_COMPONENT_ACTIVITY_REGISTERED_RCS =
-            "KEY_COMPONENT_ACTIVITY_REGISTERED_RCS";
-    private static final String KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS =
-            "KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS";
-    private static final String KEY_COMPONENT_ACTIVITY_PENDING_RESULTS =
-            "KEY_COMPONENT_ACTIVITY_PENDING_RESULT";
-    private static final String KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT =
-            "KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT";
-
-    private static final String LOG_TAG = "ActivityResultRegistry";
-
-    // Use upper 16 bits for request codes
-    private static final int INITIAL_REQUEST_CODE_VALUE = 0x00010000;
-    private Random mRandom = new Random();
-
-    private final Map<Integer, String> mRcToKey = new HashMap<>();
-    private final Map<String, Integer> mKeyToRc = new HashMap<>();
-    private final Map<String, LifecycleContainer> mKeyToLifecycleContainers = new HashMap<>();
-
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    final transient Map<String, CallbackAndContract<?>> mKeyToCallback = new HashMap<>();
-
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    final Map<String, Object> mParsedPendingResults = new HashMap<>();
-    @SuppressWarnings("WeakerAccess") /* synthetic access */
-    final Bundle/*<String, ActivityResult>*/ mPendingResults = new Bundle();
-
-    /**
-     * Start the process of executing an {@link ActivityResultContract} in a type-safe way,
-     * using the provided {@link ActivityResultContract contract}.
-     *
-     * @param requestCode request code to use
-     * @param contract contract to use for type conversions
-     * @param input input required to execute an ActivityResultContract.
-     * @param options Additional options for how the Activity should be started.
-     */
-    @MainThread
-    public abstract <I, O> void onLaunch(
-            int requestCode,
-            @NonNull ActivityResultContract<I, O> contract,
-            @SuppressLint("UnknownNullness") I input,
-            @Nullable ActivityOptionsCompat options);
-
-    /**
-     * Register a new callback with this registry.
-     *
-     * This is normally called by a higher level convenience methods like
-     * {@link ActivityResultCaller#registerForActivityResult}.
-     *
-     * @param key a unique string key identifying this call
-     * @param lifecycleOwner a {@link LifecycleOwner} that makes this call.
-     * @param contract the contract specifying input/output types of the call
-     * @param callback the activity result callback
-     *
-     * @return a launcher that can be used to execute an ActivityResultContract.
-     */
-    @NonNull
-    public final <I, O> ActivityResultLauncher<I> register(
-            @NonNull final String key,
-            @NonNull final LifecycleOwner lifecycleOwner,
-            @NonNull final ActivityResultContract<I, O> contract,
-            @NonNull final ActivityResultCallback<O> callback) {
-
-        Lifecycle lifecycle = lifecycleOwner.getLifecycle();
-
-        if (lifecycle.getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
-            throw new IllegalStateException("LifecycleOwner " + lifecycleOwner + " is "
-                    + "attempting to register while current state is "
-                    + lifecycle.getCurrentState() + ". LifecycleOwners must call register before "
-                    + "they are STARTED.");
-        }
-
-        final int requestCode = registerKey(key);
-        LifecycleContainer lifecycleContainer = mKeyToLifecycleContainers.get(key);
-        if (lifecycleContainer == null) {
-            lifecycleContainer = new LifecycleContainer(lifecycle);
-        }
-        LifecycleEventObserver observer = new LifecycleEventObserver() {
-            @Override
-            public void onStateChanged(
-                    @NonNull LifecycleOwner lifecycleOwner,
-                    @NonNull Lifecycle.Event event) {
-                if (Lifecycle.Event.ON_START.equals(event)) {
-                    mKeyToCallback.put(key, new CallbackAndContract<>(callback, contract));
-                    if (mParsedPendingResults.containsKey(key)) {
-                        @SuppressWarnings("unchecked")
-                        final O parsedPendingResult = (O) mParsedPendingResults.get(key);
-                        mParsedPendingResults.remove(key);
-                        callback.onActivityResult(parsedPendingResult);
-                    }
-                    final ActivityResult pendingResult = mPendingResults.getParcelable(key);
-                    if (pendingResult != null) {
-                        mPendingResults.remove(key);
-                        callback.onActivityResult(contract.parseResult(
-                                pendingResult.getResultCode(),
-                                pendingResult.getData()));
-                    }
-                } else if (Lifecycle.Event.ON_STOP.equals(event)) {
-                    mKeyToCallback.remove(key);
-                } else if (Lifecycle.Event.ON_DESTROY.equals(event)) {
-                    unregister(key);
-                }
-            }
-        };
-        lifecycleContainer.addObserver(observer);
-        mKeyToLifecycleContainers.put(key, lifecycleContainer);
-
-        return new ActivityResultLauncher<I>() {
-            @Override
-            public void launch(I input, @Nullable ActivityOptionsCompat options) {
-                onLaunch(requestCode, contract, input, options);
-            }
-
-            @Override
-            public void unregister() {
-                ActivityResultRegistry.this.unregister(key);
-            }
-
-            @NonNull
-            @Override
-            public ActivityResultContract<I, ?> getContract() {
-                return contract;
-            }
-        };
-    }
-
-    /**
-     * Register a new callback with this registry.
-     *
-     * This is normally called by a higher level convenience methods like
-     * {@link ActivityResultCaller#registerForActivityResult}.
-     *
-     * When calling this, you must call {@link ActivityResultLauncher#unregister()} on the
-     * returned {@link ActivityResultLauncher} when the launcher is no longer needed to
-     * release any values that might be captured in the registered callback.
-     *
-     * @param key a unique string key identifying this call
-     * @param contract the contract specifying input/output types of the call
-     * @param callback the activity result callback
-     *
-     * @return a launcher that can be used to execute an ActivityResultContract.
-     */
-    @NonNull
-    public final <I, O> ActivityResultLauncher<I> register(
-            @NonNull final String key,
-            @NonNull final ActivityResultContract<I, O> contract,
-            @NonNull final ActivityResultCallback<O> callback) {
-        final int requestCode = registerKey(key);
-        mKeyToCallback.put(key, new CallbackAndContract<>(callback, contract));
-
-        if (mParsedPendingResults.containsKey(key)) {
-            @SuppressWarnings("unchecked")
-            final O parsedPendingResult = (O) mParsedPendingResults.get(key);
-            mParsedPendingResults.remove(key);
-            callback.onActivityResult(parsedPendingResult);
-        }
-        final ActivityResult pendingResult = mPendingResults.getParcelable(key);
-        if (pendingResult != null) {
-            mPendingResults.remove(key);
-            callback.onActivityResult(contract.parseResult(
-                    pendingResult.getResultCode(),
-                    pendingResult.getData()));
-        }
-
-        return new ActivityResultLauncher<I>() {
-            @Override
-            public void launch(I input, @Nullable ActivityOptionsCompat options) {
-                onLaunch(requestCode, contract, input, options);
-            }
-
-            @Override
-            public void unregister() {
-                ActivityResultRegistry.this.unregister(key);
-            }
-
-            @NonNull
-            @Override
-            public ActivityResultContract<I, ?> getContract() {
-                return contract;
-            }
-        };
-    }
-
-    /**
-     * Unregister a callback previously registered with {@link #register}. This shouldn't be
-     * called directly, but instead through {@link ActivityResultLauncher#unregister()}.
-     *
-     * @param key the unique key used when registering a callback.
-     */
-    @MainThread
-    final void unregister(@NonNull String key) {
-        Integer rc = mKeyToRc.remove(key);
-        if (rc != null) {
-            mRcToKey.remove(rc);
-        }
-        mKeyToCallback.remove(key);
-        if (mParsedPendingResults.containsKey(key)) {
-            Log.w(LOG_TAG, "Dropping pending result for request " + key + ": "
-                    + mParsedPendingResults.get(key));
-            mParsedPendingResults.remove(key);
-        }
-        if (mPendingResults.containsKey(key)) {
-            Log.w(LOG_TAG, "Dropping pending result for request " + key + ": "
-                    + mPendingResults.<ActivityResult>getParcelable(key));
-            mPendingResults.remove(key);
-        }
-        LifecycleContainer lifecycleContainer = mKeyToLifecycleContainers.get(key);
-        if (lifecycleContainer != null) {
-            lifecycleContainer.clearObservers();
-            mKeyToLifecycleContainers.remove(key);
-        }
-    }
-
-    /**
-     * Save the state of this registry in the given {@link Bundle}
-     *
-     * @param outState the place to put state into
-     */
-    public final void onSaveInstanceState(@NonNull Bundle outState) {
-        outState.putIntegerArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_RCS,
-                new ArrayList<>(mRcToKey.keySet()));
-        outState.putStringArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS,
-                new ArrayList<>(mRcToKey.values()));
-        outState.putBundle(KEY_COMPONENT_ACTIVITY_PENDING_RESULTS,
-                (Bundle) mPendingResults.clone());
-        outState.putSerializable(KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT, mRandom);
-    }
-
-    /**
-     * Restore the state of this registry from the given {@link Bundle}
-     *
-     * @param savedInstanceState the place to restore from
-     */
-    public final void onRestoreInstanceState(@Nullable Bundle savedInstanceState) {
-        if (savedInstanceState == null) {
-            return;
-        }
-        ArrayList<Integer> rcs =
-                savedInstanceState.getIntegerArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_RCS);
-        ArrayList<String> keys =
-                savedInstanceState.getStringArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS);
-        if (keys == null || rcs == null) {
-            return;
-        }
-        int numKeys = keys.size();
-        for (int i = 0; i < numKeys; i++) {
-            bindRcKey(rcs.get(i), keys.get(i));
-        }
-        mRandom = (Random) savedInstanceState.getSerializable(KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT);
-        mPendingResults.putAll(
-                savedInstanceState.getBundle(KEY_COMPONENT_ACTIVITY_PENDING_RESULTS));
-    }
-
-    /**
-     * Dispatch a result received via {@link Activity#onActivityResult} to the callback on record,
-     * or store the result if callback was not yet registered.
-     *
-     * @param requestCode request code to identify the callback
-     * @param resultCode status to indicate the success of the operation
-     * @param data an intent that carries the result data
-     *
-     * @return whether there was a callback was registered for the given request code which was
-     * or will be called.
-     */
-    @MainThread
-    public final boolean dispatchResult(int requestCode, int resultCode, @Nullable Intent data) {
-        String key = mRcToKey.get(requestCode);
-        if (key == null) {
-            return false;
-        }
-        doDispatch(key, resultCode, data, mKeyToCallback.get(key));
-        return true;
-    }
-
-    /**
-     * Dispatch a result object to the callback on record.
-     *
-     * @param requestCode request code to identify the callback
-     * @param result the result to propagate
-     *
-     * @return true if there is a callback registered for the given request code, false otherwise.
-     */
-    @MainThread
-    public final <O> boolean dispatchResult(int requestCode,
-            @SuppressLint("UnknownNullness") O result) {
-        String key = mRcToKey.get(requestCode);
-        if (key == null) {
-            return false;
-        }
-
-        CallbackAndContract<?> callbackAndContract = mKeyToCallback.get(key);
-        if (callbackAndContract == null || callbackAndContract.mCallback == null) {
-            // Remove any pending result
-            mPendingResults.remove(key);
-            // And add these pre-parsed pending results in their place
-            mParsedPendingResults.put(key, result);
-        } else {
-            @SuppressWarnings("unchecked")
-            ActivityResultCallback<O> callback =
-                    (ActivityResultCallback<O>) callbackAndContract.mCallback;
-            callback.onActivityResult(result);
-        }
-        return true;
-    }
-
-    private <O> void doDispatch(String key, int resultCode, @Nullable Intent data,
-            @Nullable CallbackAndContract<O> callbackAndContract) {
-        if (callbackAndContract != null && callbackAndContract.mCallback != null) {
-            ActivityResultCallback<O> callback = callbackAndContract.mCallback;
-            ActivityResultContract<?, O> contract = callbackAndContract.mContract;
-            callback.onActivityResult(contract.parseResult(resultCode, data));
-        } else {
-            // Remove any parsed pending result
-            mParsedPendingResults.remove(key);
-            // And add these pending results in their place
-            mPendingResults.putParcelable(key, new ActivityResult(resultCode, data));
-        }
-    }
-
-    private int registerKey(String key) {
-        Integer existing = mKeyToRc.get(key);
-        if (existing != null) {
-            return existing;
-        }
-        int rc = generateRandomNumber();
-        bindRcKey(rc, key);
-        return rc;
-    }
-
-    /**
-     * Generate a random number between the initial value (00010000) inclusive, and the max
-     * integer value. If that number is already an existing request code, generate another until
-     * we find one that is new.
-     *
-     * @return the number
-     */
-    private int generateRandomNumber() {
-        int number = mRandom.nextInt((Integer.MAX_VALUE - INITIAL_REQUEST_CODE_VALUE) + 1)
-                + INITIAL_REQUEST_CODE_VALUE;
-        while (mRcToKey.containsKey(number)) {
-            number = mRandom.nextInt((Integer.MAX_VALUE - INITIAL_REQUEST_CODE_VALUE) + 1)
-                    + INITIAL_REQUEST_CODE_VALUE;
-        }
-        return number;
-    }
-
-    private void bindRcKey(int rc, String key) {
-        mRcToKey.put(rc, key);
-        mKeyToRc.put(key, rc);
-    }
-
-    private static class CallbackAndContract<O> {
-        final ActivityResultCallback<O> mCallback;
-        final ActivityResultContract<?, O> mContract;
-
-        CallbackAndContract(
-                ActivityResultCallback<O> callback,
-                ActivityResultContract<?, O> contract) {
-            mCallback = callback;
-            mContract = contract;
-        }
-    }
-
-    private static class LifecycleContainer {
-        final Lifecycle mLifecycle;
-        private final ArrayList<LifecycleEventObserver> mObservers;
-
-        LifecycleContainer(@NonNull Lifecycle lifecycle) {
-            mLifecycle = lifecycle;
-            mObservers = new ArrayList<>();
-        }
-
-        void addObserver(@NonNull LifecycleEventObserver observer) {
-            mLifecycle.addObserver(observer);
-            mObservers.add(observer);
-        }
-
-        void clearObservers() {
-            for (LifecycleEventObserver observer: mObservers) {
-                mLifecycle.removeObserver(observer);
-            }
-            mObservers.clear();
-        }
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.java
deleted file mode 100644
index c6ba684..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result;
-
-import androidx.activity.result.contract.ActivityResultContract;
-import androidx.annotation.NonNull;
-
-/**
- * A class that has an {@link ActivityResultRegistry} that allows you to register a
- * {@link ActivityResultCallback} for handling an
- * {@link androidx.activity.result.contract.ActivityResultContract}.
- *
- * If it is not safe to call
- * {@link ActivityResultRegistry#register(String, ActivityResultContract, ActivityResultCallback)}
- * in the constructor, it is strongly recommended to also implement {@link ActivityResultCaller}.
- *
- * @see ActivityResultRegistry
- */
-public interface ActivityResultRegistryOwner {
-
-    /**
-     * Returns the ActivityResultRegistry of the provider.
-     *
-     * @return The activity result registry of the provider.
-     */
-    @NonNull
-    ActivityResultRegistry getActivityResultRegistry();
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java b/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java
deleted file mode 100644
index 3dae534..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result;
-
-import static android.content.Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT;
-import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
-import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
-import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
-import static android.content.Intent.FLAG_ACTIVITY_FORWARD_RESULT;
-import static android.content.Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY;
-import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT;
-import static android.content.Intent.FLAG_ACTIVITY_MATCH_EXTERNAL;
-import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK;
-import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
-import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION;
-import static android.content.Intent.FLAG_ACTIVITY_NO_HISTORY;
-import static android.content.Intent.FLAG_ACTIVITY_NO_USER_ACTION;
-import static android.content.Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP;
-import static android.content.Intent.FLAG_ACTIVITY_REORDER_TO_FRONT;
-import static android.content.Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED;
-import static android.content.Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS;
-import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
-import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME;
-import static android.content.Intent.FLAG_DEBUG_LOG_RESOLUTION;
-import static android.content.Intent.FLAG_EXCLUDE_STOPPED_PACKAGES;
-import static android.content.Intent.FLAG_FROM_BACKGROUND;
-import static android.content.Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION;
-import static android.content.Intent.FLAG_GRANT_PREFIX_URI_PERMISSION;
-import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION;
-import static android.content.Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
-import static android.content.Intent.FLAG_INCLUDE_STOPPED_PACKAGES;
-
-import android.annotation.SuppressLint;
-import android.app.PendingIntent;
-import android.content.Intent;
-import android.content.IntentSender;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * A request for a
- * {@link androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult}
- * Activity Contract.
- */
-@SuppressLint("BanParcelableUsage")
-public final class IntentSenderRequest implements Parcelable {
-    @NonNull
-    private final IntentSender mIntentSender;
-    @Nullable
-    private final Intent mFillInIntent;
-    private final int mFlagsMask;
-    private final int mFlagsValues;
-
-    IntentSenderRequest(@NonNull IntentSender intentSender, @Nullable Intent intent, int flagsMask,
-            int flagsValues) {
-        mIntentSender = intentSender;
-        mFillInIntent = intent;
-        mFlagsMask = flagsMask;
-        mFlagsValues = flagsValues;
-    }
-
-    /**
-     * Get the intentSender from this IntentSenderRequest.
-     *
-     * @return the IntentSender to launch.
-     */
-    @NonNull
-    public IntentSender getIntentSender() {
-        return mIntentSender;
-    }
-
-    /**
-     * Get the intent from this IntentSender request.  If non-null, this will be provided as the
-     * intent parameter to IntentSender#sendIntent.
-     *
-     * @return the fill in intent.
-     */
-    @Nullable
-    public Intent getFillInIntent() {
-        return mFillInIntent;
-    }
-
-    /**
-     * Get the flag mask from this IntentSender request.
-     *
-     * @return intent flags in the original IntentSender that you would like to change.
-     */
-    public int getFlagsMask() {
-        return mFlagsMask;
-    }
-
-    /**
-     * Get the flag values from this IntentSender request.
-     *
-     * @return desired values for any bits set in flagsMask
-     */
-    public int getFlagsValues() {
-        return mFlagsValues;
-    }
-
-    @SuppressWarnings("ConstantConditions")
-    IntentSenderRequest(@NonNull Parcel in) {
-        mIntentSender = in.readParcelable(IntentSender.class.getClassLoader());
-        mFillInIntent = in.readParcelable(Intent.class.getClassLoader());
-        mFlagsMask = in.readInt();
-        mFlagsValues = in.readInt();
-    }
-
-    @NonNull
-    public static final Creator<IntentSenderRequest> CREATOR = new Creator<IntentSenderRequest>() {
-        @Override
-        public IntentSenderRequest createFromParcel(Parcel in) {
-            return new IntentSenderRequest(in);
-        }
-
-        @Override
-        public IntentSenderRequest[] newArray(int size) {
-            return new IntentSenderRequest[size];
-        }
-    };
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(@NonNull Parcel dest, int flags) {
-        dest.writeParcelable(mIntentSender, flags);
-        dest.writeParcelable(mFillInIntent, flags);
-        dest.writeInt(mFlagsMask);
-        dest.writeInt(mFlagsValues);
-    }
-
-    /**
-     * A builder for constructing {@link IntentSenderRequest} instances.
-     */
-    public static final class Builder {
-        private IntentSender mIntentSender;
-        private Intent mFillInIntent;
-        private int mFlagsMask;
-        private int mFlagsValues;
-
-        @IntDef({FLAG_GRANT_READ_URI_PERMISSION, FLAG_GRANT_WRITE_URI_PERMISSION,
-                FLAG_FROM_BACKGROUND, FLAG_DEBUG_LOG_RESOLUTION, FLAG_EXCLUDE_STOPPED_PACKAGES,
-                FLAG_INCLUDE_STOPPED_PACKAGES, FLAG_GRANT_PERSISTABLE_URI_PERMISSION,
-                FLAG_GRANT_PREFIX_URI_PERMISSION, FLAG_ACTIVITY_MATCH_EXTERNAL,
-                FLAG_ACTIVITY_NO_HISTORY, FLAG_ACTIVITY_SINGLE_TOP, FLAG_ACTIVITY_NEW_TASK,
-                FLAG_ACTIVITY_MULTIPLE_TASK, FLAG_ACTIVITY_CLEAR_TOP,
-                FLAG_ACTIVITY_FORWARD_RESULT, FLAG_ACTIVITY_PREVIOUS_IS_TOP,
-                FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, FLAG_ACTIVITY_BROUGHT_TO_FRONT,
-                FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY,
-                FLAG_ACTIVITY_NEW_DOCUMENT, FLAG_ACTIVITY_NO_USER_ACTION,
-                FLAG_ACTIVITY_REORDER_TO_FRONT, FLAG_ACTIVITY_NO_ANIMATION,
-                FLAG_ACTIVITY_CLEAR_TASK, FLAG_ACTIVITY_TASK_ON_HOME,
-                FLAG_ACTIVITY_RETAIN_IN_RECENTS, FLAG_ACTIVITY_LAUNCH_ADJACENT})
-        @Retention(RetentionPolicy.SOURCE)
-        private @interface Flag {}
-
-        /**
-         * Constructor that takes an {@link IntentSender} and sets it for the builder.
-         *
-         * @param intentSender IntentSender to go in the IntentSenderRequest.
-         */
-        public Builder(@NonNull IntentSender intentSender) {
-            mIntentSender = intentSender;
-        }
-
-        /**
-         * Convenience constructor that takes an {@link PendingIntent} and uses
-         * its {@link IntentSender}.
-         *
-         * @param pendingIntent the pendingIntent containing with the intentSender to go in the
-         *                      IntentSenderRequest.
-         */
-        public Builder(@NonNull PendingIntent pendingIntent) {
-            this(pendingIntent.getIntentSender());
-        }
-
-        /**
-         * Set the intent for the {@link IntentSenderRequest}.
-         *
-         * @param fillInIntent intent to go in the IntentSenderRequest. If non-null, this
-         *                     will be provided as the intent parameter to IntentSender#sendIntent.
-         * @return This builder.
-         */
-        @NonNull
-        public Builder setFillInIntent(@Nullable Intent fillInIntent) {
-            mFillInIntent = fillInIntent;
-            return this;
-        }
-
-        /**
-         * Set the flag mask and flag values for the {@link IntentSenderRequest}.
-         *
-         * @param values flagValues to go in the IntentSenderRequest. Desired values for any bits
-         *             set in flagsMask
-         * @param mask mask to go in the IntentSenderRequest. Intent flags in the original
-         *             IntentSender that you would like to change.
-         *
-         * @return This builder.
-         */
-        @NonNull
-        public Builder setFlags(@Flag int values, int mask) {
-            mFlagsValues = values;
-            mFlagsMask = mask;
-            return this;
-        }
-
-        /**
-         * Build the IntentSenderRequest specified by this builder.
-         *
-         * @return the newly constructed IntentSenderRequest.
-         */
-        @NonNull
-        public IntentSenderRequest build() {
-            return new IntentSenderRequest(mIntentSender, mFillInIntent, mFlagsMask, mFlagsValues);
-        }
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContract.java b/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContract.java
deleted file mode 100644
index 1551956..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContract.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result.contract;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-
-import androidx.activity.result.ActivityResultCaller;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-/**
- * A contract specifying that an activity can be called with an input of type I
- * and produce an output of type O
- *
- * Makes calling an activity for result type-safe.
- *
- * @param <I> input type
- * @param <O> output type
- *
- * @see ActivityResultCaller
- */
-public abstract class ActivityResultContract<I, O> {
-
-    /** Create an intent that can be used for {@link Activity#startActivityForResult} */
-    public abstract @NonNull Intent createIntent(@NonNull Context context,
-            @SuppressLint("UnknownNullness") I input);
-
-    /** Convert result obtained from {@link Activity#onActivityResult} to O */
-    @SuppressLint("UnknownNullness")
-    public abstract O parseResult(int resultCode, @Nullable Intent intent);
-
-    /**
-     * An optional method you can implement that can be used to potentially provide a result in
-     * lieu of starting an activity.
-     *
-     * @return the result wrapped in a {@link SynchronousResult} or {@code null} if the call
-     * should proceed to start an activity.
-     */
-    public @Nullable SynchronousResult<O> getSynchronousResult(
-            @NonNull Context context,
-            @SuppressLint("UnknownNullness") I input) {
-        return null;
-    }
-
-    /**
-     * The wrapper for a result provided in {@link #getSynchronousResult}
-     *
-     * @param <T> type of the result
-     */
-    public static final class SynchronousResult<T> {
-        private final @SuppressLint("UnknownNullness") T mValue;
-
-        /**
-         * Create a new result wrapper
-         *
-         * @param value the result value
-         */
-        public SynchronousResult(@SuppressLint("UnknownNullness") T value) {
-            this.mValue = value;
-        }
-
-        /**
-         * @return the result value
-         */
-        public @SuppressLint("UnknownNullness") T getValue() {
-            return mValue;
-        }
-    }
-}
diff --git a/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java b/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java
deleted file mode 100644
index de13a11..0000000
--- a/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.activity.result.contract;
-
-import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSION_GRANT_RESULTS;
-
-import static java.util.Collections.emptyMap;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.content.ClipData;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentSender;
-import android.content.pm.PackageManager;
-import android.graphics.Bitmap;
-import android.net.Uri;
-import android.os.Build;
-import android.provider.ContactsContract;
-import android.provider.DocumentsContract;
-import android.provider.MediaStore;
-
-import androidx.activity.result.ActivityResult;
-import androidx.activity.result.ActivityResultCaller;
-import androidx.activity.result.IntentSenderRequest;
-import androidx.annotation.CallSuper;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.collection.ArrayMap;
-import androidx.core.app.ActivityOptionsCompat;
-import androidx.core.content.ContextCompat;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A collection of some standard activity call contracts, as provided by android.
- */
-public final class ActivityResultContracts {
-    private ActivityResultContracts() {}
-
-    /**
-     * An {@link ActivityResultContract} that doesn't do any type conversion, taking raw
-     * {@link Intent} as an input and {@link ActivityResult} as an output.
-     *
-     * Can be used with {@link ActivityResultCaller#registerForActivityResult} to avoid
-     * having to manage request codes when calling an activity API for which a type-safe contract is
-     * not available.
-     */
-    public static final class StartActivityForResult
-            extends ActivityResultContract<Intent, ActivityResult> {
-
-        /**
-         * Key for the extra containing a {@link android.os.Bundle} generated from
-         * {@link androidx.core.app.ActivityOptionsCompat#toBundle()} or
-         * {@link android.app.ActivityOptions#toBundle()}.
-         *
-         * This will override any {@link ActivityOptionsCompat} passed to
-         * {@link androidx.activity.result.ActivityResultLauncher#launch(Object,
-         ActivityOptionsCompat)}
-         */
-        public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result"
-                + ".contract.extra.ACTIVITY_OPTIONS_BUNDLE";
-
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @NonNull Intent input) {
-            return input;
-        }
-
-        @NonNull
-        @Override
-        public ActivityResult parseResult(
-                int resultCode, @Nullable Intent intent) {
-            return new ActivityResult(resultCode, intent);
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} that calls
-     * {@link Activity#startIntentSender(IntentSender, Intent, int, int, int)}.
-     *
-     * This {@link ActivityResultContract} takes an {@link IntentSenderRequest}, which must be
-     * constructed using an {@link IntentSenderRequest.Builder}.
-     *
-     * If the call to
-     * {@link Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int)}
-     * throws an {@link android.content.IntentSender.SendIntentException} the
-     * {@link androidx.activity.result.ActivityResultCallback} will receive an
-     * {@link ActivityResult} with an {@link Activity#RESULT_CANCELED} {@code resultCode} and
-     * whose intent has the {@link Intent#getAction() action} of
-     * {@link #ACTION_INTENT_SENDER_REQUEST} and an extra {@link #EXTRA_SEND_INTENT_EXCEPTION}
-     * that contains the thrown exception.
-     */
-    public static final class StartIntentSenderForResult
-            extends ActivityResultContract<IntentSenderRequest, ActivityResult> {
-
-        /**
-         * An {@link Intent} action for making a request via the
-         * {@link Activity#startIntentSenderForResult} API.
-         */
-        public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result"
-                + ".contract.action.INTENT_SENDER_REQUEST";
-
-        /**
-         * Key for the extra containing the {@link IntentSenderRequest}.
-         *
-         * @see #ACTION_INTENT_SENDER_REQUEST
-         */
-        public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result"
-                + ".contract.extra.INTENT_SENDER_REQUEST";
-
-        /**
-         * Key for the extra containing the {@link android.content.IntentSender.SendIntentException}
-         * if the call to
-         * {@link Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int)}
-         * fails.
-         */
-        public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result"
-                + ".contract.extra.SEND_INTENT_EXCEPTION";
-
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @NonNull IntentSenderRequest input) {
-            return new Intent(ACTION_INTENT_SENDER_REQUEST)
-                    .putExtra(EXTRA_INTENT_SENDER_REQUEST, input);
-        }
-
-        @NonNull
-        @Override
-        public ActivityResult parseResult(
-                int resultCode, @Nullable Intent intent) {
-            return new ActivityResult(resultCode, intent);
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to {@link Activity#requestPermissions request permissions}
-     */
-    public static final class RequestMultiplePermissions
-            extends ActivityResultContract<String[], java.util.Map<String, Boolean>> {
-
-
-        /**
-         * An {@link Intent} action for making a permission request via a regular
-         * {@link Activity#startActivityForResult} API.
-         *
-         * Caller must provide a {@code String[]} extra {@link #EXTRA_PERMISSIONS}
-         *
-         * Result will be delivered via {@link Activity#onActivityResult(int, int, Intent)} with
-         * {@code String[]} {@link #EXTRA_PERMISSIONS} and {@code int[]}
-         * {@link #EXTRA_PERMISSION_GRANT_RESULTS}, similar to
-         * {@link Activity#onRequestPermissionsResult(int, String[], int[])}
-         *
-         * @see Activity#requestPermissions(String[], int)
-         * @see Activity#onRequestPermissionsResult(int, String[], int[])
-         */
-        public static final String ACTION_REQUEST_PERMISSIONS =
-                "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
-
-        /**
-         * Key for the extra containing all the requested permissions.
-         *
-         * @see #ACTION_REQUEST_PERMISSIONS
-         */
-        public static final String EXTRA_PERMISSIONS =
-                "androidx.activity.result.contract.extra.PERMISSIONS";
-
-        /**
-         * Key for the extra containing whether permissions were granted.
-         *
-         * @see #ACTION_REQUEST_PERMISSIONS
-         */
-        public static final String EXTRA_PERMISSION_GRANT_RESULTS =
-                "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
-
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @NonNull String[] input) {
-            return createIntent(input);
-        }
-
-        @Override
-        public @Nullable SynchronousResult<Map<String, Boolean>> getSynchronousResult(
-                @NonNull Context context, @Nullable String[] input) {
-
-            if (input == null || input.length == 0) {
-                return new SynchronousResult<>(Collections.<String, Boolean>emptyMap());
-            }
-
-            Map<String, Boolean> grantState = new ArrayMap<>();
-            boolean allGranted = true;
-            for (String permission : input) {
-                boolean granted = ContextCompat.checkSelfPermission(context, permission)
-                        == PackageManager.PERMISSION_GRANTED;
-                grantState.put(permission, granted);
-                if (!granted) allGranted = false;
-            }
-
-            if (allGranted) {
-                return new SynchronousResult<>(grantState);
-            }
-            return null;
-        }
-
-        @NonNull
-        @Override
-        public Map<String, Boolean> parseResult(int resultCode,
-                @Nullable Intent intent) {
-            if (resultCode != Activity.RESULT_OK) return emptyMap();
-            if (intent == null) return emptyMap();
-
-            String[] permissions = intent.getStringArrayExtra(EXTRA_PERMISSIONS);
-            int[] grantResults = intent.getIntArrayExtra(EXTRA_PERMISSION_GRANT_RESULTS);
-            if (grantResults == null || permissions == null) return emptyMap();
-
-            Map<String, Boolean> result = new HashMap<>();
-            for (int i = 0, size = permissions.length; i < size; i++) {
-                result.put(permissions[i], grantResults[i] == PackageManager.PERMISSION_GRANTED);
-            }
-            return result;
-        }
-
-        @NonNull
-        static Intent createIntent(@NonNull String[] input) {
-            return new Intent(ACTION_REQUEST_PERMISSIONS).putExtra(EXTRA_PERMISSIONS, input);
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to {@link Activity#requestPermissions request a permission}
-     */
-    public static final class RequestPermission extends ActivityResultContract<String, Boolean> {
-
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @NonNull String input) {
-            return RequestMultiplePermissions.createIntent(new String[] { input });
-        }
-
-        @NonNull
-        @Override
-        public Boolean parseResult(int resultCode, @Nullable Intent intent) {
-            if (intent == null || resultCode != Activity.RESULT_OK) return false;
-            int[] grantResults = intent.getIntArrayExtra(EXTRA_PERMISSION_GRANT_RESULTS);
-            if (grantResults == null || grantResults.length == 0) return false;
-            return grantResults[0] == PackageManager.PERMISSION_GRANTED;
-        }
-
-        @Override
-        public @Nullable SynchronousResult<Boolean> getSynchronousResult(
-                @NonNull Context context, @Nullable String input) {
-            if (input == null) {
-                return new SynchronousResult<>(false);
-            } else if (ContextCompat.checkSelfPermission(context, input)
-                    == PackageManager.PERMISSION_GRANTED) {
-                return new SynchronousResult<>(true);
-            } else {
-                // proceed with permission request
-                return null;
-            }
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to
-     * {@link MediaStore#ACTION_IMAGE_CAPTURE take small a picture} preview, returning it as a
-     * {@link Bitmap}.
-     * <p>
-     * This can be extended to override {@link #createIntent} if you wish to pass additional
-     * extras to the Intent created by {@code super.createIntent()}.
-     */
-    public static class TakePicturePreview extends ActivityResultContract<Void, Bitmap> {
-
-        @CallSuper
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @Nullable Void input) {
-            return new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
-        }
-
-        @Nullable
-        @Override
-        public final SynchronousResult<Bitmap> getSynchronousResult(@NonNull Context context,
-                @Nullable Void input) {
-            return null;
-        }
-
-        @Nullable
-        @Override
-        public final Bitmap parseResult(int resultCode, @Nullable Intent intent) {
-            if (intent == null || resultCode != Activity.RESULT_OK) return null;
-            return intent.getParcelableExtra("data");
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to
-     * {@link MediaStore#ACTION_IMAGE_CAPTURE take a picture} saving it into the provided
-     * content-{@link Uri}.
-     * <p>
-     * Returns {@code true} if the image was saved into the given {@link Uri}.
-     * <p>
-     * This can be extended to override {@link #createIntent} if you wish to pass additional
-     * extras to the Intent created by {@code super.createIntent()}.
-     */
-    public static class TakePicture extends ActivityResultContract<Uri, Boolean> {
-
-        @CallSuper
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @NonNull Uri input) {
-            return new Intent(MediaStore.ACTION_IMAGE_CAPTURE)
-                    .putExtra(MediaStore.EXTRA_OUTPUT, input);
-        }
-
-        @Nullable
-        @Override
-        public final SynchronousResult<Boolean> getSynchronousResult(@NonNull Context context,
-                @NonNull Uri input) {
-            return null;
-        }
-
-        @NonNull
-        @Override
-        public final Boolean parseResult(int resultCode, @Nullable Intent intent) {
-            return resultCode == Activity.RESULT_OK;
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to
-     * {@link MediaStore#ACTION_VIDEO_CAPTURE take a video} saving it into the provided
-     * content-{@link Uri}.
-     * <p>
-     * Returns a thumbnail.
-     * <p>
-     * This can be extended to override {@link #createIntent} if you wish to pass additional
-     * extras to the Intent created by {@code super.createIntent()}.
-     */
-    public static class TakeVideo extends ActivityResultContract<Uri, Bitmap> {
-
-        @CallSuper
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @NonNull Uri input) {
-            return new Intent(MediaStore.ACTION_VIDEO_CAPTURE)
-                    .putExtra(MediaStore.EXTRA_OUTPUT, input);
-        }
-
-        @Nullable
-        @Override
-        public final SynchronousResult<Bitmap> getSynchronousResult(@NonNull Context context,
-                @NonNull Uri input) {
-            return null;
-        }
-
-        @Nullable
-        @Override
-        public final Bitmap parseResult(int resultCode, @Nullable Intent intent) {
-            if (intent == null || resultCode != Activity.RESULT_OK) return null;
-            return intent.getParcelableExtra("data");
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to request the user to pick a contact from the contacts
-     * app.
-     * <p>
-     * The result is a {@code content:} {@link Uri}.
-     *
-     * @see ContactsContract
-     */
-    public static final class PickContact extends ActivityResultContract<Void, Uri> {
-
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, @Nullable Void input) {
-            return new Intent(Intent.ACTION_PICK).setType(ContactsContract.Contacts.CONTENT_TYPE);
-        }
-
-        @Nullable
-        @Override
-        public Uri parseResult(int resultCode, @Nullable Intent intent) {
-            if (intent == null || resultCode != Activity.RESULT_OK) return null;
-            return intent.getData();
-        }
-    }
-
-    /**
-     * An {@link ActivityResultContract} to prompt the user to pick a piece of content, receiving
-     * a {@code content://} {@link Uri} for that content that allows you to use
-     * {@link android.content.ContentResolver#openInputStream(Uri)} to access the raw data. By
-     * default, this adds {@link Intent#CATEGORY_OPENABLE} to only return content that can be
-     * represented as a stream.
-     * <p>
-     * The input is the mime type to filter by, e.g. {@code image/*}.
-     * <p>
-     * This can be extended to override {@link #createIntent} if you wish to pass additional
-     * extras to the Intent created by {@code super.createIntent()}.
-     */