I just pushed another update (20251107-8) to development.
It primarily fixes some bugs related to playback detection.
It seems that the log data related to media_session changed from state=3 to state=PLAYING(3) so this form of playback detection has been broken since that happened.
I also added another fallback method for playback detection. ADBTuner now looks to see if the target application is blocking the screensaver from starting. Every app should do this when video playback starts. For reference, it's doing something equivalent to this:
adb shell dumpsys power | grep "Wake Locks:" -A 20 | grep "SCREEN_BRIGHT_WAKE_LOCK" | grep com.whatever.application
I also added an experimental feature for querying a remote URL to obtain the actual deeplink url.
If the URL associated with a channel in ADBTuner includes a "dynamic_url_json_key" parameter the specified URL will be loaded by ADBTuner and the value specified as the "dynamic_url_json_key" within the remote endpoint's json response will be used for loading the content on the android device.
Example:
If the URL configured for the channel in ADBTuner is this:
http://x.x.x.x?dynamic_url_json_key=deeplink_url
Then http://x.x.x.x will be loaded by ADBTuner and the "deeplink_url" key in the json response will be used to obtain the URL:
{
"example_field": "something",
"deeplink_url": "http://android_deep_link_for_something"
}
will be used to load the content on the Android.
This was just something to try to help those that are working on solutions for ESPN. I don't know how much value it has, but it's there now.