immich/mobile/lib/widgets/asset_viewer
Brandon Wees 5574b2dd39
feat(mobile): add cast support (#18341)
* initial cast framework complete and mocked cast dialog working

* wip casting

* casting works!

just need to add session key check and remote video controls

* cleanup of classes

* add session expiration checks

* cast dialog now shows connected device at top of list with a list header. Discovered devices are also cached for app session.

* cast video player finalized

* show fullsize assets on casting

* translation already happens on the text element

* remove prints

* fix lintings

* code review changes from @shenlong-tanwen

* fix connect method override

* fix alphabetization

* remove important

* filter chromecast audio devices

* fix some disconnect command ordering issues and unawaited futures

* remove prints

* only disconnect if we are connected

* don't try to reconnect if its the current device

* add cast button to top bar

* format sessions api

* more formatting issues fixed

* add snack bar to tell user that we cannot cast an asset that is not uploaded to server

* make casting icon change to primary color when casting is active

* only show casting snackbar if we are casting

* dont show cast button if asset is remote and we are not casting

* stop playing media if we seek to an asset that is not remote

* remove https check since it works with local http IP addresses

* remove unneeded imports

* fix recasting when socket closes

* fix info plist formatting

* only show cast button if there is an active websocket connection (ie the server is accessible)

* add device capability bitmask checks

* small comment about bitmask
2025-06-08 21:55:23 -05:00
..
detail_panel fix(mobile): After editing people name, back button close the app (#18992) 2025-06-08 21:53:03 -05:00
advanced_bottom_sheet.dart feat(mobile): Modified draggable area of detail modal (#14953) 2024-12-27 09:28:54 -06:00
animated_play_pause.dart refactor(mobile): widgets (#9291) 2024-05-06 23:04:21 -05:00
bottom_gallery_bar.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
cast_dialog.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
center_play_button.dart refactor(mobile): widgets (#9291) 2024-05-06 23:04:21 -05:00
custom_video_player_controls.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
description_input.dart fix(mobile): hide asset description text field if user is not owner (#17442) 2025-04-08 09:18:33 -05:00
formatted_duration.dart feat(mobile): new video slider ui (#14126) 2024-11-13 19:49:25 -05:00
gallery_app_bar.dart refactor(mobile): remove int user id (#16814) 2025-03-18 11:05:37 -05:00
motion_photo_button.dart refactor(mobile): refactor theme management (#14415) 2024-12-11 16:30:56 +00:00
top_control_app_bar.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
video_controls.dart refactor(mobile): refactor to use context helpers for consistency (#14235) 2024-11-21 09:35:58 -06:00
video_position.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00