Add checking for optional support of track control commands
The next/prev track control commands are optional in the MediaPlayback cluster. This will check for the commands using the AcceptedCommandList attribute in the MediaPlayback cluster and then switch to an appropriate profile if these commands are supported.
https://smartthings.atlassian.net/browse/CHAD-9933
Invitation URL: https://bestow-regional.api.smartthings.com/invite/kVlnwy3Lej49
Unit Test Results
1 files ±0 305 suites ±0 0s :stopwatch: ±0s 1 379 tests +1 1 364 :heavy_check_mark: - 14 0 :zzz: ±0 0 :x: ±0 15 :fire: +15 2 437 runs +1 2 422 :heavy_check_mark: - 14 0 :zzz: ±0 0 :x: ±0 15 :fire: +15
For more details on these errors, see this check.
Results for commit 455b1c68. ± Comparison against base commit 71bb1580.
I left some TODO comments in the code just related how to handle the supported capabilities event for the media track control now.
Also note that I changed some of the profile names so that I they would all follow a pattern that I could use for the profile switching logic (based on https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/370). Let me know if there is a preferred method for doing that or if changing profile names once in production is problematic.
Test Results
1 files 307 suites 0s :stopwatch: 1 385 tests 1 385 :heavy_check_mark: 0 :zzz: 0 :x: 2 447 runs 2 447 :heavy_check_mark: 0 :zzz: 0 :x:
Results for commit 6fa81113.
:recycle: This comment has been updated with latest results.
With the completion of HCS-3895, this seems to be working for me now. I added the event for the supportedTrackControlCommands to the infoChanged event because in my testing, that seemed to be directly tied to the profile update.
No duplicate profiles detected.
Closing this PR due to time lapsed. If we need to reopen we can.