Revert AIDL workaround for consumed consumables#3255
Conversation
This reverts commit f452c66.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3255 +/- ##
==========================================
- Coverage 79.48% 79.20% -0.28%
==========================================
Files 357 352 -5
Lines 14352 14099 -253
Branches 1960 1939 -21
==========================================
- Hits 11407 11167 -240
+ Misses 2141 2136 -5
+ Partials 804 796 -8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
82d4bf1 to
e20a71e
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e8ec3aa. Configure here.
| import com.revenuecat.purchases.models.SubscriptionOption | ||
| import com.revenuecat.purchases.models.SubscriptionOptions | ||
| import com.revenuecat.purchases.strings.BillingStrings | ||
| import com.revenuecat.purchases.strings.PurchaseStrings |
There was a problem hiding this comment.
Three unused imports added to test file
Low Severity
Three new imports were added to BillingWrapperTest.kt that are never used anywhere in the file: PurchaseStrings, mockQueryPurchases, and verifyQueryPurchasesCalledWithType. These appear to have been accidentally introduced during the revert.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit e8ec3aa. Configure here.
## RevenueCat SDK > [!WARNING] > If you don't have any login system in your app, please make sure your one-time purchase products have been correctly configured in the RevenueCat dashboard as either consumable or non-consumable. If they're incorr as consumables, RevenueCat will consume these purchases. This means that users won't be able to restore them from version 10.0.0 onward. > Non-consumables are products that are meant to be bought only once, for example, lifetime subscriptions. Please see more information in our [docs](https://www.revenuecat.com/docs/known-store-issues/play-billing-library/restore-consumable-purchases-bc8) ### 💥 Breaking Changes This release updates to Billing Library 8.3.0 with min SDK supported of Android 6 (API 23), previously min was 21. It also removes a previous workaround used to be able to restore consumed one time products which is not available anymore. * Update to Billing Library 8.3.0 (#3256) via Toni Rico (@tonidero) * Revert AIDL workaround for consumed consumables (#3255) via Toni Rico (@tonidero) ### 🔄 Other Changes * Bump fastlane-plugin-revenuecat_internal from `6289be1` to `ceecf91` (#3301) via dependabot[bot] (@dependabot[bot]) * Increase targetSdkVersion to 36 (#2446) via Toni Rico (@tonidero) * [AUTOMATIC] Update golden test files for backend integration tests (#3302) via RevenueCat Git Bot (@RCGitBot) * Bump fastlane-plugin-revenuecat_internal from `5d6e93f` to `6289be1` (#3299) via dependabot[bot] (@dependabot[bot]) * Bump fastlane-plugin-revenuecat_internal from `f11fe40` to `5d6e93f` (#3294) via dependabot[bot] (@dependabot[bot]) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Primarily a release/version bump, but it ships documented breaking changes (minSdk 23 via Billing Library 8.3.0 and removal of a restore workaround) that can affect app compatibility and restore behavior. > > **Overview** > Bumps the project from `9.30.0-SNAPSHOT` to `10.0.0` across build metadata (`.version`, `gradle.properties`, `Config.frameworkVersion`) and sample/test app dependency pins. > > Updates release documentation: adds `10.0.0` entries to `CHANGELOG.md`/`CHANGELOG.latest.md` (including a warning and breaking-change notes) and introduces `migrations/v10-MIGRATION.md`. > > Adjusts docs publishing to serve `10.0.0` by updating `docs/index.html` redirect and the CircleCI S3 sync path in `docs-deploy`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d18f479. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->


This reverts commit f452c66 PR #2872 .
Description
We're removing usage of this unofficial APIs. This will result in a behavior breaking change. Docs for the behavior: https://www.revenuecat.com/docs/known-store-issues/play-billing-library/restore-consumable-purchases-bc8
Note
Medium Risk
Behavior change for Google Play Billing v8 restores: consumed one-time purchases may no longer appear during restore since the unofficial AIDL
getPurchaseHistorypath is removed. Risk is limited to restore/purchase history behavior; no auth or backend data handling changes.Overview
Reverts the unofficial AIDL integration used to fetch Play Store in-app purchase history.
BillingWrapper.queryPurchaseHistoryAsyncno longer conditionally queriesIInAppBillingService.getPurchaseHistoryand instead always runsQueryPurchaseHistoryUseCase.This removes the
aidlbuild feature and theENABLE_QUERY_PURCHASE_HISTORY_AIDLbuild config flag, deletes the AIDL interface andgoogle/historyimplementation (PurchaseHistoryManager+ related models), and drops the associated unit tests that exercised the AIDL fallback behavior.Reviewed by Cursor Bugbot for commit e8ec3aa. Bugbot is set up for automated code reviews on this repo. Configure here.