From 9441c3d8a71de12665e32d388af310b3b8d56820 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 09:36:02 +0000 Subject: [PATCH 01/11] [dependabot]: Bump com.google.ads.interactivemedia.v3:interactivemedia Bumps com.google.ads.interactivemedia.v3:interactivemedia from 3.36.0 to 3.37.0. --- updated-dependencies: - dependency-name: com.google.ads.interactivemedia.v3:interactivemedia dependency-version: 3.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/interactive_media_ads/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/interactive_media_ads/android/build.gradle b/packages/interactive_media_ads/android/build.gradle index d9aecd0ed70..0790067dac8 100644 --- a/packages/interactive_media_ads/android/build.gradle +++ b/packages/interactive_media_ads/android/build.gradle @@ -50,7 +50,7 @@ android { dependencies { implementation("androidx.annotation:annotation:1.9.1") implementation("androidx.core:core-ktx:1.13.0") - implementation("com.google.ads.interactivemedia.v3:interactivemedia:3.36.0") + implementation("com.google.ads.interactivemedia.v3:interactivemedia:3.37.0") testImplementation("junit:junit:4.13.2") testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.mockito.kotlin:mockito-kotlin:6.0.0") From 84cbb408da4c2922a0490e3944099f9a900edd49 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Tue, 30 Sep 2025 16:01:20 -0400 Subject: [PATCH 02/11] add desugaring dep --- script/tool/lib/src/create_all_packages_app_command.dart | 7 +++++++ 1 file changed, 7 insertions(+) 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 d50dc0d22df..aa227e9d5a7 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -239,6 +239,11 @@ dependencies {} ? ' implementation("androidx.lifecycle:lifecycle-runtime:2.2.0-rc01")' : " implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-rc01'"; + // Desugaring is required for interactive_media_ads. + final String desugaringDependency = gradleFileIsKotlin + ? ' implementation("com.android.tools:desugar_jdk_libs:2.1.5")' + : " implementation 'com.android.tools:desugar_jdk_libs:2.1.5'"; + _adjustFile( gradleFile, replacements: >{ @@ -256,12 +261,14 @@ dependencies {} RegExp(r'^dependencies\s+{\s*}$'): [ 'dependencies {', lifecycleDependency, + desugaringDependency, '}', ], // - Handle a normal dependencies section. RegExp(r'^dependencies\s+{$'): [ 'dependencies {', lifecycleDependency, + desugaringDependency, ], // - See below for handling of the case where there is no dependencies // section. From be621d04211b64ba14678b79bb0462d85aacd3d7 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:27:29 -0400 Subject: [PATCH 03/11] add desugaring and version bump --- packages/interactive_media_ads/CHANGELOG.md | 7 +++++++ script/tool/lib/src/create_all_packages_app_command.dart | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/packages/interactive_media_ads/CHANGELOG.md b/packages/interactive_media_ads/CHANGELOG.md index 456b0b506d4..8391577b409 100644 --- a/packages/interactive_media_ads/CHANGELOG.md +++ b/packages/interactive_media_ads/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.2.8 + +* Bumps `com.google.ads.interactivemedia.v3:interactivemedia` from 3.36.0 to 3.37.0. +* Adds app desugaring as a requirement for apps integrating the IMA SDK. Apps without desugaring + enabled won't build with the current or future IMA versions. To enable app desugaring, `README.md` + to your project. + ## 0.2.7 * Adds support to retrieve content time offsets at which ad breaks are scheduled. See 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 aa227e9d5a7..d3cbdddeb82 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -254,6 +254,10 @@ dependencies {} } }, regexReplacements: >{ + RegExp(r'^compileOptions\s+{$'): [ + 'compileOptions {', + 'coreLibraryDesugaringEnabled true', + ], // Tests for https://github.com/flutter/flutter/issues/43383 // Handling of 'dependencies' is more complex since it hasn't been very // stable across template versions. From fdf6ab9bb2f246adc5760f78c702d518ae896fcc Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:29:21 -0400 Subject: [PATCH 04/11] fix changelog --- packages/interactive_media_ads/CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/interactive_media_ads/CHANGELOG.md b/packages/interactive_media_ads/CHANGELOG.md index 8391577b409..81462483be1 100644 --- a/packages/interactive_media_ads/CHANGELOG.md +++ b/packages/interactive_media_ads/CHANGELOG.md @@ -1,9 +1,8 @@ ## 0.2.8 * Bumps `com.google.ads.interactivemedia.v3:interactivemedia` from 3.36.0 to 3.37.0. -* Adds app desugaring as a requirement for apps integrating the IMA SDK. Apps without desugaring - enabled won't build with the current or future IMA versions. To enable app desugaring, `README.md` - to your project. +* Adds app desugaring as a requirement for Android apps. Apps without desugaring enabled won't build + with the current or future IMA versions. To enable app desugaring, see `README.md`. ## 0.2.7 From 1fa7ed3c682cb42903f9633aa97cd1a4694a13ac Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:24:28 -0400 Subject: [PATCH 05/11] try handling kotlin --- script/tool/lib/src/create_all_packages_app_command.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 d3cbdddeb82..b2c017c2a2f 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -256,7 +256,10 @@ dependencies {} regexReplacements: >{ RegExp(r'^compileOptions\s+{$'): [ 'compileOptions {', - 'coreLibraryDesugaringEnabled true', + if (gradleFileIsKotlin) + 'coreLibraryDesugaringEnabled = true' + else + 'coreLibraryDesugaringEnabled true', ], // Tests for https://github.com/flutter/flutter/issues/43383 // Handling of 'dependencies' is more complex since it hasn't been very From 21c956f0cb6dc0fb76c90163aee747e5ac2a4d82 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:32:23 -0400 Subject: [PATCH 06/11] fix compile options --- script/tool/lib/src/create_all_packages_app_command.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b2c017c2a2f..978495513b5 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -254,7 +254,7 @@ dependencies {} } }, regexReplacements: >{ - RegExp(r'^compileOptions\s+{$'): [ + RegExp(r'compileOptions\s+{$'): [ 'compileOptions {', if (gradleFileIsKotlin) 'coreLibraryDesugaringEnabled = true' From 1f6d35033925d325fac86537fb695df954d5cbc7 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:36:13 -0400 Subject: [PATCH 07/11] add comment --- script/tool/lib/src/create_all_packages_app_command.dart | 1 + 1 file changed, 1 insertion(+) 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 978495513b5..ab4805f20ad 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -254,6 +254,7 @@ dependencies {} } }, regexReplacements: >{ + // Desugaring is required for interactive_media_ads. RegExp(r'compileOptions\s+{$'): [ 'compileOptions {', if (gradleFileIsKotlin) From 007d415ea562f77d1dd80b9ca2d41a029683f250 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:48:00 -0400 Subject: [PATCH 08/11] no equals --- script/tool/lib/src/create_all_packages_app_command.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) 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 ab4805f20ad..802d64969f1 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -257,10 +257,7 @@ dependencies {} // Desugaring is required for interactive_media_ads. RegExp(r'compileOptions\s+{$'): [ 'compileOptions {', - if (gradleFileIsKotlin) - 'coreLibraryDesugaringEnabled = true' - else - 'coreLibraryDesugaringEnabled true', + 'coreLibraryDesugaringEnabled true', ], // Tests for https://github.com/flutter/flutter/issues/43383 // Handling of 'dependencies' is more complex since it hasn't been very From f3d9d7248f7e2de93c7712d935c2a40add55a061 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 13:11:03 -0400 Subject: [PATCH 09/11] try and get working on kotlin once again --- script/tool/lib/src/create_all_packages_app_command.dart | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 802d64969f1..2afdd82d1dc 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -241,8 +241,8 @@ dependencies {} // Desugaring is required for interactive_media_ads. final String desugaringDependency = gradleFileIsKotlin - ? ' implementation("com.android.tools:desugar_jdk_libs:2.1.5")' - : " implementation 'com.android.tools:desugar_jdk_libs:2.1.5'"; + ? ' coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")' + : " coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'"; _adjustFile( gradleFile, @@ -257,7 +257,10 @@ dependencies {} // Desugaring is required for interactive_media_ads. RegExp(r'compileOptions\s+{$'): [ 'compileOptions {', - 'coreLibraryDesugaringEnabled true', + if (gradleFileIsKotlin) + 'isCoreLibraryDesugaringEnabled = true' + else + 'coreLibraryDesugaringEnabled true', ], // Tests for https://github.com/flutter/flutter/issues/43383 // Handling of 'dependencies' is more complex since it hasn't been very From 3401e247d1d017e2df90cd86e72f96b98a4818f7 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 14:26:22 -0400 Subject: [PATCH 10/11] update legacy project --- .ci/legacy_project/README.md | 2 ++ .ci/legacy_project/all_packages/android/app/build.gradle | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/.ci/legacy_project/README.md b/.ci/legacy_project/README.md index 322e5b6ca00..ff859c3b369 100644 --- a/.ci/legacy_project/README.md +++ b/.ci/legacy_project/README.md @@ -55,3 +55,5 @@ and then deleting everything but `android/` from it: from version 1.9.0 to 2.1.0. If a user runs into an error with the AGP version, the warning is clear on how to upgrade the version to one that we support. - Modifies `gradle.properties` to not set android.enableJetifier=true. +- Update `app/build.gradle` to enable library desugaring to support + `interactive_media_ads` plugin. diff --git a/.ci/legacy_project/all_packages/android/app/build.gradle b/.ci/legacy_project/all_packages/android/app/build.gradle index 541aeed1a22..9ec72af3691 100644 --- a/.ci/legacy_project/all_packages/android/app/build.gradle +++ b/.ci/legacy_project/all_packages/android/app/build.gradle @@ -26,6 +26,10 @@ android { namespace = "com.example.all_packages" compileSdkVersion flutter.compileSdkVersion + compileOptions { + coreLibraryDesugaringEnabled true + } + defaultConfig { applicationId "com.example.all_packages" minSdkVersion flutter.minSdkVersion @@ -44,3 +48,7 @@ android { flutter { source '../..' } + +dependencies { + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5' +} From bd3478974c244388e4e9378a2201e2ee136116d0 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 1 Oct 2025 14:49:37 -0400 Subject: [PATCH 11/11] version bump --- .../packages/interactive_media_ads/AdsRequestProxyApi.kt | 2 +- .../interactive_media_ads/AdsRequestProxyAPIDelegate.swift | 2 +- packages/interactive_media_ads/pubspec.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt b/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt index fb74ed55930..2853cdf5d19 100644 --- a/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt +++ b/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt @@ -21,7 +21,7 @@ class AdsRequestProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) : * * This must match the version in pubspec.yaml. */ - const val pluginVersion = "0.2.7" + const val pluginVersion = "0.2.8" } override fun setAdTagUrl(pigeon_instance: AdsRequest, adTagUrl: String) { diff --git a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift index 6ac61aa981e..ea5e0d43096 100644 --- a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift +++ b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift @@ -13,7 +13,7 @@ class AdsRequestProxyAPIDelegate: PigeonApiDelegateIMAAdsRequest { /// The current version of the `interactive_media_ads` plugin. /// /// This must match the version in pubspec.yaml. - static let pluginVersion = "0.2.7" + static let pluginVersion = "0.2.8" func pigeonDefaultConstructor( pigeonApi: PigeonApiIMAAdsRequest, adTagUrl: String, adDisplayContainer: IMAAdDisplayContainer, diff --git a/packages/interactive_media_ads/pubspec.yaml b/packages/interactive_media_ads/pubspec.yaml index 385101a9c01..51d79c5a8b8 100644 --- a/packages/interactive_media_ads/pubspec.yaml +++ b/packages/interactive_media_ads/pubspec.yaml @@ -2,7 +2,7 @@ name: interactive_media_ads description: A Flutter plugin for using the Interactive Media Ads SDKs on Android and iOS. repository: https://github.com/flutter/packages/tree/main/packages/interactive_media_ads issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+interactive_media_ads%22 -version: 0.2.7 # This must match the version in +version: 0.2.8 # This must match the version in # `android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt` and # `ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift`