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

Hot Fix for #1839. Adding fallback logic for starting router service #1840

Merged
merged 6 commits into from
Feb 14, 2023

Conversation

joeygrover
Copy link
Member

Fixes #1839

This PR is ready for review.

Risk

This PR makes no API changes.

Testing Plan

  • I have verified that I have not introduced new warnings in this PR (or explain why below)
  • I have run the unit tests with this PR
  • I have tested this PR against Core and verified behavior (if applicable, if not applicable, explain why below).
  • I have tested Android, Java SE, and Java EE

Unit Tests

None added for this PR as the changes are not unit testable.

Core Tests

Tested with a Gen3 Ford TDK
Cycled through testing different permission allocations and who would start and ultimately host the router service.
image

Summary

Essentially added a new logical assumption that all apps need to be targeting Android 12 at this point and therefore require the user granted Nearby Devices permission to receive Bluetooth connection intents. Therefore, if an older version of the library is installed that does not have the newer permission check logic prior to start the RS, if that app does not have the correct permission we can assume they will not be receiving the BT ACL connection intent and we can ignore the old legacy logic that it would have executed.

We also added a fallback call to start the newest router service in the case there was an older SDL enabled app on the device but their integration was incorrect.

Changelog

Hot Fix
  • Adds better recoverability to the RS starting process when legacy SDL apps are installed on the device.

Tasks Remaining:

  • Update the versions before officially releasing as a hot fix

CLA

Add fallback logic if an older version of the SDL lib is on the device and they do not have the right permissions or their integration is incorrect.
@mrapitis
Copy link
Contributor

mrapitis commented Feb 6, 2023

Update the versions before officially releasing as a hot fix

Does this include an increment of the sdl_router_service_version_value value? I noticed the RS version of 17 in the graphic, but still 16 in the sdl.xml file (I can manually adjust to 17 for testing if needed).

@joeygrover
Copy link
Member Author

Update the versions before officially releasing as a hot fix

Does this include an increment of the sdl_router_service_version_value value? I noticed the RS version of 17 in the graphic, but still 16 in the sdl.xml file (I can manually adjust to 17 for testing if needed).

RS version will remain 16.

So yes, 17 was for testing only and was manually adjusted. Referenced comment is to update the version in the gradle file before merging as a hotfix.

Copy link
Contributor

@JulianKast JulianKast left a comment

Choose a reason for hiding this comment

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

One formatting error, otherwise looks good, Do you want to update the version as well for the release?

joeygrover and others added 5 commits February 13, 2023 11:45
Library used for testing has been updated and our integration is broken because of it. There is no play to fix this, so removing the tests for now from actions.
@joeygrover joeygrover merged commit a924127 into master Feb 14, 2023
@joeygrover joeygrover deleted the hotfix/issue_1839 branch February 14, 2023 18:41
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.

Nearby Devices permission on Android 12 and Above
3 participants