88 Commits
Author SHA1 Message Date
Max Hvesser 38c357ccee feat(payment): Rearrange and tidy-up payment flow 2025-10-16 15:18:40 +00:00
dkadrikjandDino Kadrikj 16d7451c67 feat(payment): Update Current Subscription screen and logic. 2025-01-22 11:54:46 +00:00
dkadrikjandDino Kadrikj f9ffddf6a3 feat(payment): Update Current Subscription screen and logic. 2025-01-22 11:54:46 +00:00
Marcin SimonidesandMargeBot 33e4207e9f feat(payment,plan): Add v5 subscriptions endpoints. 2024-09-05 09:19:56 +00:00
Neil MariettaandMargeBot f40892525f fix(payment): Fixed DeletePurchaseWorker to deleteByProtonPaymentToken. 2024-07-23 12:12:13 +00:00
Mateusz Armatys 005682451a build: Update Kover (0.7.1 -> 0.8.2). 2024-07-09 10:23:13 +00:00
dkadrikjandMateusz Armatys 2f46ce65ed chore: Remove binary compatibility validator. 2024-07-05 15:08:05 +02:00
Neil Marietta b2f50c3cc0 feat!: Added Purchase, Manager, Repository, StateHandlers and Workers.
Migration: PaymentDatabase.MIGRATION_1.
2024-03-14 12:06:21 +01:00
Mateusz ArmatysandMargeBot e0f0766a7a fix(plan, payment): Do not use credential-less userId for payments. 2024-03-11 14:12:15 +00:00
Neil MariettaandMargeBot c517bba3ee chore: Upgraded Kotlin to 1.9.22 (and needed dependencies). 2024-02-28 18:09:18 +00:00
Neil MariettaandMargeBot 82be3754e6 feat: Added Custom Tabs support for LoginSso Activity. 2024-01-29 14:36:16 +00:00
dkadrikjandDino Kadrikj 7f5fae7d21 chore(payment): Increase unit test coverage. 2024-01-09 13:03:37 +00:00
Mateusz Armatys cde18282f2 build(coverage): Set up min and max bounds for coverage. 2023-12-19 19:45:50 +01:00
dkadrikjandNeil Marietta f59310f895 feat(plan): Add GIAP Adjusted Prices support. 2023-12-13 12:20:02 +01:00
Neil Marietta 4e3f52f6c5 fix(plan): Fixed Dynamic Plan metrics. 2023-09-29 17:07:51 +02:00
Neil Marietta 28b7e08f10 feat(plan): Added Dynamic Cycle/Currency selection, Vendor Query param and DefaultCycle. 2023-09-28 16:59:06 +02:00
Neil MariettaandMargeBot 2b2ebf6fff fix(plan): Fixed Dynamic Decoration Starred. 2023-09-01 08:26:00 +00:00
dkadrikj 5056c06e4c feat(plan, payment): Add initial observability metrics. 2023-08-23 13:06:52 +02:00
Neil Marietta 7e0a214095 fix(plan, payment): Updated Dynamic Plan/Subscription according latest API. 2023-08-22 10:59:25 +02:00
Neil Marietta b6f1853930 feat(plan, payment): Added Dynamic Plan/Subscription parsing error logs. 2023-08-22 10:59:25 +02:00
Neil Marietta 7f0a84af8d feat(plan): Added Dynamic Upgrade Plan Activity/Fragment/ViewModel. 2023-08-17 15:39:18 +00:00
Neil Marietta 3b6d57cf2f feat(plan): Added Dynamic Plan List Fragment. 2023-08-11 16:00:54 +02:00
dkadrikjandDino Kadrikj 7ff49c38a8 feat(plan, payment): Add DynamicSubscription. 2023-08-07 14:54:49 +00:00
Neil Marietta 935d5d5543 refactor(payment): Migrated Checkout Payment Methods Metrics to Result API. 2023-07-12 17:55:44 +02:00
Neil Marietta d8756ae8d6 refactor(payment): Migrated Checkout Subscribe and Validate Metrics to Result API. 2023-07-12 17:55:43 +02:00
Neil Marietta f84442bb9c refactor(payment): Migrated Checkout Create Payment Token Metrics to Result API. 2023-07-12 17:55:33 +02:00
Neil Marietta ebfa017f37 chore!: Upgraded AGP to 8.0.2 (+Java 17). 2023-07-04 16:22:38 +02:00
Neil Marietta 144ff648bd chore: Upgraded Kotlin to 1.8.10 (+Dagger 2.46.1, +Compose to 1.4.3, +AppCompat 1.6.1, +Lifecycle 2.6.1, +Robolectric 4.10.3). 2023-07-04 15:13:07 +02:00
Mateusz Armatys 3c4499d45f feat(account-recovery): Cancelling account recovery attempt. 2023-06-15 16:34:31 +00:00
Mateusz Armatys 1b0ca7454a build: Add minimum branch and line coverages for existing modules. 2023-05-04 11:07:23 +00:00
Mateusz ArmatysandNeil Marietta 79e20471f9 chore(observability): Increment schema version metrics that use HttpApiStatus. 2023-04-25 13:35:45 +00:00
Mateusz Armatys b77814327b feat(observability, plan, payment): Add observability metrics for checkout. 2023-02-20 15:42:01 +01:00
dkadrikjandDino Kadrikj 230b91d6a5 feat(payment): Payment token body adjustment. 2023-02-16 12:49:52 +00:00
Mateusz Armatys b1c4e41746 test: Migrate tests to the new coroutines-test APIs. 2022-12-05 13:33:57 +00:00
dkadrikjandDino Kadrikj a5d1b9ae68 fix(plan): Fix subscription plan amount. 2022-10-13 13:21:02 +00:00
Mateusz Armatys a73256fdab style(plan, presentation): Fix some detekt issues. 2022-10-04 15:51:52 +02:00
Mateusz ArmatysandMargeBot 083208ea70 test(payment): Add tests for PaymentsApi. 2022-10-03 08:12:47 +00:00
Mateusz ArmatysandMargeBot da28b31430 feat(payments-iap): Match a Google purchase with a Proton user. 2022-10-03 08:12:47 +00:00
Marino Meneghel 34a6c9219b fix: Pass test dispatcher to runTest method.
This is to solve test failures which started happening after updating
AGP to 7.1.3 (error `Detected use of different schedulers..`)
2022-09-28 17:50:17 +02:00
Mateusz Armatys 0a46dea36e refactor(payment): Introduce value classes for payment/purchase tokens. 2022-09-22 18:10:01 +00:00
Mateusz Armatys b12f9e9f88 refactor(payment): Rename PaymentToken into PaymentTokenResult. 2022-09-22 18:10:01 +00:00
Mateusz Armatys 80bf7ab191 test(payments-iap): Unit tests for GIAP.
- `ConnectedBillingClientTest`
- `GoogleBillingRepositoryImplTest`
- `FindUnredeemedGooglePurchaseImplTest`
- `AcknowledgeGooglePlayPurchaseImplTest`
2022-09-22 18:10:01 +00:00
Mateusz Armatys 1c477a5851 feat(payment-iap): Detect if there is an unredeemed Google purchase.
`UnredeemedPurchaseInitializer` will be added to your manifest (androidx.startup).
In case there is an unredeemed Google purchase, an alert dialog will
be shown (in a separate, transparent activity), asking the user to redeem.
2022-09-22 18:10:01 +00:00
Mateusz Armatys 3e3753cb38 feat(payment)!: For GIAP, acknowledge the purchase after the subscription is assigned.
MIGRATION:
1. Add and provide `PaymentDatabase`.
2. Add a database migration: `PaymentDatabase.MIGRATION_0`.
2022-09-22 18:10:01 +00:00
dkadrikjandNeil Marietta 078898285f feat(payment-iap): Add Google IAP happy flow. 2022-09-02 18:39:12 +02:00
Mateusz Armatys b90cf205cb feat(payment): Add the new endpoint for payment status and remove the old one.
DAGGER: You should provide an `AppStore` in your dagger module:
- For builds distributed in Google Play Store:
```
@Provides
fun provideAppStore() = AppStore.GooglePlay
```
- For builds distributed in F-Droid:
```
@Provides
fun provideAppStore() = AppStore.FDroid
```
2022-08-10 17:56:03 +02:00
dkadrikj bd7936ae9f feat (payment-common): Extract common payment classes 2022-08-10 15:02:04 +02:00
Mateusz Armatys c5071d7815 build: Optimize dependencies. 2022-07-28 16:07:58 +02:00
Mateusz Armatys 9730dc01a6 test: Use TestDispatcherProvider when creating ApiProvider. 2022-07-27 18:41:21 +02:00
dkadrikjandDino Kadrikj 6233ce1a7d feat(payment): redesign payment for IAP support.
feat(plan): redesign plans for IAP support.
2022-07-27 08:13:01 +00:00