mirror of
https://github.com/immich-app/immich.git
synced 2025-07-09 03:04:16 -04:00
* 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
173 lines
5.6 KiB
Plaintext
173 lines
5.6 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>AppGroupId</key>
|
|
<string>$(CUSTOM_GROUP_ID)</string>
|
|
<key>BGTaskSchedulerPermittedIdentifiers</key>
|
|
<array>
|
|
<string>app.alextran.immich.backgroundFetch</string>
|
|
<string>app.alextran.immich.backgroundProcessing</string>
|
|
</array>
|
|
<key>CADisableMinimumFrameDurationOnPhone</key>
|
|
<true />
|
|
<key>CFBundleDevelopmentRegion</key>
|
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>${PRODUCT_NAME}</string>
|
|
<key>CFBundleDocumentTypes</key>
|
|
<array>
|
|
<dict>
|
|
<key>CFBundleTypeName</key>
|
|
<string>ShareHandler</string>
|
|
<key>LSHandlerRank</key>
|
|
<string>Alternate</string>
|
|
<key>LSItemContentTypes</key>
|
|
<array>
|
|
<string>public.file-url</string>
|
|
<string>public.image</string>
|
|
<string>public.text</string>
|
|
<string>public.movie</string>
|
|
<string>public.url</string>
|
|
<string>public.data</string>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
<key>CFBundleExecutable</key>
|
|
<string>$(EXECUTABLE_NAME)</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
<string>6.0</string>
|
|
<key>CFBundleLocalizations</key>
|
|
<array>
|
|
<string>en</string>
|
|
<string>ar</string>
|
|
<string>ca</string>
|
|
<string>cs</string>
|
|
<string>da</string>
|
|
<string>de</string>
|
|
<string>es</string>
|
|
<string>fi</string>
|
|
<string>fr</string>
|
|
<string>he</string>
|
|
<string>hi</string>
|
|
<string>hu</string>
|
|
<string>it</string>
|
|
<string>ja</string>
|
|
<string>ko</string>
|
|
<string>lv</string>
|
|
<string>mn</string>
|
|
<string>nb</string>
|
|
<string>nl</string>
|
|
<string>pl</string>
|
|
<string>pt</string>
|
|
<string>ro</string>
|
|
<string>ru</string>
|
|
<string>sk</string>
|
|
<string>sl</string>
|
|
<string>sr</string>
|
|
<string>sv</string>
|
|
<string>th</string>
|
|
<string>uk</string>
|
|
<string>vi</string>
|
|
<string>zh</string>
|
|
</array>
|
|
<key>CFBundleName</key>
|
|
<string>immich_mobile</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>1.134.0</string>
|
|
<key>CFBundleSignature</key>
|
|
<string>????</string>
|
|
<key>CFBundleURLTypes</key>
|
|
<array>
|
|
<dict>
|
|
<key>CFBundleTypeRole</key>
|
|
<string>Editor</string>
|
|
<key>CFBundleURLSchemes</key>
|
|
<array>
|
|
<string>ShareMedia-$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
<key>CFBundleVersion</key>
|
|
<string>208</string>
|
|
<key>FLTEnableImpeller</key>
|
|
<true />
|
|
<key>ITSAppUsesNonExemptEncryption</key>
|
|
<false />
|
|
<key>LSApplicationQueriesSchemes</key>
|
|
<array>
|
|
<string>https</string>
|
|
</array>
|
|
<key>LSRequiresIPhoneOS</key>
|
|
<true />
|
|
<key>LSSupportsOpeningDocumentsInPlace</key>
|
|
<string>No</string>
|
|
<key>MGLMapboxMetricsEnabledSettingShownInApp</key>
|
|
<true />
|
|
<key>NSAppTransportSecurity</key>
|
|
<dict>
|
|
<key>NSAllowsArbitraryLoads</key>
|
|
<true />
|
|
</dict>
|
|
<key>NSBonjourServices</key>
|
|
<array>
|
|
<string>_googlecast._tcp</string>
|
|
<string>_CC1AD845._googlecast._tcp</string>
|
|
</array>
|
|
<key>NSCameraUsageDescription</key>
|
|
<string>We need to access the camera to let you take beautiful video using this app</string>
|
|
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
|
|
<string>We require this permission to access the local WiFi name for background upload mechanism</string>
|
|
<key>NSLocationUsageDescription</key>
|
|
<string>We require this permission to access the local WiFi name</string>
|
|
<key>NSLocationWhenInUseUsageDescription</key>
|
|
<string>We require this permission to access the local WiFi name</string>
|
|
<key>NSMicrophoneUsageDescription</key>
|
|
<string>We need to access the microphone to let you take beautiful video using this app</string>
|
|
<key>NSPhotoLibraryAddUsageDescription</key>
|
|
<string>We need to manage backup your photos album</string>
|
|
<key>NSPhotoLibraryUsageDescription</key>
|
|
<string>We need to manage backup your photos album</string>
|
|
<key>NSUserActivityTypes</key>
|
|
<array>
|
|
<string>INSendMessageIntent</string>
|
|
</array>
|
|
<key>UIApplicationSupportsIndirectInputEvents</key>
|
|
<true />
|
|
<key>UIBackgroundModes</key>
|
|
<array>
|
|
<string>fetch</string>
|
|
<string>processing</string>
|
|
</array>
|
|
<key>UILaunchStoryboardName</key>
|
|
<string>LaunchScreen</string>
|
|
<key>UIMainStoryboardFile</key>
|
|
<string>Main</string>
|
|
<key>UIStatusBarHidden</key>
|
|
<false />
|
|
<key>UISupportedInterfaceOrientations</key>
|
|
<array>
|
|
<string>UIInterfaceOrientationPortrait</string>
|
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
</array>
|
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
<array>
|
|
<string>UIInterfaceOrientationPortrait</string>
|
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
</array>
|
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
<true />
|
|
<key>io.flutter.embedded_views_preview</key>
|
|
<true />
|
|
<key>NSFaceIDUsageDescription</key>
|
|
<string>We need to use FaceID to allow access to your locked folder</string>
|
|
</dict>
|
|
</plist>
|