Merge "Update versions for release id 1650474000000" into androidx-main
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2CapturePipelineTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2CapturePipelineTest.kt
index 70e9f8d..a0d5b7f 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2CapturePipelineTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2CapturePipelineTest.kt
@@ -55,7 +55,6 @@
 import androidx.camera.testing.fakes.FakeImageProxy
 import androidx.concurrent.futures.await
 import androidx.test.core.app.ApplicationProvider
-import androidx.test.filters.FlakyTest
 import com.google.common.truth.Truth
 import com.google.common.truth.Truth.assertThat
 import com.google.common.util.concurrent.ListenableFuture
@@ -132,7 +131,7 @@
         executorService.shutdown()
     }
 
-    @FlakyTest(bugId = 228856476)
+    @Ignore // b/228856476
     @Test
     fun pipelineTest_preCapturePostCaptureShouldCalled() {
         // Arrange.
diff --git a/development/diagnose-build-failure/diagnose-build-failure.sh b/development/diagnose-build-failure/diagnose-build-failure.sh
index 4e08619..6baa715 100755
--- a/development/diagnose-build-failure/diagnose-build-failure.sh
+++ b/development/diagnose-build-failure/diagnose-build-failure.sh
@@ -160,7 +160,7 @@
 $scriptPath/impl/restore-state.sh . $workingDir --move && cd $workingDir
 "
   buildCommand="$*"
-  cleanupCommand="$scriptPath/impl/backup-state.sh \$testDir $workingDir --move >/dev/null"
+  cleanupCommand="$scriptPath/impl/backup-state.sh \$testDir --move >/dev/null"
 
   fullFiltererCommand="$setupCommand
 if $buildCommand >/dev/null 2>/dev/null; then
@@ -195,13 +195,13 @@
   cd "$scriptPath"
   backupDir="$1"
   shift
-  ./impl/backup-state.sh "$backupDir" "$workingDir" "$@"
+  ./impl/backup-state.sh "$backupDir" "$@"
 }
 
 function restoreState() {
   cd "$scriptPath"
   backupDir="$1"
-  ./impl/restore-state.sh "$backupDir" "$workingDir"
+  ./impl/restore-state.sh "$backupDir"
 }
 
 function clearState() {
diff --git a/development/diagnose-build-failure/impl/backup-state.sh b/development/diagnose-build-failure/impl/backup-state.sh
index e3c2c88..3591b76 100755
--- a/development/diagnose-build-failure/impl/backup-state.sh
+++ b/development/diagnose-build-failure/impl/backup-state.sh
@@ -2,16 +2,15 @@
 set -e
 
 stateDir="$1"
-gradlewDir="$2"
-moveArg="$3"
+moveArg="$2"
 
 scriptPath="$(cd $(dirname $0) && pwd)"
 supportRoot="$(cd $scriptPath/../../.. && pwd)"
 checkoutRoot="$(cd $supportRoot/../.. && pwd)"
 
 function usage() {
-  echo "usage: $0 <statePath> <gradlew dir>"
-  echo "Backs up build state for <gradlew dir> into <statePath>"
+  echo "usage: $0 <statePath>"
+  echo "Backs up build state into <statePath>"
   exit 1
 }
 
@@ -19,10 +18,6 @@
   usage
 fi
 
-if [ "$gradlewDir" == "" ]; then
-  usage
-fi
-
 move=false
 if [ "$moveArg" == "--move" ]; then
   move=true
@@ -41,7 +36,9 @@
 if [ "$OUT_DIR" == "" ]; then
   OUT_DIR="$checkoutDir/out"
 else
-  GRADLE_USER_HOME="$OUT_DIR/.gradle"
+  if [ "$GRADLE_USER_HOME" == "" ]; then
+    GRADLE_USER_HOME="$OUT_DIR/.gradle"
+  fi
 fi
 
 if [ "$DIST_DIR" == "" ];then
@@ -95,9 +92,9 @@
     mv "$backupDir/out/.gradle" "$backupDir/gradleUserHome" 2>/dev/null || true
   fi
 
-  copy "$gradlewDir/.gradle"          "$backupDir/support/.gradle"
-  copy "$gradlewDir/buildSrc/.gradle" "$backupDir/buildSrc/.gradle"
-  copy "$gradlewDir/local.properties" "$backupDir/local.properties"
+  copy "$supportRoot/.gradle"          "$backupDir/support/.gradle"
+  copy "$supportRoot/buildSrc/.gradle" "$backupDir/buildSrc/.gradle"
+  copy "$supportRoot/local.properties" "$backupDir/local.properties"
 }
 
 backupState $stateDir
diff --git a/development/diagnose-build-failure/impl/restore-state.sh b/development/diagnose-build-failure/impl/restore-state.sh
index 9111b4d..78c1ff7 100755
--- a/development/diagnose-build-failure/impl/restore-state.sh
+++ b/development/diagnose-build-failure/impl/restore-state.sh
@@ -2,16 +2,15 @@
 set -e
 
 stateDir="$1"
-gradlewDir="$2"
-moveArg="$3"
+moveArg="$2"
 
 scriptPath="$(cd $(dirname $0) && pwd)"
 supportRoot="$(cd $scriptPath/../../.. && pwd)"
 checkoutRoot="$(cd $supportRoot/../.. && pwd)"
 
 function usage() {
-  echo "usage: $0 <statePath> <gradlew dir>"
-  echo "Restores build state from <statePath> into the places where the build at <gradlew dir> will look for it"
+  echo "usage: $0 <statePath>"
+  echo "Restores build state from <statePath> into the places where the build will look for it"
   exit 1
 }
 
@@ -19,10 +18,6 @@
   usage
 fi
 
-if [ "$gradlewDir" == "" ]; then
-  usage
-fi
-
 move=false
 if [ "$moveArg" == "--move" ]; then
   move=true
@@ -66,9 +61,9 @@
   copy "$backupDir/out"              "$OUT_DIR"
   copy "$backupDir/dist"             "$DIST_DIR"         # might be inside OUT_DIR
   copy "$backupDir/gradleUserHome"   "$GRADLE_USER_HOME" # might be inside OUT_DIR
-  copy "$backupDir/support/.gradle"  "$gradlewDir/.gradle"
-  copy "$backupDir/buildSrc/.gradle" "$gradlewDir/buildSrc/.gradle"
-  copy "$backupDir/local.properties" "$gradlewDir/local.properties"
+  copy "$backupDir/support/.gradle"  "$supportRoot/.gradle"
+  copy "$backupDir/buildSrc/.gradle" "$supportRoot/buildSrc/.gradle"
+  copy "$backupDir/local.properties" "$supportRoot/local.properties"
 }
 
 restoreState $stateDir
diff --git a/development/update-verification-metadata.sh b/development/update-verification-metadata.sh
index 69a7be0..3de0bcd 100755
--- a/development/update-verification-metadata.sh
+++ b/development/update-verification-metadata.sh
@@ -1,12 +1,17 @@
 #!/bin/bash
 set -e
 
+function runGradle() {
+  kmpArgs="-Pandroidx.compose.multiplatformEnabled=true -Pandroidx.kmp.native.enabled=true"
+  ./gradlew $kmpArgs "$@"
+}
+
 # This script regenerates signature-related information (dependency-verification-metadata and keyring)
 function regenerateTrustedKeys() {
   echo "regenerating list of trusted keys"
   # regenerate metadata
   # Need to run a clean build, https://github.com/gradle/gradle/issues/19228
-  ./gradlew --write-verification-metadata pgp,sha256 --dry-run --clean bOS
+  runGradle --write-verification-metadata pgp,sha256 --dry-run --clean bOS
   # extract and keep only the <trusted-keys> section
   WORK_DIR=gradle/update-keys-temp
   rm -rf "$WORK_DIR"
@@ -40,7 +45,7 @@
 function regenerateKeyring() {
   # a separate step from regenerating the verification metadata, https://github.com/gradle/gradle/issues/20138
   echo "regenerating keyring"
-  ./gradlew --write-verification-metadata sha256 --export-keys --dry-run bOS
+  runGradle --write-verification-metadata sha256 --export-keys --dry-run bOS
 
   echo "sorting keyring and removing duplicates"
   # sort and unique the keyring
diff --git a/fragment/OWNERS b/fragment/OWNERS
index 130d8a3..94b111e 100644
--- a/fragment/OWNERS
+++ b/fragment/OWNERS
@@ -3,6 +3,7 @@
 [email protected]
 [email protected]
 [email protected]
[email protected]
 
 per-file settings.gradle = [email protected], [email protected]
 
diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys
index 3100613..6a4d022 100644
--- a/gradle/verification-keyring.keys
+++ b/gradle/verification-keyring.keys
@@ -7788,6 +7788,54 @@
 -----END PGP PUBLIC KEY BLOCK-----
 
 
+pub    A797295E9D87BDD0
+uid    Aurimas Liutikas <[email protected]>
+
+sub    FB4C179C9305F3B1
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: BCPG v1.68
+
+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
+=k/aW
+-----END PGP PUBLIC KEY BLOCK-----
+
+
 pub    A7F5ED0FA05D64B7
 uid    Kengo TODA <[email protected]>
 
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index db109a0..57fdf5a 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -71,6 +71,7 @@
          <trusted-key id="1f8cf885d537a431" group="com.nhaarman.mockitokotlin2"/>
          <trusted-key id="1fa37fbe4453c1073e7ef61d6449005f96bc97a3" group="de.undercouch"/>
          <trusted-key id="205c8673dc742c7c" group="org.apache"/>
+         <trusted-key id="20723a6399bc060154283b37cfae163b64ac9189" group="org.jetbrains.skiko"/>
          <trusted-key id="21200d723f53ce38" group="com.squareup.leakcanary"/>
          <trusted-key id="218fa0f6a941a037" group="com.github.kevinstern"/>
          <trusted-key id="21939ff0ca2a6567" group="commons-codec"/>
@@ -426,6 +427,7 @@
          <trusted-key id="faabc3738b1f58da2d776fa2eb380dc13c39f675" group="com.intellij" name="annotations"/>
          <trusted-key id="fc411cd3cb7dcb0abc9801058118b3bcdb1a5000" group="jakarta.xml.bind"/>
          <trusted-key id="fd5dea07fcb690a8" group="org.codehaus.mojo"/>
+         <trusted-key id="ff460acf3266fdce8eb8fe3ba797295e9d87bdd0" group="androidx.build.gradle.gcpbuildcache" name="gcpbuildcache"/>
          <trusted-key id="ff6e2c001948c5f2f38b0cc385911f425ec61b51">
             <trusting group="junit"/>
             <trusting group="org.junit" name="junit-bom"/>
diff --git a/gradlew b/gradlew
index 13b9e38..867fd56 100755
--- a/gradlew
+++ b/gradlew
@@ -19,6 +19,7 @@
 else
     CHECKOUT_ROOT="$(cd $SCRIPT_PATH/../.. && pwd -P)"
     export OUT_DIR="$CHECKOUT_ROOT/out"
+    export GRADLE_USER_HOME=~/.gradle
 fi
 
 ORG_GRADLE_JVMARGS="$(cd $SCRIPT_PATH && grep org.gradle.jvmargs gradle.properties | sed 's/^/-D/')"
@@ -368,25 +369,6 @@
   rm -rf $OUT_DIR
 }
 
-if [ "$cleanCaches" == true ]; then
-  echo "IF ./gradlew --clean FIXES YOUR BUILD; OPEN A BUG."
-  echo "In nearly all cases, it should not be necessary to run a clean build."
-  echo
-  echo "You may be more interested in running:"
-  echo
-  echo "  ./development/diagnose-build-failure/diagnose-build-failure.sh $*"
-  echo
-  echo "which attempts to diagnose more details about build failures."
-  echo
-  echo "Removing caches"
-  # one case where it is convenient to have a clean build is for double-checking that a build failure isn't due to an incremental build failure
-  # another case where it is convenient to have a clean build is for performance testing
-  # another case where it is convenient to have a clean build is when you're modifying the build and may have introduced some errors but haven't shared your changes yet (at which point you should have fixed the errors)
-  echo
-
-  removeCaches
-fi
-
 function runGradle() {
   processOutput=false
   if [[ " ${@} " =~ " -Pandroidx.validateNoUnrecognizedMessages " ]]; then
@@ -432,6 +414,29 @@
   return $RETURN_VALUE
 }
 
+if [ "$cleanCaches" == true ]; then
+  echo "IF ./gradlew --clean FIXES YOUR BUILD; OPEN A BUG."
+  echo "In nearly all cases, it should not be necessary to run a clean build."
+  echo
+  # one case where it is convenient to have a clean build is for double-checking that a build failure isn't due to an incremental build failure
+  # another case where it is convenient to have a clean build is for performance testing
+  # another case where it is convenient to have a clean build is when you're modifying the build and may have introduced some errors but haven't shared your changes yet (at which point you should have fixed the errors)
+
+  echo "Stopping Gradle daemons"
+  runGradle --stop || true
+  echo
+
+  backupDir=~/androidx-build-state-backup
+  ./development/diagnose-build-failure/impl/backup-state.sh "$backupDir" --move # prints that it is saving state into this dir"
+
+  echo "To restore this state later, run:"
+  echo
+  echo "  ./development/diagnose-build-failure/impl/restore-state.sh $backupDir"
+  echo
+  echo "Running Gradle"
+  echo
+fi
+
 if [[ " ${@} " =~ " -PdisallowExecution " ]]; then
   echo "Passing '-PdisallowExecution' directly is forbidden. Did you mean -Pandroidx.verifyUpToDate ?"
   echo "See TaskUpToDateValidator.java for more information"
diff --git a/lifecycle/OWNERS b/lifecycle/OWNERS
index 27789fd..a1887e7 100644
--- a/lifecycle/OWNERS
+++ b/lifecycle/OWNERS
@@ -2,6 +2,7 @@
 [email protected]
 [email protected]
 [email protected]
[email protected]
 [email protected]
 [email protected]
 
diff --git a/navigation/OWNERS b/navigation/OWNERS
index 4719789..bf053cd 100644
--- a/navigation/OWNERS
+++ b/navigation/OWNERS
@@ -4,6 +4,7 @@
 [email protected]
 [email protected]
 [email protected]
[email protected]
 
 per-file settings.gradle = [email protected], [email protected]
 
diff --git a/navigation/navigation-compose/samples/build.gradle b/navigation/navigation-compose/samples/build.gradle
index 981abe6..3b53aff 100644
--- a/navigation/navigation-compose/samples/build.gradle
+++ b/navigation/navigation-compose/samples/build.gradle
@@ -34,6 +34,8 @@
     implementation(projectOrArtifact(":navigation:navigation-compose"))
     implementation("androidx.compose.material:material:1.0.1")
     implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1")
+    implementation(projectOrArtifact(":lifecycle:lifecycle-runtime-ktx"))
+    implementation(projectOrArtifact(":savedstate:savedstate-ktx"))
 }
 
 androidx {
@@ -47,15 +49,3 @@
 android {
     namespace "androidx.navigation.compose.samples"
 }
-
-// Workaround for https://github.com/gradle/gradle/issues/19882
-configurations.all {
-    resolutionStrategy.dependencySubstitution {
-        substitute(module("androidx.lifecycle:lifecycle-runtime:")).
-                using project(":lifecycle:lifecycle-runtime")
-        substitute(module("androidx.lifecycle:lifecycle-runtime-ktx:")).
-                using project(":lifecycle:lifecycle-runtime-ktx")
-        substitute(module("androidx.savedstate:savedstate-ktx:")).
-                using project(":savedstate:savedstate-ktx")
-    }
-}
diff --git a/playground-common/playground-build.gradle b/playground-common/playground-build.gradle
index b01e5cb..3184ca7 100644
--- a/playground-common/playground-build.gradle
+++ b/playground-common/playground-build.gradle
@@ -32,9 +32,6 @@
     def metalavaRepo = "https://androidx.dev/metalava/builds/${metalavaBuildId}/artifacts/repo/m2repository"
     def dokkaRepo = "https://androidx.dev/dokka/builds/${dokkaBuildId}/artifacts/repository"
     repositories {
-        maven {
-            url "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev/"
-        }
         google()
         mavenCentral()
         maven {
@@ -51,21 +48,13 @@
                 artifact()
             }
         }
-        gradlePluginPortal()
+        gradlePluginPortal().content {
+            it.includeModule("gradle.plugin.com.github.johnrengelman", "shadow")
+            it.includeModule("me.champeau.gradle", "japicmp-gradle-plugin")
+        }
     }
 
     ext.repos = [:]
-    dependencies {
-        // NOTE: It's not really clear why asm:9.1 must be explicitly declared here since it should
-        // be provided transitively.
-        classpath("org.ow2.asm:asm:9.1")
-        classpath(libs.androidGradlePluginz)
-        classpath(libs.kotlinGradlePluginz)
-        classpath(libs.kspGradlePluginz)
-        classpath(libs.gson)
-        classpath(libs.shadow)
-        classpath(libs.japicmpPluginz)
-    }
 }
 
 apply from: "$supportRootFolder/buildSrc/dependencies.gradle"
diff --git a/playground-common/playground-plugin/settings.gradle b/playground-common/playground-plugin/settings.gradle
index 52efe3b..3fe85ca 100644
--- a/playground-common/playground-plugin/settings.gradle
+++ b/playground-common/playground-plugin/settings.gradle
@@ -17,14 +17,19 @@
 pluginManagement {
     repositories {
         mavenCentral()
-        gradlePluginPortal()
+        gradlePluginPortal().content {
+            it.includeModule("org.jetbrains.kotlin.jvm", "org.jetbrains.kotlin.jvm.gradle.plugin")
+        }
     }
 }
 
 dependencyResolutionManagement {
     repositories {
         mavenCentral()
-        gradlePluginPortal()
+        gradlePluginPortal().content {
+            it.includeModule("com.gradle", "gradle-enterprise-gradle-plugin")
+            it.includeModule("com.gradle", "common-custom-user-data-gradle-plugin")
+        }
     }
 }
 
diff --git a/playground-common/playground-plugin/src/main/kotlin/androidx/playground/PlaygroundExtension.kt b/playground-common/playground-plugin/src/main/kotlin/androidx/playground/PlaygroundExtension.kt
index 1c6e86f..ea0f050 100644
--- a/playground-common/playground-plugin/src/main/kotlin/androidx/playground/PlaygroundExtension.kt
+++ b/playground-common/playground-plugin/src/main/kotlin/androidx/playground/PlaygroundExtension.kt
@@ -88,10 +88,9 @@
      */
     fun setupPlayground(relativePathToRoot: String) {
         // gradlePluginPortal has a variety of unsigned binaries that have proper signatures
-        // in mavenCentral, so prefer that over gradlePluginPortal.
+        // in mavenCentral, so don't use gradlePluginPortal()
         settings.pluginManagement.repositories {
             it.mavenCentral()
-            it.gradlePluginPortal()
         }
         val projectDir = settings.rootProject.projectDir
         val supportRoot = File(projectDir, relativePathToRoot).canonicalFile