Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ _Changes in the next release_
- Google Cast for media info & seeking support. Contributed by @albaintor, thanks! ([#57](https://github.com/unfoldedcircle/integration-androidtv/pull/57))
- This is currently a preview feature and must be enabled in the device configuration of the integration setup.
- myCANAL application ([#55](https://github.com/unfoldedcircle/integration-androidtv/pull/55))
- Set media player attribute "media_position_updated_at" ([feature-and-bug-tracker#443](https://github.com/unfoldedcircle/feature-and-bug-tracker/issues/443)).

### Changed
- Add support article link and change setup description in first setup flow screen.
Expand Down
2 changes: 2 additions & 0 deletions intg-androidtv/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import logging
import os
import sys
from datetime import UTC, datetime
from typing import Any

import setup_flow
Expand Down Expand Up @@ -253,6 +254,7 @@ async def handle_android_tv_update(atv_id: str, update: dict[str, Any]) -> None:

if MediaAttr.MEDIA_POSITION in update:
attributes[MediaAttr.MEDIA_POSITION] = update[MediaAttr.MEDIA_POSITION]
attributes["media_position_updated_at"] = datetime.now(tz=UTC).isoformat()

if MediaAttr.MEDIA_DURATION in update:
attributes[MediaAttr.MEDIA_DURATION] = update[MediaAttr.MEDIA_DURATION]
Expand Down
8 changes: 5 additions & 3 deletions intg-androidtv/tv.py
Original file line number Diff line number Diff line change
Expand Up @@ -793,12 +793,14 @@ def new_media_status(self, status: MediaStatus) -> None:
self._media_type = GOOGLE_CAST_MEDIA_TYPES_MAP.get(self._media_type, MediaType.VIDEO)
update[MediaAttr.MEDIA_TYPE] = self._media_type

if status.images and len(status.images) > 0 and status.images[0] != self._media_image_url:
self._media_image_url = status.images[0]
if status.images and len(status.images) > 0 and status.images[0].url != self._media_image_url:
self._media_image_url = status.images[0].url
update[MediaAttr.MEDIA_IMAGE_URL] = self._media_image_url
elif self._media_image_url:
elif not self._media_image_url:
self._media_image_url = None
update[MediaAttr.MEDIA_IMAGE_URL] = ""
else:
update[MediaAttr.MEDIA_IMAGE_URL] = self._media_image_url

if update:
_LOG.debug("[%s] Update remote with Chromecast info : %s", self.log_id, update)
Expand Down