immich/mobile/lib/utils
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
..
cache fix(mobile): fix typos (#16456) 2025-03-01 20:06:47 +00:00
hooks feat(mobile): native_video_player (#12104) 2024-12-04 16:03:46 -05:00
async_mutex.dart feature(mobile): Hardening synchronization mechanism + Pull to refresh (#2085) 2023-03-26 21:35:52 -05:00
backup_progress.dart feat(mobile): Adds file upload progress stats (#7760) 2024-03-14 15:15:22 -05:00
bootstrap.dart feat: user sync stream (#16862) 2025-04-17 10:25:27 -05:00
bytes_units.dart feat(mobile): share to mechanism (#15229) 2025-01-16 21:20:44 -06:00
color_filter_generator.dart feat(mobile): map view (#3661) 2023-08-27 05:07:35 +00:00
datetime_comparison.dart fix(mobile): sync all album properties (#8332) 2024-04-02 00:22:15 -05:00
debounce.dart feat(mobile): native_video_player (#12104) 2024-12-04 16:03:46 -05:00
diff.dart refactor(mobile): device asset entity to use modified time (#17064) 2025-04-03 14:42:35 -05:00
download.dart feat(mobile): enhance download operations (#12973) 2024-09-29 08:22:02 +00:00
draggable_scroll_controller.dart deps(mobile): flutter 3.16 (#6677) 2024-01-27 10:14:32 -06:00
hash.dart feature(mobile): sync assets, albums & users to local database on device (#1759) 2023-03-03 16:38:30 -06:00
http_ssl_cert_override.dart fix(mobile): Remote video playback and asset download on Android with mTLS (#16403) 2025-05-08 13:45:11 +00:00
http_ssl_options.dart fix(mobile): Remote video playback and asset download on Android with mTLS (#16403) 2025-05-08 13:45:11 +00:00
image_url_builder.dart feat(mobile): add cast support (#18341) 2025-06-08 21:55:23 -05:00
immich_loading_overlay.dart refactor(mobile): widgets (#9291) 2024-05-06 23:04:21 -05:00
isolate.dart feat: user sync stream (#16862) 2025-04-17 10:25:27 -05:00
local_files_manager.dart fix(mobile): auto trash using MANAGE_MEDIA (#17828) 2025-04-24 19:09:50 -05:00
map_utils.dart feat(mobile): map improvements (#17714) 2025-04-21 05:55:13 +00:00
migration.dart feat(mobile): hash assets in isolate (#18924) 2025-06-06 11:23:05 +05:30
openapi_patching.dart feat(web): add a user setting for default album sort order. (#18950) 2025-06-05 23:31:34 -05:00
provider_utils.dart refactor(mobile): move user service to domain (#16782) 2025-03-13 22:20:26 -05:00
selection_handlers.dart fix(mobile): share asset back button exit application (#18919) 2025-06-08 21:35:19 -05:00
storage_indicator.dart refactor(mobile): Use switch expression when possible (#15852) 2025-02-02 15:46:46 -06:00
string_helper.dart chore: remove all deprecated endpoints/properties from server and mobile app (#9724) 2024-05-24 15:37:01 +01:00
throttle.dart feat(mobile): native_video_player (#12104) 2024-12-04 16:03:46 -05:00
translation.dart fix(mobile): t function localization (#18768) 2025-06-03 09:52:29 -05:00
upload.dart feat(mobile): share to mechanism (#15229) 2025-01-16 21:20:44 -06:00
url_helper.dart fix(mobile): adds support for Internationalized Domain Name (IDN) (#17461) 2025-04-08 11:04:42 -05:00
user_agent.dart fix: mobile user agent set to immich_platform_version (#18478) 2025-05-22 10:35:24 -05:00
version_compatibility.dart feat(mobile): compatibility message warning (#10065) 2024-06-10 12:43:54 -05:00