diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index f8cfdc5da340..0e5ce216e775 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.7.4+8 + +* Bumps cameraxVersion from 1.6.1 to 1.6.2. +* Updates androidx.camera:camera-core from 1.6.1 to 1.6.2. +* Updates androidx.camera:camera-camera2 from 1.6.1 to 1.6.2. +* Updates androidx.camera:camera-lifecycle from 1.6.1 to 1.6.2. +* Updates androidx.camera:camera-video from 1.6.1 to 1.6.2. +* Removes the explicit `androidx.concurrent:concurrent-futures` dependency + workaround and its regression test, since camera-core 1.6.2 includes an + upstream fix that makes it unnecessary. + ## 0.7.4+7 * Updates pigeon dev_dependency to ^27.3.2 for analyzer 14 compatibility. diff --git a/packages/camera/camera_android_camerax/android/build.gradle.kts b/packages/camera/camera_android_camerax/android/build.gradle.kts index b527e68f4fda..52315b3fc7a0 100644 --- a/packages/camera/camera_android_camerax/android/build.gradle.kts +++ b/packages/camera/camera_android_camerax/android/build.gradle.kts @@ -76,16 +76,12 @@ android { dependencies { // CameraX core library using the camera2 implementation must use same version number. - val cameraxVersion = "1.6.1" + val cameraxVersion = "1.6.2" implementation("androidx.camera:camera-core:${cameraxVersion}") implementation("androidx.camera:camera-camera2:${cameraxVersion}") implementation("androidx.camera:camera-lifecycle:${cameraxVersion}") implementation("androidx.camera:camera-video:${cameraxVersion}") implementation("com.google.guava:guava:33.5.0-android") - // camera-core's compiled classes reference CallbackToFutureAdapter type annotations; - // without this explicit dependency, javac fails to resolve them during compilation. - // Upstream: https://issuetracker.google.com/issues/543937345 - implementation("androidx.concurrent:concurrent-futures:1.2.0") testImplementation("junit:junit:4.13.2") testImplementation("org.mockito:mockito-core:5.23.0") testImplementation("org.mockito:mockito-inline:5.2.0") diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ConcurrentFuturesDependencyTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ConcurrentFuturesDependencyTest.java deleted file mode 100644 index 339dbac0cae4..000000000000 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ConcurrentFuturesDependencyTest.java +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2013 The Flutter Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.plugins.camerax; - -import static org.junit.Assert.assertNotNull; - -import androidx.concurrent.futures.CallbackToFutureAdapter; -import org.junit.Test; - -/** - * Regression test for https://github.com/flutter/flutter/issues/190505. - * - *
{@code camera-core}'s compiled classes carry Jspecify {@code @NonNull} type annotations on - * members that reference {@link CallbackToFutureAdapter}. javac needs that class on the compile - * classpath to process those annotations, even though this plugin never calls the annotated members - * directly. Without an explicit {@code androidx.concurrent:concurrent-futures} dependency, - * resolution of that class can silently depend on transitive dependency behavior and fail with - * "class file for androidx.concurrent.futures.CallbackToFutureAdapter not found" during {@code - * compileDebugJavaWithJavac}. - * - *
The static reference to {@link CallbackToFutureAdapter} below means that if the explicit - * dependency in {@code android/build.gradle.kts} is ever removed, this test target fails to compile - * instead of the break only surfacing as a build error for consumers. - */ -public class ConcurrentFuturesDependencyTest { - @Test - public void callbackToFutureAdapter_isOnClasspath() { - assertNotNull(CallbackToFutureAdapter.class); - } -} diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index fc7165f5fc7b..4ce70f4588b3 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_android_camerax description: Android implementation of the camera plugin using the CameraX library. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.7.4+7 +version: 0.7.4+8 environment: sdk: ^3.12.0