diff --git a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md index f32df46b48d..f4ced732d72 100644 --- a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.0+6 + +* Bumps com.android.billingclient:billing from 5.2.0 to 6.0.0. + ## 0.3.0+5 * Bumps org.jetbrains.kotlin:kotlin-bom from 1.8.0 to 1.8.21. diff --git a/packages/in_app_purchase/in_app_purchase_android/android/build.gradle b/packages/in_app_purchase/in_app_purchase_android/android/build.gradle index 3a2344bda3e..ea081bfd1bb 100644 --- a/packages/in_app_purchase/in_app_purchase_android/android/build.gradle +++ b/packages/in_app_purchase/in_app_purchase_android/android/build.gradle @@ -61,7 +61,7 @@ dependencies { // org.jetbrains.kotlin:kotlin-bom artifact purpose is to align kotlin stdlib and related code versions. // See: https://youtrack.jetbrains.com/issue/KT-55297/kotlin-stdlib-should-declare-constraints-on-kotlin-stdlib-jdk8-and-kotlin-stdlib-jdk7 implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.21")) - implementation 'com.android.billingclient:billing:5.2.0' + implementation 'com.android.billingclient:billing:6.0.0' testImplementation 'junit:junit:4.13.2' testImplementation 'org.json:json:20230227' testImplementation 'org.mockito:mockito-core:4.7.0' diff --git a/packages/in_app_purchase/in_app_purchase_android/android/src/main/java/io/flutter/plugins/inapppurchase/MethodCallHandlerImpl.java b/packages/in_app_purchase/in_app_purchase_android/android/src/main/java/io/flutter/plugins/inapppurchase/MethodCallHandlerImpl.java index e6c6e0ae793..594ae8e21cf 100644 --- a/packages/in_app_purchase/in_app_purchase_android/android/src/main/java/io/flutter/plugins/inapppurchase/MethodCallHandlerImpl.java +++ b/packages/in_app_purchase/in_app_purchase_android/android/src/main/java/io/flutter/plugins/inapppurchase/MethodCallHandlerImpl.java @@ -22,7 +22,6 @@ import com.android.billingclient.api.BillingClient; import com.android.billingclient.api.BillingClientStateListener; import com.android.billingclient.api.BillingFlowParams; -import com.android.billingclient.api.BillingFlowParams.ProrationMode; import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.ConsumeParams; import com.android.billingclient.api.ConsumeResponseListener; @@ -131,6 +130,7 @@ void onDetachedFromActivity() { } @Override + @SuppressWarnings(value = "deprecation") public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) { switch (call.method) { case MethodNames.IS_READY: @@ -156,7 +156,8 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result (String) call.argument("purchaseToken"), call.hasArgument("prorationMode") ? (int) call.argument("prorationMode") - : ProrationMode.UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY, + : com.android.billingclient.api.BillingFlowParams.ProrationMode + .UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY, result); break; case MethodNames.QUERY_PURCHASES_ASYNC: @@ -222,6 +223,7 @@ private void queryProductDetailsAsync( }); } + @SuppressWarnings(value = "deprecation") private void launchBillingFlow( String product, @Nullable String offerToken, @@ -273,7 +275,9 @@ private void launchBillingFlow( } if (oldProduct == null - && prorationMode != ProrationMode.UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY) { + && prorationMode + != com.android.billingclient.api.BillingFlowParams.ProrationMode + .UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY) { result.error( "IN_APP_PURCHASE_REQUIRE_OLD_PRODUCT", "launchBillingFlow failed because oldProduct is null. You must provide a valid oldProduct in order to use a proration mode.", diff --git a/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/MethodCallHandlerTest.java b/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/MethodCallHandlerTest.java index 6f105112f1d..23c9313c021 100644 --- a/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/MethodCallHandlerTest.java +++ b/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/MethodCallHandlerTest.java @@ -417,6 +417,7 @@ public void launchBillingFlow_ok_AccountId() { } @Test + @SuppressWarnings(value = "deprecation") public void launchBillingFlow_ok_Proration() { // Fetch the product details first and query the method call String productId = "foo"; @@ -454,6 +455,7 @@ public void launchBillingFlow_ok_Proration() { } @Test + @SuppressWarnings(value = "deprecation") public void launchBillingFlow_ok_Proration_with_null_OldProduct() { // Fetch the product details first and query the method call String productId = "foo"; @@ -488,6 +490,7 @@ public void launchBillingFlow_ok_Proration_with_null_OldProduct() { } @Test + @SuppressWarnings(value = "deprecation") public void launchBillingFlow_ok_Full() { // Fetch the product details first and query the method call String productId = "foo"; diff --git a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml index 2132e84abba..d8ac5f6d38c 100644 --- a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml @@ -2,7 +2,7 @@ name: in_app_purchase_android description: An implementation for the Android platform of the Flutter `in_app_purchase` plugin. This uses the Android BillingClient APIs. repository: https://github.com/flutter/packages/tree/main/packages/in_app_purchase/in_app_purchase_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 0.3.0+5 +version: 0.3.0+6 environment: sdk: ">=2.18.0 <4.0.0"