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

Add Null check when accessing system service #367

Merged
merged 4 commits into from
Aug 21, 2018

Conversation

fractalwrench
Copy link
Contributor

@fractalwrench fractalwrench commented Aug 21, 2018

Goal

context.getSystemService can return a nullable value. #365 addressed a specific instance where this could cause a NullPointerException - this PR addresses the other scenarios where this could potentially occur within the SDK, and defaults to a sensible behaviour.

Changeset

Added null checks within:

  • DefaultDelivery: allow delivery to proceed if we can't check the connection beforehand
  • Client connectivity receiver: no-op if we receive a connectivity change event and the ConnectivityManager service is null
  • DeviceData: explicitly return null if the ConnectivityManager is null, rather than triggering then catching an NPE

Tests

Ran unit tests and mazerunner locally

Review

For the submitter, initial self-review:

  • Commented on code changes inline explain the reasoning behind the approach
  • Reviewed the test cases added for completeness and possible points for discussion
  • A changelog entry was added for the goal of this pull request
  • Check the scope of the changeset - is everything in the diff required for the pull request?
  • This pull request is ready for:
    • Initial review of the intended approach, not yet feature complete
    • Structural review of the classes, functions, and properties modified
    • Final review

For the pull request reviewer(s), this changeset has been reviewed for:

  • Consistency across platforms for structures or concepts added or modified
  • Consistency between the changeset and the goal stated above
  • Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
  • Usage friction - is the proposed change in usage cumbersome or complicated?
  • Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
  • Concurrency concerns - if components are accessed asynchronously, what issues will arise
  • Thoroughness of added tests and any missing edge cases
  • Idiomatic use of the language

John Rodriguez and others added 4 commits August 20, 2018 14:11
…t.getSystemService

context.getSystemService can return a nullable value if the service was not found. Therefore the
notifier should guard any access to these values with a null check to prevent NPEs.
@fractalwrench fractalwrench requested a review from a team August 21, 2018 10:13
@fractalwrench
Copy link
Contributor Author

Fixes #363

Copy link
Contributor

@simonbowring simonbowring left a comment

Choose a reason for hiding this comment

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

LGTM

@fractalwrench fractalwrench merged commit b689975 into master Aug 21, 2018
@fractalwrench fractalwrench deleted the null-system-service branch August 21, 2018 13:20
lemnik pushed a commit that referenced this pull request Jun 2, 2021
Add MazeRunner test for a React Native monorepo
rich-bugsnag added a commit that referenced this pull request Sep 3, 2021
* task(config): add new config option RedactedKeys
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.

2 participants