From 6f7ea347ee64aa7047d2b668ef9158587426fc55 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Tue, 24 Nov 2020 17:18:58 -0500 Subject: [PATCH 1/8] Added a failing test case (for enum value -3) --- .../billing_client_wrapper_test.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart index 54f7c3eda77f..4c02c46155e9 100644 --- a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart +++ b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart @@ -39,6 +39,15 @@ void main() { }); }); + // Make sure that the enum values are supported and that the converter call + // does not fail + group('enumValues', () { + test('enum -3', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(-3); + }); + }); + group('startConnection', () { final String methodName = 'BillingClient#startConnection(BillingClientStateListener)'; From ce8b70de63e3db56120355092d47d8067d24ca72 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Tue, 24 Nov 2020 17:32:49 -0500 Subject: [PATCH 2/8] Added the changes from NikitaZhelonkin. Appears to fix the issue. --- .../src/billing_client_wrappers/billing_client_wrapper.dart | 5 +++++ .../lib/src/billing_client_wrappers/enum_converters.g.dart | 1 + 2 files changed, 6 insertions(+) diff --git a/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart b/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart index 0c8b348f4cd0..31f66d4c4ef6 100644 --- a/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart +++ b/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart @@ -314,6 +314,11 @@ enum BillingResponse { // WARNING: Changes to this class need to be reflected in our generated code. // Run `flutter packages pub run build_runner watch` to rebuild and watch for // further changes. + + // The request has reached the maximum timeout before Google Play responds. + @JsonValue(-3) + serviceTimeout, + /// The requested feature is not supported by Play Store on the current device. @JsonValue(-2) featureNotSupported, diff --git a/packages/in_app_purchase/lib/src/billing_client_wrappers/enum_converters.g.dart b/packages/in_app_purchase/lib/src/billing_client_wrappers/enum_converters.g.dart index 899304b08273..947700df64df 100644 --- a/packages/in_app_purchase/lib/src/billing_client_wrappers/enum_converters.g.dart +++ b/packages/in_app_purchase/lib/src/billing_client_wrappers/enum_converters.g.dart @@ -43,6 +43,7 @@ T _$enumDecode( } const _$BillingResponseEnumMap = { + BillingResponse.serviceTimeout: -3, BillingResponse.featureNotSupported: -2, BillingResponse.serviceDisconnected: -1, BillingResponse.ok: 0, From 1d5054d8eb060e26662c09038ddd83baa0f7581c Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Tue, 24 Nov 2020 17:35:49 -0500 Subject: [PATCH 3/8] This should be a /// not a // --- .../lib/src/billing_client_wrappers/billing_client_wrapper.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart b/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart index 31f66d4c4ef6..2aa91d9f9225 100644 --- a/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart +++ b/packages/in_app_purchase/lib/src/billing_client_wrappers/billing_client_wrapper.dart @@ -315,7 +315,7 @@ enum BillingResponse { // Run `flutter packages pub run build_runner watch` to rebuild and watch for // further changes. - // The request has reached the maximum timeout before Google Play responds. + /// The request has reached the maximum timeout before Google Play responds. @JsonValue(-3) serviceTimeout, From f93970b6207d1a64dcef5ef4056a106ae117f264 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Tue, 24 Nov 2020 17:36:59 -0500 Subject: [PATCH 4/8] What the heck? Let's add all the other billing responses too. --- .../billing_client_wrapper_test.dart | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart index 4c02c46155e9..561fac3e8d85 100644 --- a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart +++ b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart @@ -42,10 +42,54 @@ void main() { // Make sure that the enum values are supported and that the converter call // does not fail group('enumValues', () { - test('enum -3', () async { + test('-3', () async { BillingResponseConverter converter = BillingResponseConverter(); converter.fromJson(-3); }); + test('-2', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(-2); + }); + test('-1', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(-1); + }); + test('0', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(0); + }); + test('1', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(1); + }); + test('2', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(2); + }); + test('3', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(3); + }); + test('4', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(4); + }); + test('5', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(5); + }); + test('6', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(6); + }); + test('7', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(7); + }); + test('8', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(8); + }); }); group('startConnection', () { From 4c5cceaf5b3847f8fc57f9232ee64e2d20430d35 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Tue, 24 Nov 2020 18:04:33 -0500 Subject: [PATCH 5/8] Tabs to spaces --- .../billing_client_wrapper_test.dart | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart index 561fac3e8d85..d3ce5c8de87f 100644 --- a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart +++ b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart @@ -46,50 +46,50 @@ void main() { BillingResponseConverter converter = BillingResponseConverter(); converter.fromJson(-3); }); - test('-2', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(-2); - }); - test('-1', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(-1); - }); - test('0', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(0); - }); - test('1', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(1); - }); - test('2', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(2); - }); - test('3', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(3); - }); - test('4', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(4); - }); - test('5', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(5); - }); - test('6', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(6); - }); - test('7', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(7); - }); - test('8', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(8); - }); + test('-2', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(-2); + }); + test('-1', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(-1); + }); + test('0', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(0); + }); + test('1', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(1); + }); + test('2', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(2); + }); + test('3', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(3); + }); + test('4', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(4); + }); + test('5', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(5); + }); + test('6', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(6); + }); + test('7', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(7); + }); + test('8', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(8); + }); }); group('startConnection', () { From 792a3acc5872db45edaa9075e942af5675d28d81 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Tue, 24 Nov 2020 18:20:28 -0500 Subject: [PATCH 6/8] Upped version number and added changelog --- packages/in_app_purchase/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/in_app_purchase/CHANGELOG.md b/packages/in_app_purchase/CHANGELOG.md index 0a5794f931a8..d7124407d711 100644 --- a/packages/in_app_purchase/CHANGELOG.md +++ b/packages/in_app_purchase/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.5 + +* [Android] Fixed: added support for the SERVICE_TIMEOUT (-3) response code. + ## 0.3.4+18 * Fix outdated links across a number of markdown files ([#3276](https://github.com/flutter/plugins/pull/3276)) From e7ce46dd8d0b59331607732f4f89c9b754cdb545 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Mon, 30 Nov 2020 18:55:43 -0500 Subject: [PATCH 7/8] Merged these tests into a single test --- .../billing_client_wrapper_test.dart | 63 +++++-------------- 1 file changed, 14 insertions(+), 49 deletions(-) diff --git a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart index d3ce5c8de87f..eee33a698237 100644 --- a/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart +++ b/packages/in_app_purchase/test/billing_client_wrappers/billing_client_wrapper_test.dart @@ -41,55 +41,20 @@ void main() { // Make sure that the enum values are supported and that the converter call // does not fail - group('enumValues', () { - test('-3', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(-3); - }); - test('-2', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(-2); - }); - test('-1', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(-1); - }); - test('0', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(0); - }); - test('1', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(1); - }); - test('2', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(2); - }); - test('3', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(3); - }); - test('4', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(4); - }); - test('5', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(5); - }); - test('6', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(6); - }); - test('7', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(7); - }); - test('8', () async { - BillingResponseConverter converter = BillingResponseConverter(); - converter.fromJson(8); - }); + test('response states', () async { + BillingResponseConverter converter = BillingResponseConverter(); + converter.fromJson(-3); + converter.fromJson(-2); + converter.fromJson(-1); + converter.fromJson(0); + converter.fromJson(1); + converter.fromJson(2); + converter.fromJson(3); + converter.fromJson(4); + converter.fromJson(5); + converter.fromJson(6); + converter.fromJson(7); + converter.fromJson(8); }); group('startConnection', () { From 879fc36607efc427c8fd0f7d6f6e76f50d133b51 Mon Sep 17 00:00:00 2001 From: Andrew Zuo Date: Fri, 4 Dec 2020 10:39:26 -0500 Subject: [PATCH 8/8] Changed version from 0.3.4+17 to 0.3.5 --- packages/in_app_purchase/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/in_app_purchase/pubspec.yaml b/packages/in_app_purchase/pubspec.yaml index 5e5ef2447278..883f8c39c273 100644 --- a/packages/in_app_purchase/pubspec.yaml +++ b/packages/in_app_purchase/pubspec.yaml @@ -1,7 +1,7 @@ name: in_app_purchase description: A Flutter plugin for in-app purchases. Exposes APIs for making in-app purchases through the App Store and Google Play. homepage: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase -version: 0.3.4+18 +version: 0.3.5 dependencies: async: ^2.0.8