immich/mobile/lib/interfaces
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
..
activity_api.interface.dart refactor(mobile): more repositories (#12879) 2024-09-24 08:24:48 +02:00
album.interface.dart refactor: user entity (#16655) 2025-03-12 08:56:56 -05:00
album_api.interface.dart feat(album): album view sort order (#14648) 2024-12-16 16:11:48 +00:00
album_media.interface.dart refactor(mobile): encapsulate most access to photomanager in repository (#12754) 2024-09-18 17:15:52 +02:00
asset.interface.dart fix(mobile): recently added -> taken (#17780) 2025-04-23 12:38:25 +01:00
asset_api.interface.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
asset_media.interface.dart fix(mobile): incorrect filename is retrieved during upload (#12990) 2024-09-27 22:28:31 +07:00
auth.interface.dart feat(mobile): Auto switching server URLs (#14437) 2024-12-05 09:11:48 -06:00
auth_api.interface.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
backup_album.interface.dart refactor(mobile): backup provider (#16360) 2025-02-27 09:56:23 -06:00
biometric.interface.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
cast_destination_service.interface.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
database.interface.dart refactor(mobile): DB repository for asset, backup, sync service (#12953) 2024-09-30 21:37:30 +07:00
download.interface.dart feat(mobile): add bulk download functionality (#18878) 2025-06-04 09:49:43 -05:00
etag.interface.dart refactor(mobile): remove int user id (#16814) 2025-03-18 11:05:37 -05:00
file_media.interface.dart fix(mobile): Fix minor issues with downloading assets (#13609) 2024-10-20 12:56:02 -05:00
folder_api.interface.dart feat(mobile): Folder View for mobile (#15047) 2025-03-06 17:27:43 +00:00
local_files_manager.interface.dart fix(mobile): auto trash using MANAGE_MEDIA (#17828) 2025-04-24 19:09:50 -05:00
network.interface.dart feat(mobile): Auto switching server URLs (#14437) 2024-12-05 09:11:48 -06:00
partner.interface.dart refactor: user entity (#16655) 2025-03-12 08:56:56 -05:00
partner_api.interface.dart refactor: user entity (#16655) 2025-03-12 08:56:56 -05:00
person_api.interface.dart fix(mobile): search page issues (#15804) 2025-01-31 03:12:57 +00:00
secure_storage.interface.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
sessions_api.interface.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
share_handler.interface.dart feat(mobile): share to mechanism (#15229) 2025-01-16 21:20:44 -06:00
timeline.interface.dart fix(mobile): Showing videos of partner in search page quick links (#18855) 2025-06-02 09:35:18 -05:00
upload.interface.dart feat(mobile): share to mechanism (#15229) 2025-01-16 21:20:44 -06:00