Skip to content

Conversation

@NJ-2020
Copy link
Contributor

@NJ-2020 NJ-2020 commented Nov 5, 2025

Fixes #377 by passing fullScreen={false}

Result

Screen.Recording.2025-11-06.at.09.50.58.mov

@CLAassistant
Copy link

CLAassistant commented Nov 5, 2025

CLA assistant check
All committers have signed the CLA.

super.onCreate(savedInstanceState)
authenticationAttempt = arguments?.getParcelable(AUTHENTICATION_ATTEMPT_KEY)!!
setStyle(STYLE_NORMAL, R.style.sign_in_with_apple_button_DialogTheme)
setStyle(STYLE_NORMAL, R.style.sign_in_with_apple_button_DialogTheme);

Choose a reason for hiding this comment

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

This becomes redundant if fullScreen is false. It could go in the else block for the condition below.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Choose a reason for hiding this comment

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

Fair enough 👍

Comment on lines 23 to 24
fun newInstance(authenticationAttempt: SignInWithAppleService.AuthenticationAttempt): SignInWebViewDialogFragment {
val fragment = SignInWebViewDialogFragment()
fun newInstance(authenticationAttempt: SignInWithAppleService.AuthenticationAttempt, fullScreen: Boolean = true): SignInWebViewDialogFragment {
val fragment = SignInWebViewDialogFragment(fullScreen)

Choose a reason for hiding this comment

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

Maybe this is not true for React Native but I would assume we needed to pass fullScreen via the bundle, for any apps that utilise rotation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you, fixed ☑️

@mikehardy
Copy link
Collaborator

Hey there 👋 - apologies for how stale this repo had gotten. It was still working fine but the stale-ness made developing against it very difficult

If you rebase this to current main you will hopefully see a much improved experience

  • yarn before everything, after updating
  • yarn build:docs will correctly generate typedocs
  • yarn example:prepare and yarn example:android should correctly build and run the example app, with your local changes there

and since I just implemented the new "Trusted Publish" changes npmjs.org just started enforcing Nov 1, once any changes here are complete, we can actually publish them 😄

Cheers

@NJ-2020
Copy link
Contributor Author

NJ-2020 commented Nov 6, 2025

@mikehardy No worries, thanks for taking a look at this!

@NJ-2020 NJ-2020 changed the title feat: introduce new prop fullScreen to adjust dialog screen size feat (android): introduce new prop fullScreen to adjust dialog screen size Nov 6, 2025
@NJ-2020 NJ-2020 changed the title feat (android): introduce new prop fullScreen to adjust dialog screen size feat(android): introduce new prop fullScreen to adjust dialog screen size Nov 6, 2025
@NJ-2020 NJ-2020 marked this pull request as ready for review November 6, 2025 02:59
@NJ-2020
Copy link
Contributor Author

NJ-2020 commented Nov 6, 2025

PR is ready, tested locally + lint check also passing ✅

cc: @mikehardy

@NJ-2020
Copy link
Contributor Author

NJ-2020 commented Nov 6, 2025

For IOS, I have build issues

Copy link
Collaborator

@mikehardy mikehardy left a comment

Choose a reason for hiding this comment

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

This looks just about good to go - and I'm so pleased I did the CI work this week because I believe you have compile errors, but at same time I don't see them in CI so I'm going to say...the PR is probably okay - you must be having a local issue. You didn't touch iOS stuff anyway

The only thing that gives me pause is the direction of the boolean. Specifically:

Full screen mode

When true, the dialog fits within the app window only.

When false, it covers the entire screen including the status bar.

Defaults to true

🤔 it seems to me that if "fullScreen" is true, I should expect it will cover the entire screen. But...it appears this toggle works the opposite way?

As a developer reading this documentation, that surprises me.

Can we have it so that fullScreen=true means it covers the entire screen, and fullScreen=false means it does the app window only?

Either way, please let me say I really appreciate you (and it seems Expensify?) contributing PRs and such - it really helps 🙌

@NJ-2020
Copy link
Contributor Author

NJ-2020 commented Nov 8, 2025

🤦 Ah damn, my bad! I accidentally wrote the boolean flag backwards.

It should be:

When true, it covers the entire screen including the status bar.
When false, the dialog fits within the app window only.

Sorry about that – fixed now! ☑️

Either way, please let me say I really appreciate you (and it seems Expensify?) contributing PRs and such

Thank you – glad to help out!

Copy link
Collaborator

@mikehardy mikehardy left a comment

Choose a reason for hiding this comment

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

okay, the docs look like they match up much better with a naive expectation :-)

last thing I can see - maybe I'm missing something but I still see two instances of "full screen will be false by default" in the PR - which is contrary to the docs, I proposed concrete suggestions to flip those default booleans in case my understanding is correct - so you can just hit the accept suggestions button and move on

either way, excited to merge this and release it - looks like it's just about ready

thanks again

Copy link
Collaborator

@mikehardy mikehardy left a comment

Choose a reason for hiding this comment

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

excellent! Code looks good, I'll shepherd this through CI + merge + release, thanks!

@mikehardy mikehardy merged commit dc2b9f8 into invertase:main Nov 10, 2025
7 checks passed
@mikehardy
Copy link
Collaborator

v2.5.0 appears to be live now, thanks again for submitting this

please let me know if the publish behaves in some unexpected way - I just fully automated it to handle the new npmjs.com token/security changes, so the yaml for that action has only been used twice...

@NJ-2020
Copy link
Contributor Author

NJ-2020 commented Nov 10, 2025

Thank you! I really appreciate you reviewing and merging this PR.

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.

Android - Login page overlap device status bar

4 participants