Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android 15 support in 4.x major #1229

Closed
francescocervone opened this issue Dec 4, 2024 · 7 comments
Closed

Android 15 support in 4.x major #1229

francescocervone opened this issue Dec 4, 2024 · 7 comments

Comments

@francescocervone
Copy link

Braintree SDK Version

4.49.1

Environment

Sandbox

Android Version & Device

No response

Braintree dependencies

  • com.braintreepayments.api:card:4.49.1
  • com.braintreepayments.api:braintree-core:4.49.1
  • com.braintreepayments.api:data-collector:4.49.1
  • com.braintreepayments.api:google-pay:4.49.1
  • com.braintreepayments.api:paypal:4.49.1
  • com.braintreepayments.api:three-d-secure:4.49.1
  • com.braintreepayments.api:drop-in:6.16.0

Describe the bug

Android 15 has forced edge to edge automatically for all activities.

Judging from the behavior of the 3DSecure verification in the sandbox environment and 5.x release notes, it seems that edge to edge for Android 15 is not supported in 4.x Braintree versions.

We depend on Braintree 4.x and we were trying to increase our target SDK to 35 (Android 15), but we found out about this behavior.
If that behavior is also in production, then upgrading Braintree to the 5.x would be a blocker to upgrade the Android target SDK to 35.
As you know migrating from Braintree 4 to 5 is not exactly seamless, some APIs have changed and we need to adapt our code.

Now, I see that in the versions table in your README the 4.x is declared as Inactive, which by reading your policy means: No new features will be added, only security updates.

  1. Is supporting Android 15 considered a "new feature"?
  2. Is there any plan to backport the Android 15 support to the 4.x version?
  3. Is there any workaround to disable the edge to edge enforcement to allow clients with target SDK 35 to use Braintree 4.x without official support? Or should we avoid that (maybe because you know that something would break really bad)?
  4. As far as you know, is there any other flow affected by this issue?
  5. Is the issue affecting also production?

Thanks!

To reproduce

  • Run a 3DSecure verification on an app targeting Android API 35 with Braintree 4.x
  • The 3DSecure screen is drawn behind the status bar incorrectly

Expected behavior

  • All Braintree screens handle window insets correctly in all Android versions, 15 included.

Screenshots

Screenshot_20241204_125233

@francescocervone
Copy link
Author

I have a follow-up question.
I believe this activity is handled by Cardinal, correct me if I'm wrong, and by looking at their changelog, I don't see any update to support SDK 35.

Is this behavior broken also in Braintree 5.x?

@tdchow
Copy link
Collaborator

tdchow commented Dec 6, 2024

Hi @francescocervone - I just tried reproducing on an Android 15 emulator and was not able to see the same full screen bug you shared above. I tested off of the 4.x branch.

Screenshot 2024-12-06 at 11 46 33 AM

Can you share exactly how you were able to see the bug? Thanks!

@francescocervone
Copy link
Author

That's strange. Was the target SDK of the reproducing app set to 35?

@tdchow
Copy link
Collaborator

tdchow commented Dec 6, 2024

🤦‍♂️ Apologies! I forgot to set the target SDK to 35. In the end, I was able to reproduce the issue.

Unfortunately, we do not plan to add Android 15 support to v4 (unless an issue blocks a successful payment flow). I'd recommend updating to v5 for Android 15 support.

Here's the migration guide: https://github.com/braintree/braintree_android/blob/main/v5_MIGRATION_GUIDE.md

@francescocervone
Copy link
Author

Ok, thanks for the response and for reproducing the issue.

My point about the v5 is if that activity is managed by Cardinal, and if the Cardinal SDK was not updated between Braintree 4.49.1 and Braintree 5.2.0, the issue is likely to happen also in the 5.x.
I didn't have time to test it on the 5.x, though.

@tdchow
Copy link
Collaborator

tdchow commented Dec 9, 2024

That makes sense. We'll do some testing on v5 and contact Cardinal for the fix if needed!

I'm going to close this issue as we do not have plans to address this in v4.

@tdchow tdchow closed this as completed Dec 9, 2024
@francescocervone
Copy link
Author

Thanks. I've opened a separate issue for Braintree 5: #1236

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

No branches or pull requests

2 participants