0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-21 00:52:43 -05:00
immich/mobile/pubspec.yaml
shenlong 3c38851d50
feat(mobile): native_video_player (#12104)
* add native player library

* splitup the player

* stateful widget

* refactor: native_video_player

* fix: handle buffering

* turn on volume when video plays

* fix: aspect ratio

* fix: handle remote asset orientation

* refinements and fixes

fix orientation for remote assets

wip separate widget

separate video loader widget

fixed memory leak

optimized seeking, cleanup

debug context pop

use global key

back to one widget

fixed rebuild

wait for swipe animation to finish

smooth hero animation for remote videos

faster scroll animation

* clean up logging

* refactor aspect ratio calculation

* removed unnecessary import

* transitive dependencies

* fixed referencing uninitialized orientation

* use correct ref to build android

* higher res placeholder for local videos

* slightly lower delay

* await things

* fix controls when swiping between image and video

* linting

* extra smooth seeking, add comments

* chore: generate router page

* use current asset provider and loadAsset

* fix stack handling

* improved motion photo handling

* use visibility for motion videos

* error handling for async calls

* fix duplicate key error

* maybe fix duplicate key error

* increase delay for hero animation

* faster initialization for remote videos

* ensure dimensions for memory cards

* make aspect ratio logic reusable, optimizations

* refactor: move exif search from aspect ratio to orientation

* local orientation on ios is unreliable; prefer remote

* fix no audio in silent mode on ios

* increase bottom bar opacity to account for hdr

* remove unused import

* fix live photo play button not updating

* fix map marker -> galleryviewer

* remove video_player

* fix hdr playback on android

* fix looping

* remove unused dependencies

* update to latest player commit

* fix player controls hiding when video is not playing

* fix restart video

* stop showing motion video after ending when looping is disabled

* delay video initialization to avoid placeholder flicker

* faster animation

* shorter delay

* small delay for image -> video on android

* fix: lint

* hide stacked children when controls are hidden, avoid bottom bar dropping

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-12-04 16:03:46 -05:00

151 lines
4 KiB
YAML

name: immich_mobile
description: Immich - selfhosted backup media file on mobile phone
publish_to: 'none'
version: 1.121.0+168
environment:
sdk: '>=3.3.0 <4.0.0'
flutter: 3.24.5
isar_version: &isar_version 3.1.8 # define the version to be used
dependencies:
flutter:
sdk: flutter
path_provider_ios:
photo_manager: ^3.6.1
photo_manager_image_provider: ^2.2.0
flutter_hooks: ^0.20.4
hooks_riverpod: ^2.4.9
riverpod_annotation: ^2.3.3
cached_network_image: ^3.3.1
flutter_cache_manager: ^3.3.1
intl: ^0.19.0
auto_route: ^9.2.0
fluttertoast: ^8.2.4
socket_io_client: ^2.0.3+1
maplibre_gl: 0.19.0+2
geolocator: ^11.0.0 # used to move to current location in map view
flutter_udid: ^3.0.0
flutter_svg: ^2.0.9
package_info_plus: ^8.0.1
url_launcher: ^6.2.4
http: ^1.1.0
cancellation_token_http: ^2.0.0
easy_localization: ^3.0.3
share_plus: ^10.0.0
flutter_displaymode: ^0.6.0
scrollable_positioned_list: ^0.3.8
path: ^1.8.3
path_provider: ^2.1.2
collection: ^1.18.0
http_parser: ^4.0.2
flutter_web_auth: 0.6.0
easy_image_viewer: ^1.4.0
isar:
version: *isar_version
hosted: https://pub.isar-community.dev/
isar_flutter_libs: # contains Isar Core
version: *isar_version
hosted: https://pub.isar-community.dev/
permission_handler: ^11.2.0
device_info_plus: ^11.0.0
connectivity_plus: ^6.0.0
wakelock_plus: ^1.1.4
flutter_local_notifications: ^17.2.1+2
timezone: ^0.9.2
octo_image: ^2.0.0
thumbhash: 0.1.0+1
async: ^2.11.0
dynamic_color: ^1.7.0 #package to apply system theme
background_downloader: ^8.5.5
native_video_player:
git:
url: https://github.com/immich-app/native_video_player
ref: ac78487
#image editing packages
crop_image: ^1.0.13
openapi:
path: openapi
# easy to remove packages:
image_picker: ^1.0.7 # only used to select user profile image from system gallery -> we can simply select an image from within immich?
logging: ^1.2.0
file_picker: ^8.0.0+1
# This is uncommented in F-Droid build script
# Taken from https://github.com/Myzel394/locus/blob/445013d22ec1d759027d4303bd65b30c5c8588c8/pubspec.yaml#L105
dependency_overrides:
# TODO: remove once Isar is updated
analyzer: ^6.3.0
# TODO: remove once analyzer override is removed
meta: ^1.11.0
# TODO: remove once analyzer override is removed
analyzer_plugin: ^0.11.3
#f geolocator_android:
#f git:
#f url: https://github.com/Zverik/flutter-geolocator.git
#f ref: floss
#f path: geolocator_android
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0
build_runner: ^2.4.8
auto_route_generator: ^9.0.0
flutter_launcher_icons: ^0.14.0
flutter_native_splash: ^2.3.9
isar_generator:
version: *isar_version
hosted: https://pub.isar-community.dev/
integration_test:
sdk: flutter
custom_lint: ^0.6.4
riverpod_lint: ^2.3.7
riverpod_generator: ^2.3.9
mocktail: ^1.0.3
immich_mobile_immich_lint:
path: './immich_lint'
flutter:
uses-material-design: true
assets:
- assets/
- assets/i18n/
fonts:
- family: Inconsolata
fonts:
- asset: fonts/Inconsolata-Regular.ttf
- family: Overpass
fonts:
- asset: fonts/overpass/Overpass-Regular.ttf
weight: 400
- asset: fonts/overpass/Overpass-Italic.ttf
style: italic
- asset: fonts/overpass/Overpass-Medium.ttf
weight: 500
- asset: fonts/overpass/Overpass-SemiBold.ttf
weight: 600
- asset: fonts/overpass/Overpass-Bold.ttf
weight: 700
- family: OverpassMono
fonts:
- asset: fonts/overpass/OverpassMono.ttf
flutter_launcher_icons:
image_path_android: 'assets/immich-logo.png'
adaptive_icon_background: '#ffffff'
adaptive_icon_foreground: 'assets/immich-logo-android-adaptive-icon.png'
image_path_ios: 'assets/immich-logo-w-bg.png'
android: 'ic_launcher' # can specify file name here e.g. "ic_launcher"
ios: false # can specify file name here e.g. "My-Launcher-Icon
remove_alpha_ios: true
analyzer:
exclude:
- openapi/**