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 f5e5680598a..1b95c312d91 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.5 + +* Replaces `getCountryCode` with `countryCode`. + ## 0.3.4+1 * Adds documentation for UserChoice and Alternative Billing. diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart index 9b9e2f1b1ea..afa6932776b 100644 --- a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart +++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart @@ -317,9 +317,14 @@ class InAppPurchaseAndroidPlatform extends InAppPurchasePlatform { /// /// See: https://developer.android.com/reference/com/android/billingclient/api/BillingConfig /// See: https://unicode.org/cldr/charts/latest/supplemental/territory_containment_un_m_49.html - Future getCountryCode() async { + @override + Future countryCode() async { final BillingConfigWrapper billingConfig = await billingClientManager .runWithClient((BillingClient client) => client.getBillingConfig()); return billingConfig.countryCode; } + + /// Use countryCode instead. + @Deprecated('Use countryCode') + Future getCountryCode() => countryCode(); } 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 0e711948aef..b47cc1d5b12 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.4+1 +version: 0.3.5 environment: sdk: ^3.1.0 diff --git a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart index c5e5d628ef8..ee183eeba71 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart @@ -760,9 +760,12 @@ void main() { when(mockApi.getBillingConfigAsync()) .thenAnswer((_) async => platformBillingConfigFromWrapper(expected)); - final String countryCode = await iapAndroidPlatform.getCountryCode(); + final String countryCode = await iapAndroidPlatform.countryCode(); expect(countryCode, equals(expectedCountryCode)); + // Ensure deprecated code keeps working until removed. + expect(await iapAndroidPlatform.getCountryCode(), + equals(expectedCountryCode)); }); }); } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md index 114dc9e8df5..46c455c8093 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.15 + +* Replaces `getCountryCode` with `countryCode`. + ## 0.3.14 * Adds `countryCode` API. diff --git a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart index acdc4a2979c..713a8c909e6 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart @@ -158,9 +158,14 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { /// /// Uses the ISO 3166-1 Alpha-3 country code representation. /// See: https://developer.apple.com/documentation/storekit/skstorefront?language=objc - Future getCountryCode() async { - return (await _skPaymentQueueWrapper.storefront())?.countryCode; + @override + Future countryCode() async { + return (await _skPaymentQueueWrapper.storefront())?.countryCode ?? ''; } + + /// Use countryCode instead. + @Deprecated('Use countryCode') + Future getCountryCode() => countryCode(); } enum _TransactionRestoreState { diff --git a/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml index d20cdec6ff1..a2b005787b3 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml @@ -2,7 +2,7 @@ name: in_app_purchase_storekit description: An implementation for the iOS and macOS platforms of the Flutter `in_app_purchase` plugin. This uses the StoreKit Framework. repository: https://github.com/flutter/packages/tree/main/packages/in_app_purchase/in_app_purchase_storekit issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 0.3.14 +version: 0.3.15 environment: sdk: ^3.2.3 diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart index 97d13509fdb..56dc89fb190 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart @@ -576,8 +576,10 @@ void main() { const String expectedCountryCode = 'CA'; fakeStoreKitPlatform.setStoreFrontInfo( countryCode: expectedCountryCode, identifier: 'ABC'); - final String? countryCode = await iapStoreKitPlatform.getCountryCode(); + final String countryCode = await iapStoreKitPlatform.countryCode(); expect(countryCode, expectedCountryCode); + // Ensure deprecated code keeps working until removed. + expect(await iapStoreKitPlatform.countryCode(), expectedCountryCode); }); }); }