-
Notifications
You must be signed in to change notification settings - Fork 131
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
Make ChoiceSetManager operations blocking #1155
Make ChoiceSetManager operations blocking #1155
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test cases are not compiling for me.
Codecov Report
@@ Coverage Diff @@
## feature/cancel_interaction_RPC #1155 +/- ##
====================================================================
+ Coverage 43.99% 47.16% +3.16%
+ Complexity 4259 4128 -131
====================================================================
Files 462 462
Lines 25416 22674 -2742
Branches 3286 2577 -709
====================================================================
- Hits 11183 10694 -489
+ Misses 13511 11324 -2187
+ Partials 722 656 -66
Continue to review full report at Codecov.
|
@NicoleYarroch I updated the tests to make them compile. But then I had to comment out the cancel interactions tests temporarily. Because I noticed that in these tests, operation.run() is called to start the operation which makes the runnable run on the main thread. In real life, operations should run in a different thread (the executor service thread). I added a more detailed comment about that in the cancel interaction PR. I will keep these tests temporarily commented out until we decide how to handle operation canceling in the original cancel interaction PR. |
…ions_test_cases Fix blocking operations test cases
* develop_mainRepo_local: (60 commits) fix is paused logic Make ChoiceSetManager operations blocking (smartdevicelink#1155) handle case where TM is null in protocolbase add a null check to proxylistener fix thread lock issue notify iProxyListenerBase of service ending remove deprecation and add javadoc fix incorrect method logic add one more check allow videos to be stopped properly with secondary transport disconnection fix older video stream restarts Removed unused code Refactored Thread.currentThread().isInterrupted() Removed uneeded deprecated presentKeyboard() dismissKeyboard() now takes a nonnull Integer Attempting to fix spacing issue in tests Update base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java Update base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java Update base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java Update base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessage.java ...
Fixes #1157
This PR is ready for review.
Risk
This PR makes no API changes.
Testing Plan
Test using
ChoiceSetManager
and make sure that all operations are handled correctlySummary
This PR changes how the executor service handles operations in
ChoiceSetManager
to make the operations block until all async calls are completely finished. With this fix, the executor doesn't start executing the next operation until the current operation callsfinishOperation()
CLA