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] [native-modules-android.md] consistent code for adding package to MainApplication.kt #4047

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

ChronSyn
Copy link

@ChronSyn ChronSyn commented Mar 8, 2024

Updated the documentation regarding adding packages to MainApplication.kt, so that they are consistent with https://reactnative.dev/docs/native-components-android

Further reasoning
The method listed in the pre-commit version did not correctly register the module in my testing, but the version in the proposed change does appear to work as expected

Updated the documentation regarding adding packages to MainApplication.kt, so that they are consistent with https://reactnative.dev/docs/native-components-android

Further reasoning: The method listed in the pre-commit version did not correctly register modules in my testing, but the version in the proposed change does appear to work as expected
@facebook-github-bot
Copy link

Hi @ChronSyn!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

Copy link

netlify bot commented Mar 8, 2024

Deploy Preview for react-native ready!

Name Link
🔨 Latest commit 051c026
🔍 Latest deploy log https://app.netlify.com/sites/react-native/deploys/65ef274ad2605e000842f37c
😎 Deploy Preview https://deploy-preview-4047--react-native.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@cortinico cortinico changed the title [android] [native-modules-android.md] consistent code for adding package to MainApplication.kr [android] [native-modules-android.md] consistent code for adding package to MainApplication.kt Mar 11, 2024
Copy link
Contributor

@cortinico cortinico left a comment

Choose a reason for hiding this comment

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

Thanks for sending this over @ChronSyn

Updated the documentation regarding adding packages to MainApplication.kt, so that they are consistent with reactnative.dev/docs/native-components-android

We should instead update the other page to follow the same pattern as in the template:

override fun getPackages(): List<ReactPackage> =
    PackageList(this).packages.apply {
        // Packages that cannot be autolinked yet can be added manually here, for example:
        // packages.add(new MyReactNativePackage());
        add(MyAppPackage())
    }

@ChronSyn
Copy link
Author

Thanks for sending this over @ChronSyn

Updated the documentation regarding adding packages to MainApplication.kt, so that they are consistent with reactnative.dev/docs/native-components-android

We should instead update the other page to follow the same pattern as in the template:

override fun getPackages(): List<ReactPackage> =
    PackageList(this).packages.apply {
        // Packages that cannot be autolinked yet can be added manually here, for example:
        // packages.add(new MyReactNativePackage());
        add(MyAppPackage())
    }

This looks to match the pre-commit version. That didn't appear to work correctly for me. It seemed that the return type was the cause of the problems, but I wasn't sure why. However, after retesting, I've confirmed that wasn't the issue so I've reintroduced it.

I've made an amendment to your suggestion - new MyReactNativePackage() is not valid for Kotlin and will cause the native module to be null on the JS side.

Further context of why this PR was opened is available at facebook/react-native#41856 . That mentions the same issue, but it doesn't look like a PR was raised for the website docs to be corrected.

I've updated both files to be consistent.

@cortinico
Copy link
Contributor

@ChronSyn can you also backport your change to the versioned docs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants