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

[SDK-3346] Implemented coroutine support #563

Merged
merged 8 commits into from
Jun 8, 2022
Merged

Conversation

poovamraj
Copy link
Contributor

Changes

We have added 2 new APIs

  • await() for all requests
  • awaitCredentials() for credential manager

The await() requests are called over IO thread and switched using switchRequestContext
awaitCredentials use suspendCancellableCoroutine to continue, this is especially useful when waiting for device unlock in SecureCredentialManager

Reference

Credential Manager is an abstract class and hence the added APIs are directly added to the subclass similar to this PR to avoid breaking changes - #514

This will be cleaned up in the next major release.

Testing

We have added unit tests, these tests are marked with @ExperimentalCoroutineApi, this shouldn't be an issue and they are marked only for test methods.

  • This change adds unit test coverage
  • This change adds integration test coverage
  • This change has been tested on the latest version of the platform/language or why not

@poovamraj poovamraj requested a review from a team as a code owner June 1, 2022 20:52
@poovamraj poovamraj changed the title Implemented coroutine support [SDK-3346] Implemented coroutine support Jun 1, 2022
@adamjmcgrath adamjmcgrath changed the base branch from main to vNext June 6, 2022 17:10
adamjmcgrath
adamjmcgrath previously approved these changes Jun 7, 2022
@poovamraj poovamraj merged commit 73a90aa into vNext Jun 8, 2022
@frederikprijck frederikprijck mentioned this pull request Jul 5, 2022
@poovamraj poovamraj deleted the support-coroutines branch July 18, 2023 10:11
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.

None yet

2 participants