immich/mobile/lib
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
..
constants feat(mobile): Add new language to mobile (#18891) 2025-06-03 14:33:13 +00:00
domain feat(mobile): sync local asset width & height from platform (#18994) 2025-06-08 21:50:54 -05:00
entities feat(mobile): add album description functionality (#18886) 2025-06-04 17:41:28 +00:00
extensions feat(mobile): remote asset & exif sync (#18756) 2025-06-03 11:01:50 -05:00
generated feat(mobile): typed translation keys (#18946) 2025-06-08 21:38:45 -05:00
infrastructure feat(mobile): sync local asset width & height from platform (#18994) 2025-06-08 21:50:54 -05:00
interfaces feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
mixins chore: flutter 3.29.1 (#16730) 2025-03-10 21:46:36 -05:00
models feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
pages feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
platform feat(mobile): sync local asset width & height from platform (#18994) 2025-06-08 21:50:54 -05:00
presentation/pages/dev feat(mobile): hash assets in isolate (#18924) 2025-06-06 11:23:05 +05:30
providers feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
repositories feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
routing feat(mobile): remote asset & exif sync (#18756) 2025-06-03 11:01:50 -05:00
services feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
theme feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
utils feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
widgets feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
main.dart feat(mobile): hash assets in isolate (#18924) 2025-06-06 11:23:05 +05:30