[in_app_purchase] fix "autoConsume" param in "buyConsumable" (#3957)
diff --git a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
index 0d479fc..0f75d18 100644
--- a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.2
+
+* Fix ignoring "autoConsume" param in "InAppPurchase.instance.buyConsumable".
+
## 1.0.1
* Migrate maven repository from jcenter to mavenCentral.
diff --git a/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart b/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart
index f8547e4..4553619 100644
--- a/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart
+++ b/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart
@@ -162,6 +162,7 @@
}) =>
InAppPurchasePlatform.instance.buyConsumable(
purchaseParam: purchaseParam,
+ autoConsume: autoConsume,
);
/// Mark that purchased content has been delivered to the user.
diff --git a/packages/in_app_purchase/in_app_purchase/pubspec.yaml b/packages/in_app_purchase/in_app_purchase/pubspec.yaml
index 79540c2..aeb7b63 100644
--- a/packages/in_app_purchase/in_app_purchase/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase/pubspec.yaml
@@ -2,7 +2,7 @@
description: A Flutter plugin for in-app purchases. Exposes APIs for making in-app purchases through the App Store and Google Play.
repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 1.0.1
+version: 1.0.2
environment:
sdk: ">=2.12.0 <3.0.0"
diff --git a/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart b/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart
index 494c314..b8c7bd8 100644
--- a/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart
+++ b/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart
@@ -87,15 +87,33 @@
});
test('buyConsumable', () async {
+ final purchaseParam = PurchaseParam(productDetails: productDetails);
final bool result = await inAppPurchase.buyConsumable(
- purchaseParam: PurchaseParam(
- productDetails: productDetails,
- ),
+ purchaseParam: purchaseParam,
);
expect(result, true);
expect(fakePlatform.log, <Matcher>[
- isMethodCall('buyConsumable', arguments: null),
+ isMethodCall('buyConsumable', arguments: {
+ "purchaseParam": purchaseParam,
+ "autoConsume": true,
+ }),
+ ]);
+ });
+
+ test('buyConsumable with autoConsume=false', () async {
+ final purchaseParam = PurchaseParam(productDetails: productDetails);
+ final bool result = await inAppPurchase.buyConsumable(
+ purchaseParam: purchaseParam,
+ autoConsume: false,
+ );
+
+ expect(result, true);
+ expect(fakePlatform.log, <Matcher>[
+ isMethodCall('buyConsumable', arguments: {
+ "purchaseParam": purchaseParam,
+ "autoConsume": false,
+ }),
]);
});
@@ -152,7 +170,10 @@
required PurchaseParam purchaseParam,
bool autoConsume = true,
}) {
- log.add(MethodCall('buyConsumable'));
+ log.add(MethodCall('buyConsumable', {
+ "purchaseParam": purchaseParam,
+ "autoConsume": autoConsume,
+ }));
return Future.value(true);
}