Skip to content

Conversation

@PavlosTze
Copy link
Collaborator

@PavlosTze PavlosTze commented Nov 26, 2025

Why?

The billing flow functionality + manage subscription of the upsell feature.

How?

  • In the BillingService added the functionality of getting the available products, starting the billing flow and purchasing a product. In Android, purchasing a product needs a verification of the signature and an acknowledge request back to Google, which is what we do here. Whenever we get an active subscription we check if it's acknowledged properly or not and otherwise we handle it (e.g. a connection issue could take place when acknowledging a purchase initially and we need to properly acknowledge the next time we have it). Also created the functionality to update the UI in the whole process of it via a Flow and data class PurchaseUpdateState.
  • Created ManageSubscriptionActivity and its respective layout, along with some composable components such as PremiumFeaturesView which is the card that advertises the premium and CurrentPlanView which is the card showing the current active plan (standard or premium).
  • Added the new UI components ("powered by" etc) as we discussed internally.
  • Added support for the new banner which will advertise this feature.
  • Added the analytics that were needed.

Testing

As discussed internally you need to download the app to proper make some test purchases etc. Otherwise if you need to build it from Android Studio to test the rest of the functionality, please DM me so I can send you the secret you need in the production.env file.

Additional Info

  • Fixes FE-2053
  • Fixes FE-2045

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

Coverage Report (Type: Instructions)

Overall Project 81.53% -4.63%
Files changed 5.78%

File Coverage
RemoteBannersDataSource.kt 100%
ManageSubscriptionViewModel.kt 100%
HomeViewModel.kt 97.42% -0.43%
AnalyticsService.kt 97.28%
Extensions.kt 80.43% -4.99%
UIModels.kt 52.54% -1.31%
CurrentPlanView.kt 0% -90.84%
PlansView.kt 0% -91.95%
PremiumFeaturesView.kt 0% -89.49%

@PavlosTze PavlosTze force-pushed the feature/hyperlocal-upsell branch from e935f21 to 3f5aa8b Compare November 27, 2025 06:31
* Implement the new card in the Profile screen for the subscription

* Forecast in tab in station details + in forecast details (#807)

* WIP of forecast tab's state & prompt. Billing library missing to check state.

* Integrate the billing library, create functionality for initializing it and fetching if we have an active sub or not and update the UI respectively

* Handle UI in Forecast Details if premium is available or not
Copy link
Collaborator

@pantelisss pantelisss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job. I've noticed an issue in the success screen. Let's change the button title to "Continue" and remove the "Head to a station..."
Screenshot_20251127_145441

@PavlosTze PavlosTze merged commit f2ee0cf into feature/hyperlocal-upsell Dec 1, 2025
1 of 2 checks passed
@PavlosTze PavlosTze deleted the feature/fe-2044-plans branch December 1, 2025 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants