From b7951afd183006929193c8ba61223afa4946930a Mon Sep 17 00:00:00 2001 From: Nikita Zhelonkin Date: Fri, 1 Nov 2019 12:22:19 +0300 Subject: [PATCH 1/4] Added serviceTimeout code for google iab --- .../src/billing_client_wrappers/billing_client_wrapper.dart | 3 +++ 1 file changed, 3 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 6d7cd83eb0ad..476f2c50dab8 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 @@ -248,6 +248,9 @@ 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. + @JsonValue(-3) + serviceTimeout, + @JsonValue(-2) featureNotSupported, From 003cc64bf6d8cb6fe5d10d03b18a412f0c1c5150 Mon Sep 17 00:00:00 2001 From: Nikita Zhelonkin Date: Mon, 11 Nov 2019 10:16:16 +0300 Subject: [PATCH 2/4] Generate enum value --- .../lib/src/billing_client_wrappers/enum_converters.g.dart | 1 + 1 file changed, 1 insertion(+) 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 ec8d57ba60e1..f2b6bf01c070 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 @@ -32,6 +32,7 @@ T _$enumDecode(Map enumValues, dynamic source) { } const _$BillingResponseEnumMap = { + BillingResponse.serviceTimeout: -3, BillingResponse.featureNotSupported: -2, BillingResponse.serviceDisconnected: -1, BillingResponse.ok: 0, From 258e8448b8fcf2095096449333e96ed94e3d1c99 Mon Sep 17 00:00:00 2001 From: jumper423 Date: Sun, 6 Sep 2020 00:05:26 +0300 Subject: [PATCH 3/4] in_app_purchase BillingResponseEnum test --- packages/in_app_purchase/CHANGELOG.md | 4 + packages/in_app_purchase/pubspec.yaml | 2 +- .../enum_converters_test.dart | 95 +++++++++++++++++++ 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 packages/in_app_purchase/test/billing_client_wrappers/enum_converters_test.dart diff --git a/packages/in_app_purchase/CHANGELOG.md b/packages/in_app_purchase/CHANGELOG.md index 65f7f86a16e6..49e5845581af 100644 --- a/packages/in_app_purchase/CHANGELOG.md +++ b/packages/in_app_purchase/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.4+6 + +* Android: Fixed bug due to code -3 (SERVICE_TIMEOUT) in `BillingResponse` + ## 0.3.4+5 * Added necessary README docs for getting started with Android. diff --git a/packages/in_app_purchase/pubspec.yaml b/packages/in_app_purchase/pubspec.yaml index 42bb0d8f4619..55ac120b30c6 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+5 +version: 0.3.4+6 dependencies: async: ^2.0.8 diff --git a/packages/in_app_purchase/test/billing_client_wrappers/enum_converters_test.dart b/packages/in_app_purchase/test/billing_client_wrappers/enum_converters_test.dart new file mode 100644 index 000000000000..afa253fe768c --- /dev/null +++ b/packages/in_app_purchase/test/billing_client_wrappers/enum_converters_test.dart @@ -0,0 +1,95 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +import 'package:test/test.dart'; +import 'package:in_app_purchase/billing_client_wrappers.dart'; +import 'package:in_app_purchase/src/billing_client_wrappers/enum_converters.dart'; + +void main() { + group('BillingResponse', () { + test('serviceTimeout', () { + final BillingResponse parsed = BillingResponse.serviceTimeout; + final BillingResponse expected = BillingResponseConverter().fromJson(-3); + + expect(parsed, equals(expected)); + }); + + test('featureNotSupported', () { + final BillingResponse parsed = BillingResponse.featureNotSupported; + final BillingResponse expected = BillingResponseConverter().fromJson(-2); + + expect(parsed, equals(expected)); + }); + + test('serviceDisconnected', () { + final BillingResponse parsed = BillingResponse.serviceDisconnected; + final BillingResponse expected = BillingResponseConverter().fromJson(-1); + + expect(parsed, equals(expected)); + }); + + test('ok', () { + final BillingResponse parsed = BillingResponse.ok; + final BillingResponse expected = BillingResponseConverter().fromJson(0); + + expect(parsed, equals(expected)); + }); + + test('userCanceled', () { + final BillingResponse parsed = BillingResponse.userCanceled; + final BillingResponse expected = BillingResponseConverter().fromJson(1); + + expect(parsed, equals(expected)); + }); + + test('serviceUnavailable', () { + final BillingResponse parsed = BillingResponse.serviceUnavailable; + final BillingResponse expected = BillingResponseConverter().fromJson(2); + + expect(parsed, equals(expected)); + }); + + test('billingUnavailable', () { + final BillingResponse parsed = BillingResponse.billingUnavailable; + final BillingResponse expected = BillingResponseConverter().fromJson(3); + + expect(parsed, equals(expected)); + }); + + test('itemUnavailable', () { + final BillingResponse parsed = BillingResponse.itemUnavailable; + final BillingResponse expected = BillingResponseConverter().fromJson(4); + + expect(parsed, equals(expected)); + }); + + test('developerError', () { + final BillingResponse parsed = BillingResponse.developerError; + final BillingResponse expected = BillingResponseConverter().fromJson(5); + + expect(parsed, equals(expected)); + }); + + test('error', () { + final BillingResponse parsed = BillingResponse.error; + final BillingResponse expected = BillingResponseConverter().fromJson(6); + + expect(parsed, equals(expected)); + }); + + test('itemAlreadyOwned', () { + final BillingResponse parsed = BillingResponse.itemAlreadyOwned; + final BillingResponse expected = BillingResponseConverter().fromJson(7); + + expect(parsed, equals(expected)); + }); + + test('itemNotOwned', () { + final BillingResponse parsed = BillingResponse.itemNotOwned; + final BillingResponse expected = BillingResponseConverter().fromJson(8); + + expect(parsed, equals(expected)); + }); + }); +} From 48950024721b1c93e63995876168dacb89e48586 Mon Sep 17 00:00:00 2001 From: jumper423 Date: Sun, 6 Sep 2020 16:45:41 +0300 Subject: [PATCH 4/4] in_app_purchase BillingResponseEnum test --- .../lib/src/billing_client_wrappers/enum_converters.g.dart | 1 - 1 file changed, 1 deletion(-) 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 054038c4a402..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 @@ -42,7 +42,6 @@ T _$enumDecode( return value ?? unknownValue; } - const _$BillingResponseEnumMap = { BillingResponse.serviceTimeout: -3, BillingResponse.featureNotSupported: -2,