Merge changes from topic "314048186_experimental_lint_bugfix" into androidx-main
* changes:
Opt-in previously unchecked usage of experimental API
Update to annotation-experimental compatible with K2
diff --git a/activity/integration-tests/testapp/build.gradle b/activity/integration-tests/testapp/build.gradle
index 04af69d..c2e0a80 100644
--- a/activity/integration-tests/testapp/build.gradle
+++ b/activity/integration-tests/testapp/build.gradle
@@ -33,6 +33,10 @@
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
implementation("androidx.appcompat:appcompat:1.6.0")
implementation("androidx.core:core-splashscreen:1.0.0")
+
+ // Manually align dependencies across debugRuntime and debugAndroidTestRuntime.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
androidTestImplementation(libs.kotlinStdlib)
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/appactions/interaction/interaction-service/build.gradle b/appactions/interaction/interaction-service/build.gradle
index dc3aa0a..6659821 100644
--- a/appactions/interaction/interaction-service/build.gradle
+++ b/appactions/interaction/interaction-service/build.gradle
@@ -51,7 +51,7 @@
implementation(libs.jsr250)
// Force upgrade since 1.2.0 is not compatible with latest lint.
- implementation("androidx.annotation:annotation-experimental:1.3.0")
+ implementation(project(":annotation:annotation-experimental"))
testImplementation(project(":appactions:interaction:interaction-capabilities-core"))
testImplementation(project(":appactions:interaction:interaction-capabilities-testing"))
diff --git a/appcompat/integration-tests/receive-content-testapp/build.gradle b/appcompat/integration-tests/receive-content-testapp/build.gradle
index 8d74ce9..cdacff2 100644
--- a/appcompat/integration-tests/receive-content-testapp/build.gradle
+++ b/appcompat/integration-tests/receive-content-testapp/build.gradle
@@ -34,6 +34,9 @@
implementation(projectOrArtifact(":recyclerview:recyclerview"))
implementation(libs.material)
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
androidTestImplementation("androidx.lifecycle:lifecycle-common:2.6.1")
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testExtJunit)
diff --git a/benchmark/benchmark-common/build.gradle b/benchmark/benchmark-common/build.gradle
index 3d1d854..c472c6d 100644
--- a/benchmark/benchmark-common/build.gradle
+++ b/benchmark/benchmark-common/build.gradle
@@ -74,7 +74,7 @@
dependencies {
implementation(libs.kotlinStdlib)
api("androidx.annotation:annotation:1.1.0")
- api("androidx.annotation:annotation-experimental:1.0.0")
+ api(project(":annotation:annotation-experimental"))
implementation("androidx.tracing:tracing-ktx:1.0.0")
implementation(project(":tracing:tracing-perfetto-handshake"))
implementation("androidx.test:monitor:1.6.1")
diff --git a/browser/browser/build.gradle b/browser/browser/build.gradle
index c6b3f81..b06a225 100644
--- a/browser/browser/build.gradle
+++ b/browser/browser/build.gradle
@@ -29,7 +29,7 @@
dependencies {
api("androidx.core:core:1.1.0")
api("androidx.annotation:annotation:1.2.0")
- api("androidx.annotation:annotation-experimental:1.3.1")
+ api(project(":annotation:annotation-experimental"))
api(libs.guavaListenableFuture)
implementation("androidx.collection:collection:1.1.0")
diff --git a/camera/camera-camera2/build.gradle b/camera/camera-camera2/build.gradle
index bdd3984..44b0f84 100644
--- a/camera/camera-camera2/build.gradle
+++ b/camera/camera-camera2/build.gradle
@@ -46,7 +46,7 @@
testImplementation(libs.robolectric)
testImplementation(libs.mockitoCore4)
testImplementation(libs.kotlinCoroutinesTest)
- testImplementation("androidx.annotation:annotation-experimental:1.1.0")
+ testImplementation(project(":annotation:annotation-experimental"))
testImplementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
testImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.3.1")
testImplementation(project(":camera:camera-video"))
@@ -71,7 +71,7 @@
}
androidTestImplementation(libs.kotlinStdlib)
androidTestImplementation(libs.kotlinCoroutinesAndroid)
- androidTestImplementation("androidx.annotation:annotation-experimental:1.1.0")
+ androidTestImplementation(project(":annotation:annotation-experimental"))
androidTestImplementation(project(":internal-testutils-truth"))
androidTestImplementation("org.jetbrains.kotlinx:atomicfu:0.13.1")
androidTestImplementation("androidx.exifinterface:exifinterface:1.0.0")
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java
index 877cdca..cb9ccd9 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java
@@ -391,6 +391,7 @@
}
}
+ @OptIn(markerClass = androidx.camera.core.ExperimentalZeroShutterLag.class)
@Override
public boolean isZslSupported() {
return Build.VERSION.SDK_INT >= 23 && isPrivateReprocessingSupported()
diff --git a/camera/camera-core/build.gradle b/camera/camera-core/build.gradle
index 17c11a5..bc1c4d8 100644
--- a/camera/camera-core/build.gradle
+++ b/camera/camera-core/build.gradle
@@ -33,7 +33,7 @@
api("androidx.annotation:annotation:1.2.0")
api("androidx.lifecycle:lifecycle-livedata:2.1.0")
api(libs.guavaListenableFuture)
- api("androidx.annotation:annotation-experimental:1.1.0")
+ api(project(":annotation:annotation-experimental"))
api(libs.kotlinStdlib) // Added for annotation-experimental
api("androidx.core:core:1.1.0")
implementation("androidx.exifinterface:exifinterface:1.3.2")
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
index 37e1ec8..e06e4e1 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
@@ -1007,6 +1007,7 @@
*
* @return Compression quality of the captured JPEG image.
*/
+ @OptIn(markerClass = ExperimentalZeroShutterLag.class)
@IntRange(from = 1, to = 100)
private int getJpegQualityInternal() {
ImageCaptureConfig imageCaptureConfig = (ImageCaptureConfig) getCurrentConfig();
@@ -1468,6 +1469,7 @@
* Capture mode options for ImageCapture. A picture will always be taken regardless of
* mode, and the mode will be used on devices that support it.
*/
+ @OptIn(markerClass = androidx.camera.core.ExperimentalZeroShutterLag.class)
@IntDef({CAPTURE_MODE_MAXIMIZE_QUALITY, CAPTURE_MODE_MINIMIZE_LATENCY,
CAPTURE_MODE_ZERO_SHUTTER_LAG})
@Retention(RetentionPolicy.SOURCE)
diff --git a/camera/camera-lifecycle/build.gradle b/camera/camera-lifecycle/build.gradle
index ff9fb1a..b224fbb 100644
--- a/camera/camera-lifecycle/build.gradle
+++ b/camera/camera-lifecycle/build.gradle
@@ -51,7 +51,7 @@
}
androidTestImplementation(libs.kotlinStdlib)
androidTestImplementation(libs.kotlinCoroutinesAndroid)
- androidTestImplementation("androidx.annotation:annotation-experimental:1.1.0")
+ androidTestImplementation(project(":annotation:annotation-experimental"))
androidTestImplementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
androidTestImplementation(project(":internal-testutils-truth"))
androidTestImplementation("org.jetbrains.kotlinx:atomicfu:0.13.1")
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java
index 02f5b88..a490b1e 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java
@@ -337,6 +337,7 @@
return mIsFocusMeteringSupported;
}
+ @androidx.camera.core.ExperimentalZeroShutterLag
@Override
public boolean isZslSupported() {
return false;
diff --git a/camera/camera-view/build.gradle b/camera/camera-view/build.gradle
index 9eac689..c5dbaba 100644
--- a/camera/camera-view/build.gradle
+++ b/camera/camera-view/build.gradle
@@ -35,7 +35,7 @@
api(project(":camera:camera-core"))
api(project(":camera:camera-video"))
implementation(project(":camera:camera-lifecycle"))
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation(libs.guavaListenableFuture)
implementation("androidx.core:core:1.3.2")
implementation("androidx.concurrent:concurrent-futures:1.0.0")
diff --git a/camera/camera-viewfinder-core/build.gradle b/camera/camera-viewfinder-core/build.gradle
index 0f3194c..7577a8b 100644
--- a/camera/camera-viewfinder-core/build.gradle
+++ b/camera/camera-viewfinder-core/build.gradle
@@ -32,7 +32,7 @@
dependencies {
api("androidx.annotation:annotation:1.2.0")
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation(libs.guavaListenableFuture)
implementation("androidx.core:core:1.7.0")
implementation("androidx.concurrent:concurrent-futures:1.1.0")
diff --git a/camera/camera-viewfinder/build.gradle b/camera/camera-viewfinder/build.gradle
index 73fba5e..d7e9211 100644
--- a/camera/camera-viewfinder/build.gradle
+++ b/camera/camera-viewfinder/build.gradle
@@ -32,7 +32,7 @@
dependencies {
api("androidx.annotation:annotation:1.2.0")
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation(libs.guavaListenableFuture)
implementation("androidx.core:core:1.7.0")
implementation("androidx.concurrent:concurrent-futures:1.1.0")
diff --git a/camera/integration-tests/avsynctestapp/build.gradle b/camera/integration-tests/avsynctestapp/build.gradle
index 9c5f5cf..14e4cc2 100644
--- a/camera/integration-tests/avsynctestapp/build.gradle
+++ b/camera/integration-tests/avsynctestapp/build.gradle
@@ -63,6 +63,9 @@
exclude(group:"androidx.test")
}
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
testImplementation(libs.kotlinCoroutinesTest)
testImplementation(libs.junit)
diff --git a/camera/integration-tests/coretestapp/build.gradle b/camera/integration-tests/coretestapp/build.gradle
index fef8eda..24327c8 100644
--- a/camera/integration-tests/coretestapp/build.gradle
+++ b/camera/integration-tests/coretestapp/build.gradle
@@ -97,6 +97,9 @@
// explicitly add runner here to force consistency with androidTestImplementation
debugImplementation(libs.testRunner)
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testExtJunit)
diff --git a/camera/integration-tests/diagnosetestapp/build.gradle b/camera/integration-tests/diagnosetestapp/build.gradle
index 638ee37..28ebe70 100644
--- a/camera/integration-tests/diagnosetestapp/build.gradle
+++ b/camera/integration-tests/diagnosetestapp/build.gradle
@@ -64,6 +64,9 @@
compileOnly(libs.kotlinCompiler)
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/camera/integration-tests/extensionstestapp/build.gradle b/camera/integration-tests/extensionstestapp/build.gradle
index 8d0fefb..3137f0a 100644
--- a/camera/integration-tests/extensionstestapp/build.gradle
+++ b/camera/integration-tests/extensionstestapp/build.gradle
@@ -73,6 +73,9 @@
implementation(libs.guavaAndroid)
implementation("androidx.viewpager2:viewpager2:1.0.0")
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testRunner)
diff --git a/camera/integration-tests/timingtestapp/build.gradle b/camera/integration-tests/timingtestapp/build.gradle
index 822ad5d..8eb3d62 100644
--- a/camera/integration-tests/timingtestapp/build.gradle
+++ b/camera/integration-tests/timingtestapp/build.gradle
@@ -66,6 +66,9 @@
implementation(libs.kotlinStdlib)
implementation(libs.kotlinCoroutinesAndroid)
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
androidTestImplementation(project(":concurrent:concurrent-futures"))
androidTestImplementation(libs.testExtJunit)
diff --git a/camera/integration-tests/uiwidgetstestapp/build.gradle b/camera/integration-tests/uiwidgetstestapp/build.gradle
index 27c73ed..598b557 100644
--- a/camera/integration-tests/uiwidgetstestapp/build.gradle
+++ b/camera/integration-tests/uiwidgetstestapp/build.gradle
@@ -98,6 +98,9 @@
implementation 'androidx.compose.material:material-icons-extended:1.4.0'
androidTestImplementation 'androidx.compose.ui:ui-test-junit4:1.1.1'
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/camera/integration-tests/viewfindertestapp/build.gradle b/camera/integration-tests/viewfindertestapp/build.gradle
index b5afb537..f882ac2 100644
--- a/camera/integration-tests/viewfindertestapp/build.gradle
+++ b/camera/integration-tests/viewfindertestapp/build.gradle
@@ -58,6 +58,9 @@
compileOnly(libs.kotlinCompiler)
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/camera/integration-tests/viewtestapp/build.gradle b/camera/integration-tests/viewtestapp/build.gradle
index b2073c2..8cdc4c2 100644
--- a/camera/integration-tests/viewtestapp/build.gradle
+++ b/camera/integration-tests/viewtestapp/build.gradle
@@ -86,6 +86,9 @@
implementation("androidx.compose.ui:ui-tooling:1.4.0")
implementation("androidx.activity:activity-compose:1.3.1")
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
// Testing framework
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/car/app/app-automotive/build.gradle b/car/app/app-automotive/build.gradle
index a340c41..aaf75d3 100644
--- a/car/app/app-automotive/build.gradle
+++ b/car/app/app-automotive/build.gradle
@@ -31,7 +31,7 @@
dependencies {
api(project(":car:app:app"))
api(libs.guavaListenableFuture)
- api("androidx.annotation:annotation-experimental:1.3.1")
+ api(project(":annotation:annotation-experimental"))
implementation(libs.guavaAndroid)
implementation("androidx.concurrent:concurrent-futures:1.1.0")
implementation("androidx.fragment:fragment:1.3.0")
diff --git a/car/app/app-samples/navigation/common/build.gradle b/car/app/app-samples/navigation/common/build.gradle
index 8f4fa25..d079e9e 100644
--- a/car/app/app-samples/navigation/common/build.gradle
+++ b/car/app/app-samples/navigation/common/build.gradle
@@ -40,7 +40,7 @@
implementation(project(":car:app:app"))
implementation 'androidx.core:core:1.7.0'
- implementation "androidx.annotation:annotation-experimental:1.3.1"
+ implementation project(":annotation:annotation-experimental")
implementation 'androidx.lifecycle:lifecycle-livedata:2.3.1'
implementation 'androidx.activity:activity:1.2.3'
}
diff --git a/car/app/app-samples/showcase/common/build.gradle b/car/app/app-samples/showcase/common/build.gradle
index 62c4c34..fe9ac9f 100644
--- a/car/app/app-samples/showcase/common/build.gradle
+++ b/car/app/app-samples/showcase/common/build.gradle
@@ -40,7 +40,7 @@
debugImplementation(libs.leakcanary)
implementation("androidx.core:core:1.7.0")
- implementation "androidx.annotation:annotation-experimental:1.3.1"
+ implementation project(":annotation:annotation-experimental")
}
diff --git a/car/app/app-testing/build.gradle b/car/app/app-testing/build.gradle
index 82da0b4..0abc8c7 100644
--- a/car/app/app-testing/build.gradle
+++ b/car/app/app-testing/build.gradle
@@ -34,7 +34,7 @@
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
implementation 'androidx.annotation:annotation:1.1.0'
implementation(libs.robolectric)
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
testImplementation(project(":car:app:app-projected"))
testImplementation(libs.junit)
diff --git a/car/app/app/build.gradle b/car/app/app/build.gradle
index c203b0b..4582736 100644
--- a/car/app/app/build.gradle
+++ b/car/app/app/build.gradle
@@ -61,7 +61,7 @@
implementation ("androidx.media:media:1.6.0")
// Session and Screen both implement LifeCycleOwner so this needs to be exposed.
api("androidx.lifecycle:lifecycle-common-java8:2.2.0")
- api("androidx.annotation:annotation-experimental:1.3.1")
+ api(project(":annotation:annotation-experimental"))
annotationProcessor(libs.nullaway)
diff --git a/core/core-telecom/build.gradle b/core/core-telecom/build.gradle
index bcd561e..4c8fbd1 100644
--- a/core/core-telecom/build.gradle
+++ b/core/core-telecom/build.gradle
@@ -35,7 +35,7 @@
api(libs.guavaListenableFuture)
implementation("androidx.annotation:annotation:1.4.0")
// @OptIn annotations
- api("androidx.annotation:annotation-experimental:1.3.0")
+ api(project(":annotation:annotation-experimental"))
implementation("androidx.core:core:1.9.0")
implementation(libs.kotlinCoroutinesCore)
implementation(libs.kotlinCoroutinesGuava)
diff --git a/core/core-telecom/integration-tests/testapp/build.gradle b/core/core-telecom/integration-tests/testapp/build.gradle
index 582f731..d831923 100644
--- a/core/core-telecom/integration-tests/testapp/build.gradle
+++ b/core/core-telecom/integration-tests/testapp/build.gradle
@@ -48,6 +48,10 @@
implementation('androidx.navigation:navigation-fragment-ktx:2.5.3')
implementation('androidx.navigation:navigation-ui-ktx:2.5.3')
implementation('androidx.recyclerview:recyclerview:1.2.1')
+
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testRunner)
}
diff --git a/core/core/build.gradle b/core/core/build.gradle
index d0e78ce..17d3ad1 100644
--- a/core/core/build.gradle
+++ b/core/core/build.gradle
@@ -22,7 +22,7 @@
}
api("androidx.annotation:annotation:1.6.0")
- api("androidx.annotation:annotation-experimental:1.3.0")
+ api(project(":annotation:annotation-experimental"))
api("androidx.lifecycle:lifecycle-runtime:2.6.2")
api("androidx.versionedparcelable:versionedparcelable:1.1.1")
implementation("androidx.collection:collection:1.0.0")
diff --git a/fragment/fragment/build.gradle b/fragment/fragment/build.gradle
index 28e90e5..352bb4c 100644
--- a/fragment/fragment/build.gradle
+++ b/fragment/fragment/build.gradle
@@ -43,7 +43,7 @@
api("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1")
implementation("androidx.profileinstaller:profileinstaller:1.3.0")
api("androidx.savedstate:savedstate:1.2.1")
- api("androidx.annotation:annotation-experimental:1.0.0")
+ api(projectOrArtifact(":annotation:annotation-experimental"))
api(libs.kotlinStdlib)
androidTestImplementation("androidx.appcompat:appcompat:1.1.0", {
diff --git a/glance/glance-template/build.gradle b/glance/glance-template/build.gradle
index 2612de7..dec7cd8 100644
--- a/glance/glance-template/build.gradle
+++ b/glance/glance-template/build.gradle
@@ -49,7 +49,7 @@
implementation(libs.kotlinStdlib)
// Force upgrade since 1.2.0 is not compatible with latest lint.
- implementation("androidx.annotation:annotation-experimental:1.3.0")
+ implementation(project(":annotation:annotation-experimental"))
testImplementation(libs.robolectric)
testImplementation(libs.testCore)
diff --git a/glance/glance/build.gradle b/glance/glance/build.gradle
index 94f10b2..43f0cde 100644
--- a/glance/glance/build.gradle
+++ b/glance/glance/build.gradle
@@ -46,7 +46,7 @@
implementation(libs.kotlinStdlib)
// Force upgrade since 1.2.0 is not compatible with latest lint.
- implementation("androidx.annotation:annotation-experimental:1.3.0")
+ implementation(project(":annotation:annotation-experimental"))
testImplementation(libs.robolectric)
testImplementation(libs.testCore)
diff --git a/graphics/filters/filters/build.gradle b/graphics/filters/filters/build.gradle
index 845353e..d6406c1 100644
--- a/graphics/filters/filters/build.gradle
+++ b/graphics/filters/filters/build.gradle
@@ -43,7 +43,7 @@
implementation('androidx.media3:media3-transformer:' + media3Version)
// Force upgrade since 1.2.0 is not compatible with latest lint.
- implementation("androidx.annotation:annotation-experimental:1.3.0")
+ implementation(project(":annotation:annotation-experimental"))
// Test dependencies
androidTestImplementation(libs.testExtJunit)
diff --git a/graphics/graphics-core/build.gradle b/graphics/graphics-core/build.gradle
index 44b21a5..5841931 100644
--- a/graphics/graphics-core/build.gradle
+++ b/graphics/graphics-core/build.gradle
@@ -33,7 +33,7 @@
dependencies {
api(libs.kotlinStdlib)
implementation(libs.kotlinCoroutinesAndroid)
- implementation("androidx.annotation:annotation-experimental:1.1.0-rc01")
+ implementation(project(":annotation:annotation-experimental"))
implementation("androidx.core:core:1.8.0")
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/lifecycle/lifecycle-runtime-compose/build.gradle b/lifecycle/lifecycle-runtime-compose/build.gradle
index cf9edda..24b4513 100644
--- a/lifecycle/lifecycle-runtime-compose/build.gradle
+++ b/lifecycle/lifecycle-runtime-compose/build.gradle
@@ -34,7 +34,7 @@
dependencies {
api projectOrArtifact(":lifecycle:lifecycle-runtime-ktx")
- api("androidx.annotation:annotation-experimental:1.1.0")
+ api(projectOrArtifact(":annotation:annotation-experimental"))
api("androidx.compose.runtime:runtime:1.0.1")
api("androidx.compose.ui:ui:1.0.1")
diff --git a/lifecycle/lifecycle-viewmodel-compose/api/current.txt b/lifecycle/lifecycle-viewmodel-compose/api/current.txt
index 7383797..98bd4e6 100644
--- a/lifecycle/lifecycle-viewmodel-compose/api/current.txt
+++ b/lifecycle/lifecycle-viewmodel-compose/api/current.txt
@@ -8,7 +8,7 @@
field public static final androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner INSTANCE;
}
- @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface SavedStateHandleSaveableApi {
+ @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface SavedStateHandleSaveableApi {
}
public final class SavedStateHandleSaverKt {
diff --git a/lifecycle/lifecycle-viewmodel-compose/api/restricted_current.txt b/lifecycle/lifecycle-viewmodel-compose/api/restricted_current.txt
index 7383797..98bd4e6 100644
--- a/lifecycle/lifecycle-viewmodel-compose/api/restricted_current.txt
+++ b/lifecycle/lifecycle-viewmodel-compose/api/restricted_current.txt
@@ -8,7 +8,7 @@
field public static final androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner INSTANCE;
}
- @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface SavedStateHandleSaveableApi {
+ @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface SavedStateHandleSaveableApi {
}
public final class SavedStateHandleSaverKt {
diff --git a/lifecycle/lifecycle-viewmodel-compose/build.gradle b/lifecycle/lifecycle-viewmodel-compose/build.gradle
index bc82ca8..4b06506 100644
--- a/lifecycle/lifecycle-viewmodel-compose/build.gradle
+++ b/lifecycle/lifecycle-viewmodel-compose/build.gradle
@@ -39,7 +39,7 @@
api projectOrArtifact(":lifecycle:lifecycle-viewmodel-savedstate")
api("androidx.compose.runtime:runtime:1.0.1")
api "androidx.compose.ui:ui:1.0.1"
- api("androidx.annotation:annotation-experimental:1.1.0")
+ api(projectOrArtifact(":annotation:annotation-experimental"))
implementation(libs.kotlinStdlib)
diff --git a/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaveableApi.kt b/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaveableApi.kt
index f685fd1..9990a0b 100644
--- a/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaveableApi.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaveableApi.kt
@@ -19,7 +19,7 @@
/**
* @see SavedStateHandle
*/
-@Retention(AnnotationRetention.RUNTIME)
+@Retention(AnnotationRetention.BINARY)
@Target(AnnotationTarget.FUNCTION)
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
annotation class SavedStateHandleSaveableApi
diff --git a/mediarouter/mediarouter/build.gradle b/mediarouter/mediarouter/build.gradle
index 0c916f6..f408c28 100644
--- a/mediarouter/mediarouter/build.gradle
+++ b/mediarouter/mediarouter/build.gradle
@@ -41,7 +41,7 @@
implementation("androidx.palette:palette:1.0.0")
implementation("androidx.recyclerview:recyclerview:1.1.0")
implementation("androidx.appcompat:appcompat-resources:1.2.0")
- implementation "androidx.annotation:annotation-experimental:1.3.0"
+ implementation project(":annotation:annotation-experimental")
testImplementation(libs.junit)
testImplementation(libs.testCore)
diff --git a/navigation/navigation-runtime/api/current.txt b/navigation/navigation-runtime/api/current.txt
index f3513c2..5de0d5e 100644
--- a/navigation/navigation-runtime/api/current.txt
+++ b/navigation/navigation-runtime/api/current.txt
@@ -181,7 +181,7 @@
method public androidx.navigation.NavDeepLinkBuilder setGraph(@NavigationRes int navGraphId);
}
- @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavDeepLinkSaveStateControl {
+ @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavDeepLinkSaveStateControl {
}
public interface NavHost {
diff --git a/navigation/navigation-runtime/api/restricted_current.txt b/navigation/navigation-runtime/api/restricted_current.txt
index f3513c2..5de0d5e 100644
--- a/navigation/navigation-runtime/api/restricted_current.txt
+++ b/navigation/navigation-runtime/api/restricted_current.txt
@@ -181,7 +181,7 @@
method public androidx.navigation.NavDeepLinkBuilder setGraph(@NavigationRes int navGraphId);
}
- @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavDeepLinkSaveStateControl {
+ @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavDeepLinkSaveStateControl {
}
public interface NavHost {
diff --git a/navigation/navigation-runtime/build.gradle b/navigation/navigation-runtime/build.gradle
index adf012a..9976f83 100644
--- a/navigation/navigation-runtime/build.gradle
+++ b/navigation/navigation-runtime/build.gradle
@@ -35,7 +35,7 @@
api("androidx.activity:activity-ktx:1.7.1")
api("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
api("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2")
- api("androidx.annotation:annotation-experimental:1.1.0")
+ api(projectOrArtifact(":annotation:annotation-experimental"))
implementation('androidx.collection:collection:1.0.0')
api(libs.kotlinStdlib)
diff --git a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkSaveStateControl.kt b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkSaveStateControl.kt
index b4a1099..15341ca 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkSaveStateControl.kt
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkSaveStateControl.kt
@@ -19,7 +19,7 @@
/**
* @see NavController.enableDeepLinkSaveState
*/
-@Retention(AnnotationRetention.RUNTIME)
+@Retention(AnnotationRetention.BINARY)
@Target(AnnotationTarget.FUNCTION)
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
public annotation class NavDeepLinkSaveStateControl
diff --git a/navigation/navigation-ui/api/current.txt b/navigation/navigation-ui/api/current.txt
index b13fa76..326d323 100644
--- a/navigation/navigation-ui/api/current.txt
+++ b/navigation/navigation-ui/api/current.txt
@@ -78,7 +78,7 @@
field public static final androidx.navigation.ui.NavigationUI INSTANCE;
}
- @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavigationUiSaveStateControl {
+ @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavigationUiSaveStateControl {
}
public final class NavigationViewKt {
diff --git a/navigation/navigation-ui/api/restricted_current.txt b/navigation/navigation-ui/api/restricted_current.txt
index b13fa76..326d323 100644
--- a/navigation/navigation-ui/api/restricted_current.txt
+++ b/navigation/navigation-ui/api/restricted_current.txt
@@ -78,7 +78,7 @@
field public static final androidx.navigation.ui.NavigationUI INSTANCE;
}
- @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavigationUiSaveStateControl {
+ @SuppressCompatibility @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.WARNING) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public @interface NavigationUiSaveStateControl {
}
public final class NavigationViewKt {
diff --git a/navigation/navigation-ui/build.gradle b/navigation/navigation-ui/build.gradle
index ef3da1c..eab9cd6 100644
--- a/navigation/navigation-ui/build.gradle
+++ b/navigation/navigation-ui/build.gradle
@@ -47,7 +47,7 @@
api("androidx.drawerlayout:drawerlayout:1.1.1")
api("com.google.android.material:material:1.4.0")
implementation("androidx.transition:transition:1.3.0")
- api("androidx.annotation:annotation-experimental:1.1.0")
+ api(projectOrArtifact(":annotation:annotation-experimental"))
androidTestImplementation(project(":internal-testutils-navigation"), {
exclude group: "androidx.navigation", module: "navigation-common"
diff --git a/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt b/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt
index 1063256..adb462e 100644
--- a/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt
+++ b/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt
@@ -19,7 +19,7 @@
/**
* @see NavigationUI
*/
-@Retention(AnnotationRetention.RUNTIME)
+@Retention(AnnotationRetention.BINARY)
@Target(AnnotationTarget.FUNCTION)
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
public annotation class NavigationUiSaveStateControl
diff --git a/paging/integration-tests/testapp/build.gradle b/paging/integration-tests/testapp/build.gradle
index 8b17e5b..cd102d8 100644
--- a/paging/integration-tests/testapp/build.gradle
+++ b/paging/integration-tests/testapp/build.gradle
@@ -45,6 +45,9 @@
// and androidTestImpl, for both AOSP and playground builds.
implementation(project(":annotation:annotation"))
+ // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
+ androidTestImplementation(project(":annotation:annotation-experimental"))
+
androidTestImplementation(libs.kotlinTest)
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testExtJunit)
diff --git a/paging/samples/build.gradle b/paging/samples/build.gradle
index 16eb4fe..861a0cd 100644
--- a/paging/samples/build.gradle
+++ b/paging/samples/build.gradle
@@ -41,7 +41,7 @@
compileOnly(project(":annotation:annotation-sampled"))
implementation("androidx.appcompat:appcompat:1.2.0")
- implementation("androidx.annotation:annotation-experimental:1.1.0")
+ implementation(project(":annotation:annotation-experimental"))
implementation("androidx.fragment:fragment-ktx:1.3.0")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0")
implementation("androidx.recyclerview:recyclerview:1.2.0")
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingQueryTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingQueryTest.kt
index db0f197..a6311dd 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingQueryTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingQueryTest.kt
@@ -154,6 +154,7 @@
}
}
+ @OptIn(androidx.room.ExperimentalRoomApi::class)
@Test
fun allBookSuspend_autoClose() {
val context: Context = ApplicationProvider.getApplicationContext()
diff --git a/room/room-runtime/api/current.txt b/room/room-runtime/api/current.txt
index 57ca0f5..8d6ff05 100644
--- a/room/room-runtime/api/current.txt
+++ b/room/room-runtime/api/current.txt
@@ -26,7 +26,7 @@
field public final java.util.List<java.lang.Object> typeConverters;
}
- @SuppressCompatibility @RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalRoomApi {
+ @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalRoomApi {
}
public class InvalidationTracker {
diff --git a/room/room-runtime/api/restricted_current.txt b/room/room-runtime/api/restricted_current.txt
index 5b386e3..15fdd2a 100644
--- a/room/room-runtime/api/restricted_current.txt
+++ b/room/room-runtime/api/restricted_current.txt
@@ -74,7 +74,7 @@
method public java.util.List<java.lang.Long> upsertAndReturnIdsList(T[] entities);
}
- @SuppressCompatibility @RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalRoomApi {
+ @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalRoomApi {
}
public class InvalidationTracker {
diff --git a/room/room-runtime/build.gradle b/room/room-runtime/build.gradle
index 152161b..33991a3 100644
--- a/room/room-runtime/build.gradle
+++ b/room/room-runtime/build.gradle
@@ -106,7 +106,7 @@
compileOnly("androidx.collection:collection:1.2.0")
compileOnly("androidx.lifecycle:lifecycle-livedata-core:2.0.0")
compileOnly("androidx.paging:paging-common:2.0.0")
- implementation("androidx.annotation:annotation-experimental:1.1.0-rc01")
+ implementation(projectOrArtifact(":annotation:annotation-experimental"))
}
}
androidUnitTest {
diff --git a/room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt b/room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
index 30740b5..0e92ee0 100644
--- a/room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
+++ b/room/room-runtime/src/androidMain/kotlin/androidx/room/DatabaseConfiguration.android.kt
@@ -210,6 +210,7 @@
* aren't required.
*
*/
+ @OptIn(ExperimentalRoomApi::class)
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
@Deprecated("This constructor is deprecated.")
constructor(
@@ -275,6 +276,7 @@
* @param copyFromFile The pre-packaged database file.
*
*/
+ @OptIn(ExperimentalRoomApi::class)
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
@Deprecated("This constructor is deprecated.")
constructor(
@@ -344,6 +346,7 @@
* pre-package database file will be copied from.
*
*/
+ @OptIn(ExperimentalRoomApi::class)
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
@Deprecated("This constructor is deprecated.")
constructor(
@@ -415,6 +418,7 @@
* @param prepackagedDatabaseCallback The pre-packaged callback.
*
*/
+ @OptIn(ExperimentalRoomApi::class)
@SuppressLint("LambdaLast")
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
@Deprecated("This constructor is deprecated.")
@@ -489,6 +493,7 @@
* @param typeConverters The type converters.
*
*/
+ @OptIn(ExperimentalRoomApi::class)
@SuppressLint("LambdaLast")
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
@Deprecated("This constructor is deprecated.")
@@ -565,6 +570,7 @@
* @param autoMigrationSpecs The auto migration specs.
*
*/
+ @OptIn(ExperimentalRoomApi::class)
@SuppressLint("LambdaLast")
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
@Deprecated("This constructor is deprecated.")
diff --git a/room/room-runtime/src/androidMain/kotlin/androidx/room/ExperimentalRoomApi.android.kt b/room/room-runtime/src/androidMain/kotlin/androidx/room/ExperimentalRoomApi.android.kt
index 20ed03b..8de193e6 100644
--- a/room/room-runtime/src/androidMain/kotlin/androidx/room/ExperimentalRoomApi.android.kt
+++ b/room/room-runtime/src/androidMain/kotlin/androidx/room/ExperimentalRoomApi.android.kt
@@ -15,8 +15,6 @@
*/
package androidx.room
-import androidx.annotation.RequiresOptIn
-
/**
* APIs marked with ExperimentalRoomApi are experimental and may change.
*/
diff --git a/room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt b/room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
index d178962..353c4cb 100644
--- a/room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
+++ b/room/room-runtime/src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt
@@ -1135,6 +1135,7 @@
*
* @return This builder instance.
*/
+ @OptIn(ExperimentalRoomApi::class)
@Suppress("UnsafeOptInUsageError")
open fun enableMultiInstanceInvalidation() = apply {
this.multiInstanceInvalidationIntent = if (name != null) {
diff --git a/viewpager2/viewpager2/build.gradle b/viewpager2/viewpager2/build.gradle
index ba3a645..aeb25ad 100644
--- a/viewpager2/viewpager2/build.gradle
+++ b/viewpager2/viewpager2/build.gradle
@@ -31,7 +31,7 @@
dependencies {
api("androidx.annotation:annotation:1.1.0")
- api("androidx.annotation:annotation-experimental:1.3.0")
+ api(project(":annotation:annotation-experimental"))
implementation("androidx.core:core:1.3.2")
api("androidx.fragment:fragment:1.1.0")
api("androidx.recyclerview:recyclerview:1.3.1")
diff --git a/wear/protolayout/protolayout-expression-pipeline/build.gradle b/wear/protolayout/protolayout-expression-pipeline/build.gradle
index 4218078..af85399 100644
--- a/wear/protolayout/protolayout-expression-pipeline/build.gradle
+++ b/wear/protolayout/protolayout-expression-pipeline/build.gradle
@@ -35,7 +35,7 @@
implementation("androidx.core:core:1.7.0")
implementation("androidx.concurrent:concurrent-futures:1.1.0")
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation(project(path: ":wear:protolayout:protolayout-proto", configuration: "shadow"))
implementation(project(":wear:protolayout:protolayout-expression"))
diff --git a/wear/protolayout/protolayout-expression/build.gradle b/wear/protolayout/protolayout-expression/build.gradle
index 57ef876..c7124fa 100644
--- a/wear/protolayout/protolayout-expression/build.gradle
+++ b/wear/protolayout/protolayout-expression/build.gradle
@@ -32,7 +32,7 @@
annotationProcessor(libs.nullaway)
api("androidx.annotation:annotation:1.2.0")
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation("androidx.collection:collection:1.2.0")
implementation(project(path: ":wear:protolayout:protolayout-proto", configuration: "shadow"))
diff --git a/wear/protolayout/protolayout-material/build.gradle b/wear/protolayout/protolayout-material/build.gradle
index 05bb3e637..a09bf05 100644
--- a/wear/protolayout/protolayout-material/build.gradle
+++ b/wear/protolayout/protolayout-material/build.gradle
@@ -35,7 +35,7 @@
api(project(":wear:protolayout:protolayout"))
implementation(project(":wear:protolayout:protolayout-material-core"))
implementation(project(":wear:protolayout:protolayout-proto"))
- implementation("androidx.annotation:annotation-experimental:1.3.0")
+ implementation(project(":annotation:annotation-experimental"))
androidTestImplementation(libs.junit)
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testExtJunit)
diff --git a/wear/protolayout/protolayout/build.gradle b/wear/protolayout/protolayout/build.gradle
index f86420d..d6a862c 100644
--- a/wear/protolayout/protolayout/build.gradle
+++ b/wear/protolayout/protolayout/build.gradle
@@ -32,7 +32,7 @@
annotationProcessor(libs.nullaway)
api("androidx.annotation:annotation:1.2.0")
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation(project(path: ":wear:protolayout:protolayout-proto", configuration: "shadow"))
api(project(":wear:protolayout:protolayout-expression"))
diff --git a/wear/tiles/tiles/build.gradle b/wear/tiles/tiles/build.gradle
index 40c8e70..4afba58 100644
--- a/wear/tiles/tiles/build.gradle
+++ b/wear/tiles/tiles/build.gradle
@@ -35,7 +35,7 @@
api(project(":wear:protolayout:protolayout-expression"))
api(libs.guavaListenableFuture)
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation("androidx.concurrent:concurrent-futures:1.1.0")
implementation(project(path: ":wear:tiles:tiles-proto"))
diff --git a/window/extensions/extensions/build.gradle b/window/extensions/extensions/build.gradle
index 492a0d0..991473b 100644
--- a/window/extensions/extensions/build.gradle
+++ b/window/extensions/extensions/build.gradle
@@ -31,7 +31,7 @@
dependencies {
implementation("androidx.annotation:annotation:1.6.0")
- implementation("androidx.annotation:annotation-experimental:1.3.1")
+ implementation(project(":annotation:annotation-experimental"))
implementation("androidx.window.extensions.core:core:1.0.0")
testImplementation(libs.robolectric)
diff --git a/work/work-runtime/build.gradle b/work/work-runtime/build.gradle
index 0119b4a..6f9cc9e 100644
--- a/work/work-runtime/build.gradle
+++ b/work/work-runtime/build.gradle
@@ -67,7 +67,7 @@
implementation("androidx.core:core:1.12.0")
implementation("androidx.room:room-ktx:2.6.1")
implementation("androidx.concurrent:concurrent-futures:1.1.0")
- api("androidx.annotation:annotation-experimental:1.0.0")
+ api(projectOrArtifact(":annotation:annotation-experimental"))
api(libs.guavaListenableFuture)
api("androidx.lifecycle:lifecycle-livedata:2.6.2")
api("androidx.startup:startup-runtime:1.1.1")