diff --git a/.ci/flutter_master.version b/.ci/flutter_master.version index e8948f8d502..4a692eb2366 100644 --- a/.ci/flutter_master.version +++ b/.ci/flutter_master.version @@ -1 +1 @@ -6790525ce673734ef3a913e301a7001e2f500703 +4faa4a415ec9e96f933393e7b829a1c9768e1a66 diff --git a/packages/camera/camera/example/integration_test/camera_test.dart b/packages/camera/camera/example/integration_test/camera_test.dart index e1fe14a6132..1c5c8526c73 100644 --- a/packages/camera/camera/example/integration_test/camera_test.dart +++ b/packages/camera/camera/example/integration_test/camera_test.dart @@ -13,6 +13,10 @@ import 'package:integration_test/integration_test.dart'; import 'package:path_provider/path_provider.dart'; import 'package:video_player/video_player.dart'; +// Skip due to video_player error. +// See https://github.com/flutter/flutter/issues/157181 +bool skipFor157181 = Platform.isAndroid; + void main() { late Directory testDir; @@ -177,7 +181,7 @@ void main() { await videoController.dispose(); expect(duration, lessThan(recordingTime)); - }); + }, skip: skipFor157181); testWidgets('Pause and resume video recording', (WidgetTester tester) async { final List cameras = await availableCameras(); @@ -225,7 +229,7 @@ void main() { await videoController.dispose(); expect(duration, lessThan(recordingTime - timePaused)); - }, skip: !Platform.isAndroid); + }, skip: !Platform.isAndroid || skipFor157181); testWidgets( 'Android image streaming', diff --git a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart index e733e1a36d6..5da28d229e7 100644 --- a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart +++ b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart @@ -15,6 +15,10 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:video_player/video_player.dart'; +// Skip due to video_player error. +// See https://github.com/flutter/flutter/issues/157181 +const bool skipFor157181 = true; + void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); @@ -210,7 +214,7 @@ void main() { await videoController.dispose(); expect(duration, lessThan(postStopTime)); - }); + }, skip: skipFor157181); testWidgets('Pause and resume video recording', (WidgetTester tester) async { final List cameras = await availableCameras(); @@ -255,5 +259,5 @@ void main() { await videoController.dispose(); expect(duration, lessThan(recordingTime - timePaused)); - }); + }, skip: skipFor157181); } diff --git a/script/tool/lib/src/create_all_packages_app_command.dart b/script/tool/lib/src/create_all_packages_app_command.dart index ee1804fc142..cb94f7e9f6e 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -217,7 +217,13 @@ class CreateAllPackagesAppCommand extends PackageCommand { final File gradleFile = app .platformDirectory(FlutterPlatform.android) .childDirectory('app') - .childFile('build.gradle'); + .listSync() + .whereType() + .firstWhere( + (File file) => file.basename.startsWith('build.gradle'), + ); + + final bool gradleFileIsKotlin = gradleFile.basename.endsWith('kts'); // Ensure that there is a dependencies section, so the dependencies addition // below will work. @@ -229,18 +235,28 @@ dependencies {} '''); } - const String lifecycleDependency = - " implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-rc01'"; + final String lifecycleDependency = gradleFileIsKotlin + ? ' implementation("androidx.lifecycle:lifecycle-runtime:2.2.0-rc01")' + : " implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-rc01'"; _adjustFile( gradleFile, replacements: >{ - // minSdkVersion 21 is required by camera_android. - 'minSdkVersion': ['minSdkVersion 21'], - 'compileSdkVersion': ['compileSdk 34'], + if (gradleFileIsKotlin) + 'compileSdk': ['compileSdk = 34'] + else ...>{ + // minSdkVersion 21 is required by camera_android. + 'minSdkVersion': ['minSdkVersion 21'], + 'compileSdkVersion': ['compileSdk 34'], + } }, additions: >{ - 'defaultConfig {': [' multiDexEnabled true'], + 'defaultConfig {': [ + if (gradleFileIsKotlin) + ' multiDexEnabled = true' + else + ' multiDexEnabled true' + ], }, regexReplacements: >{ // Tests for https://github.com/flutter/flutter/issues/43383