upgraded flutter to v2.5.2
This commit is contained in:
parent
bfdbd22bc8
commit
ff92100dcf
10 changed files with 154 additions and 41 deletions
2
.github/workflows/check.yml
vendored
2
.github/workflows/check.yml
vendored
|
@ -15,7 +15,7 @@ jobs:
|
||||||
- uses: subosito/flutter-action@v1
|
- uses: subosito/flutter-action@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
flutter-version: '2.5.1'
|
flutter-version: '2.5.2'
|
||||||
|
|
||||||
- name: Clone the repository.
|
- name: Clone the repository.
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
|
@ -17,7 +17,7 @@ jobs:
|
||||||
- uses: subosito/flutter-action@v1
|
- uses: subosito/flutter-action@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
flutter-version: '2.5.1'
|
flutter-version: '2.5.2'
|
||||||
|
|
||||||
# Workaround for this Android Gradle Plugin issue (supposedly fixed in AGP 4.1):
|
# Workaround for this Android Gradle Plugin issue (supposedly fixed in AGP 4.1):
|
||||||
# https://issuetracker.google.com/issues/144111441
|
# https://issuetracker.google.com/issues/144111441
|
||||||
|
@ -50,8 +50,8 @@ jobs:
|
||||||
echo "${{ secrets.KEY_JKS }}" > release.keystore.asc
|
echo "${{ secrets.KEY_JKS }}" > release.keystore.asc
|
||||||
gpg -d --passphrase "${{ secrets.KEY_JKS_PASSPHRASE }}" --batch release.keystore.asc > $AVES_STORE_FILE
|
gpg -d --passphrase "${{ secrets.KEY_JKS_PASSPHRASE }}" --batch release.keystore.asc > $AVES_STORE_FILE
|
||||||
rm release.keystore.asc
|
rm release.keystore.asc
|
||||||
flutter build apk --bundle-sksl-path shaders_2.5.1.sksl.json
|
flutter build apk --bundle-sksl-path shaders_2.5.2.sksl.json
|
||||||
flutter build appbundle --bundle-sksl-path shaders_2.5.1.sksl.json
|
flutter build appbundle --bundle-sksl-path shaders_2.5.2.sksl.json
|
||||||
rm $AVES_STORE_FILE
|
rm $AVES_STORE_FILE
|
||||||
env:
|
env:
|
||||||
AVES_STORE_FILE: ${{ github.workspace }}/key.jks
|
AVES_STORE_FILE: ${{ github.workspace }}/key.jks
|
||||||
|
|
102
CHANGELOG.md
102
CHANGELOG.md
|
@ -1,50 +1,69 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- upgraded Flutter to stable v2.5.2
|
||||||
|
|
||||||
## [v1.5.3] - 2021-09-30
|
## [v1.5.3] - 2021-09-30
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Map: show items for bounds, open items in viewer, tap gesture to toggle fullscreen
|
- Map: show items for bounds, open items in viewer, tap gesture to toggle fullscreen
|
||||||
- Info: remove metadata (Exif, XMP, etc.)
|
- Info: remove metadata (Exif, XMP, etc.)
|
||||||
- Accessibility: support "time to take action" and "remove animations" settings
|
- Accessibility: support "time to take action" and "remove animations" settings
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- upgraded Flutter to stable v2.5.1
|
- upgraded Flutter to stable v2.5.1
|
||||||
- faster collection loading when launching the app
|
- faster collection loading when launching the app
|
||||||
- Collection: changed color & scale of thumbnail icons to match text
|
- Collection: changed color & scale of thumbnail icons to match text
|
||||||
- Albums / Countries / Tags: changed layout, with label below cover
|
- Albums / Countries / Tags: changed layout, with label below cover
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- album bookmarks & pins were reset when rescanning items
|
- album bookmarks & pins were reset when rescanning items
|
||||||
|
|
||||||
## [v1.5.2] - 2021-09-29 [YANKED]
|
## [v1.5.2] - 2021-09-29 [YANKED]
|
||||||
|
|
||||||
## [v1.5.1] - 2021-09-08
|
## [v1.5.1] - 2021-09-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- About: bug reporting instructions
|
- About: bug reporting instructions
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Collection: improved video date detection
|
- Collection: improved video date detection
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fixed hanging app when loading thumbnails for some video formats on some devices
|
- fixed hanging app when loading thumbnails for some video formats on some devices
|
||||||
|
|
||||||
## [v1.5.0] - 2021-09-02
|
## [v1.5.0] - 2021-09-02
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Info: edit Exif dates (setting, shifting, deleting)
|
- Info: edit Exif dates (setting, shifting, deleting)
|
||||||
- Collection: custom quick actions for item selection
|
- Collection: custom quick actions for item selection
|
||||||
- Collection: video date detection for more formats
|
- Collection: video date detection for more formats
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- faster collection loading when launching the app
|
- faster collection loading when launching the app
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- app launching on some devices
|
- app launching on some devices
|
||||||
- corrupting motion photo exif editing (e.g. rotation)
|
- corrupting motion photo exif editing (e.g. rotation)
|
||||||
|
|
||||||
## [v1.4.9] - 2021-08-20
|
## [v1.4.9] - 2021-08-20
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Map & Stats from selection
|
- Map & Stats from selection
|
||||||
- Map: item browsing, rotation control
|
- Map: item browsing, rotation control
|
||||||
- Navigation menu customization
|
- Navigation menu customization
|
||||||
|
@ -52,19 +71,24 @@ All notable changes to this project will be documented in this file.
|
||||||
- support Android 12/S (API 31)
|
- support Android 12/S (API 31)
|
||||||
|
|
||||||
## [v1.4.8] - 2021-08-08
|
## [v1.4.8] - 2021-08-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Map
|
- Map
|
||||||
- Viewer: action to copy to clipboard
|
- Viewer: action to copy to clipboard
|
||||||
- integration with Android global search (Samsung Finder etc.)
|
- integration with Android global search (Samsung Finder etc.)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- auto album identification and naming
|
- auto album identification and naming
|
||||||
- opening HEIC images from downloads content URI on Android R+
|
- opening HEIC images from downloads content URI on Android R+
|
||||||
|
|
||||||
## [v1.4.7] - 2021-08-06 [YANKED]
|
## [v1.4.7] - 2021-08-06 [YANKED]
|
||||||
|
|
||||||
## [v1.4.6] - 2021-07-22
|
## [v1.4.6] - 2021-07-22
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Albums / Countries / Tags: multiple selection
|
- Albums / Countries / Tags: multiple selection
|
||||||
- Albums: action to create empty albums
|
- Albums: action to create empty albums
|
||||||
- Collection: burst shot grouping (Samsung naming pattern)
|
- Collection: burst shot grouping (Samsung naming pattern)
|
||||||
|
@ -74,18 +98,23 @@ All notable changes to this project will be documented in this file.
|
||||||
- Settings: option to exclude cutout area in viewer
|
- Settings: option to exclude cutout area in viewer
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Video: restored overlay hiding when pressing play button
|
- Video: restored overlay hiding when pressing play button
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Viewer: fixed manual screen rotation to follow sensor
|
- Viewer: fixed manual screen rotation to follow sensor
|
||||||
|
|
||||||
## [v1.4.5] - 2021-07-08
|
## [v1.4.5] - 2021-07-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Video: added OGV/Theora/Vorbis support
|
- Video: added OGV/Theora/Vorbis support
|
||||||
- Viewer: action to rotate screen when device has locked rotation
|
- Viewer: action to rotate screen when device has locked rotation
|
||||||
- Settings: import/export
|
- Settings: import/export
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- improved SVG support with a different rendering engine
|
- improved SVG support with a different rendering engine
|
||||||
- changed logo
|
- changed logo
|
||||||
- upgraded Flutter to stable v2.2.3
|
- upgraded Flutter to stable v2.2.3
|
||||||
|
@ -93,76 +122,97 @@ All notable changes to this project will be documented in this file.
|
||||||
- viewer: parallax effect when scrolling
|
- viewer: parallax effect when scrolling
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- Analytics: removed Firebase Analytics (kept Firebase Crashlytics)
|
- Analytics: removed Firebase Analytics (kept Firebase Crashlytics)
|
||||||
|
|
||||||
## [v1.4.4] - 2021-06-25
|
## [v1.4.4] - 2021-06-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Video: speed control, track selection, frame capture
|
- Video: speed control, track selection, frame capture
|
||||||
- Video: embedded subtitle support
|
- Video: embedded subtitle support
|
||||||
- Settings: custom video quick actions
|
- Settings: custom video quick actions
|
||||||
- Settings: subtitle theme
|
- Settings: subtitle theme
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- upgraded Flutter to stable v2.2.2
|
- upgraded Flutter to stable v2.2.2
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fixed opening SVGs from other apps
|
- fixed opening SVGs from other apps
|
||||||
- stop video playback when leaving the app in some cases
|
- stop video playback when leaving the app in some cases
|
||||||
- fixed crash when ACCESS_MEDIA_LOCATION permission is revoked
|
- fixed crash when ACCESS_MEDIA_LOCATION permission is revoked
|
||||||
|
|
||||||
## [v1.4.3] - 2021-06-12
|
## [v1.4.3] - 2021-06-12
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Collection: snack bar action to show moved/copied/exported entries
|
- Collection: snack bar action to show moved/copied/exported entries
|
||||||
- Collection / Albums / Countries / Tags: when switching device orientation, keep items in view
|
- Collection / Albums / Countries / Tags: when switching device orientation, keep items in view
|
||||||
- Collection: when leaving entry from Viewer, make entry visible in collection
|
- Collection: when leaving entry from Viewer, make entry visible in collection
|
||||||
- Viewer: fixed layout & minimap for videos with non-square pixels
|
- Viewer: fixed layout & minimap for videos with non-square pixels
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- upgraded Flutter to stable v2.2.1
|
- upgraded Flutter to stable v2.2.1
|
||||||
- migrated to unsound null safety
|
- migrated to unsound null safety
|
||||||
- Collection / Viewer: improved performance, memory usage
|
- Collection / Viewer: improved performance, memory usage
|
||||||
- Collection: thumbnail layout change
|
- Collection: thumbnail layout change
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- no support for Android KitKat (API 19), unsupported by Google Maps package
|
- no support for Android KitKat (API 19), unsupported by Google Maps package
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fixed opening files shared via content URI with incorrect MIME type
|
- fixed opening files shared via content URI with incorrect MIME type
|
||||||
- refresh collection when entries modified in Viewer no longer match collection filters
|
- refresh collection when entries modified in Viewer no longer match collection filters
|
||||||
|
|
||||||
## [v1.4.2] - 2021-06-10 [YANKED]
|
## [v1.4.2] - 2021-06-10 [YANKED]
|
||||||
|
|
||||||
## [v1.4.1] - 2021-04-29
|
## [v1.4.1] - 2021-04-29
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Motion photo support
|
- Motion photo support
|
||||||
- Viewer: play videos in multi-track HEIC
|
- Viewer: play videos in multi-track HEIC
|
||||||
- Handle share intent
|
- Handle share intent
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgraded Flutter to beta v2.2.0-10.1.pre
|
- Upgraded Flutter to beta v2.2.0-10.1.pre
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fixed crash when cataloguing large MP4/PSD
|
- fixed crash when cataloguing large MP4/PSD
|
||||||
- prevent videos playing in the background when quickly switching entries
|
- prevent videos playing in the background when quickly switching entries
|
||||||
|
|
||||||
## [v1.4.0] - 2021-04-16
|
## [v1.4.0] - 2021-04-16
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Viewer: support for videos with EAC3/FLAC/OPUS audio
|
- Viewer: support for videos with EAC3/FLAC/OPUS audio
|
||||||
- Info: more consistent and comprehensive info for videos and streams
|
- Info: more consistent and comprehensive info for videos and streams
|
||||||
- Settings: more video options (auto play, loop, hardware acceleration)
|
- Settings: more video options (auto play, loop, hardware acceleration)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Info: present video cover like XMP embedded images
|
- Info: present video cover like XMP embedded images
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- locale name package (-3 MB)
|
- locale name package (-3 MB)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Albums: auto naming for folders on SD card
|
- Albums: auto naming for folders on SD card
|
||||||
- Viewer: display of videos with unusual SAR
|
- Viewer: display of videos with unusual SAR
|
||||||
|
|
||||||
## [v1.3.7] - 2021-04-02
|
## [v1.3.7] - 2021-04-02
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Collection / Albums / Countries / Tags: added label when dragging scrollbar thumb
|
- Collection / Albums / Countries / Tags: added label when dragging scrollbar thumb
|
||||||
- Albums: localized common album names
|
- Albums: localized common album names
|
||||||
- Collection: select shortcut icon image
|
- Collection: select shortcut icon image
|
||||||
|
@ -170,165 +220,209 @@ All notable changes to this project will be documented in this file.
|
||||||
- Settings: option to hide videos from collection
|
- Settings: option to hide videos from collection
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgraded Flutter to beta v2.1.0-12.2.pre
|
- Upgraded Flutter to beta v2.1.0-12.2.pre
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- opening media shared by other apps as file media content
|
- opening media shared by other apps as file media content
|
||||||
- navigation stack when opening media shared by other apps
|
- navigation stack when opening media shared by other apps
|
||||||
|
|
||||||
## [v1.3.6] - 2021-03-18
|
## [v1.3.6] - 2021-03-18
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Korean translation
|
- Korean translation
|
||||||
- cover selection for albums / countries / tags
|
- cover selection for albums / countries / tags
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgraded Flutter to dev v2.1.0-12.1.pre
|
- Upgraded Flutter to dev v2.1.0-12.1.pre
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- various TIFF decoding fixes
|
- various TIFF decoding fixes
|
||||||
|
|
||||||
## [v1.3.5] - 2021-02-26
|
## [v1.3.5] - 2021-02-26
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- support Android KitKat, Lollipop & Marshmallow (API 19 ~ 23)
|
- support Android KitKat, Lollipop & Marshmallow (API 19 ~ 23)
|
||||||
- quick country reverse geocoding without Play Services
|
- quick country reverse geocoding without Play Services
|
||||||
- menu option to hide any filter
|
- menu option to hide any filter
|
||||||
- menu option to navigate to the album / country / tag page from filter
|
- menu option to navigate to the album / country / tag page from filter
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- analytics are opt-in
|
- analytics are opt-in
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- removed custom font used in titles and info page
|
- removed custom font used in titles and info page
|
||||||
|
|
||||||
## [v1.3.4] - 2021-02-10
|
## [v1.3.4] - 2021-02-10
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- hide album / country / tag from collection
|
- hide album / country / tag from collection
|
||||||
- new version check
|
- new version check
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Viewer: improved multipage item overlay and thumbnail loading
|
- Viewer: improved multipage item overlay and thumbnail loading
|
||||||
- deactivate geocoding and Google maps when Play Services are unavailable
|
- deactivate geocoding and Google maps when Play Services are unavailable
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- refreshing items externally added/moved/removed
|
- refreshing items externally added/moved/removed
|
||||||
- loading items at the root of volumes
|
- loading items at the root of volumes
|
||||||
- loading items when opening a shortcut with a location filter
|
- loading items when opening a shortcut with a location filter
|
||||||
- various thumbnail hero animation fixes
|
- various thumbnail hero animation fixes
|
||||||
|
|
||||||
## [v1.3.3] - 2021-01-31
|
## [v1.3.3] - 2021-01-31
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Viewer: support for multi-track HEIF
|
- Viewer: support for multi-track HEIF
|
||||||
- Viewer: export image (including multipage TIFF/HEIF and images embedded in XMP)
|
- Viewer: export image (including multipage TIFF/HEIF and images embedded in XMP)
|
||||||
- Info: show owner app (Android Q and up)
|
- Info: show owner app (Android Q and up)
|
||||||
- listen to Media Store changes
|
- listen to Media Store changes
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- upgraded Flutter to stable v1.22.6
|
- upgraded Flutter to stable v1.22.6
|
||||||
- check connectivity before using features that need it
|
- check connectivity before using features that need it
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- checkerboard background performance
|
- checkerboard background performance
|
||||||
- deleting files that no longer exist but are still registered in the Media Store
|
- deleting files that no longer exist but are still registered in the Media Store
|
||||||
- insets handling on Android 11
|
- insets handling on Android 11
|
||||||
|
|
||||||
## [v1.3.2] - 2021-01-17
|
## [v1.3.2] - 2021-01-17
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
Collection: identify multipage TIFF & multitrack HEIC/HEIF
|
|
||||||
Viewer: support for multipage TIFF
|
Collection: identify multipage TIFF & multitrack HEIC/HEIF Viewer: support for multipage TIFF
|
||||||
Viewer: support for cropped panoramas
|
Viewer: support for cropped panoramas Albums: grouping options
|
||||||
Albums: grouping options
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
upgraded libtiff to 4.2.0 for TIFF decoding
|
upgraded libtiff to 4.2.0 for TIFF decoding
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- prevent scrolling when using Android Q style gesture navigation
|
- prevent scrolling when using Android Q style gesture navigation
|
||||||
|
|
||||||
## [v1.3.1] - 2021-01-04
|
## [v1.3.1] - 2021-01-04
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Collection: long press and move to select/deselect multiple items
|
- Collection: long press and move to select/deselect multiple items
|
||||||
- Info: show Spherical Video V1 metadata
|
- Info: show Spherical Video V1 metadata
|
||||||
- Info: metadata search
|
- Info: metadata search
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Viewer: fixed panning inertia following double-tap scaling
|
- Viewer: fixed panning inertia following double-tap scaling
|
||||||
- Collection: fixed crash when loading TIFF files on Android 11
|
- Collection: fixed crash when loading TIFF files on Android 11
|
||||||
|
|
||||||
## [v1.3.0] - 2020-12-26
|
## [v1.3.0] - 2020-12-26
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Viewer: quick scale (aka one finger zoom)
|
- Viewer: quick scale (aka one finger zoom)
|
||||||
- Viewer: optional checkered background for transparent images
|
- Viewer: optional checkered background for transparent images
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Viewer: changed panning inertia
|
- Viewer: changed panning inertia
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Viewer: fixed scaling focus when zooming by double-tap or pinch
|
- Viewer: fixed scaling focus when zooming by double-tap or pinch
|
||||||
- Viewer: fixed panning during scaling
|
- Viewer: fixed panning during scaling
|
||||||
|
|
||||||
## [v1.2.9] - 2020-12-12
|
## [v1.2.9] - 2020-12-12
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Collection: identify 360 photos/videos, GeoTIFF
|
- Collection: identify 360 photos/videos, GeoTIFF
|
||||||
- Viewer: open panoramas (360 photos)
|
- Viewer: open panoramas (360 photos)
|
||||||
- Info: open GImage/GAudio/GDepth media and thumbnails embedded in XMP
|
- Info: open GImage/GAudio/GDepth media and thumbnails embedded in XMP
|
||||||
- Info: SVG metadata
|
- Info: SVG metadata
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgraded Flutter to stable v1.22.5
|
- Upgraded Flutter to stable v1.22.5
|
||||||
- Viewer: TIFF subsampling & tiling
|
- Viewer: TIFF subsampling & tiling
|
||||||
- Info: improved XMP layout
|
- Info: improved XMP layout
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed large TIFF handling
|
- Fixed large TIFF handling
|
||||||
|
|
||||||
## [v1.2.8] - 2020-11-27
|
## [v1.2.8] - 2020-11-27
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Albums / Countries / Tags: pinch to change tile size
|
- Albums / Countries / Tags: pinch to change tile size
|
||||||
- Album picker: added a field to filter by name
|
- Album picker: added a field to filter by name
|
||||||
- check free space before moving items
|
- check free space before moving items
|
||||||
- SVG source viewer
|
- SVG source viewer
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Navigation: changed page history handling
|
- Navigation: changed page history handling
|
||||||
- Info: improved layout, especially for XMP
|
- Info: improved layout, especially for XMP
|
||||||
- About: improved layout
|
- About: improved layout
|
||||||
- faster locating of new items
|
- faster locating of new items
|
||||||
|
|
||||||
## [v1.2.7] - 2020-11-15
|
## [v1.2.7] - 2020-11-15
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Support for TIFF images (single page)
|
- Support for TIFF images (single page)
|
||||||
- Viewer overlay: minimap (optional)
|
- Viewer overlay: minimap (optional)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgraded Flutter to stable v1.22.4
|
- Upgraded Flutter to stable v1.22.4
|
||||||
- Viewer: use subsampling and tiling to display large images
|
- Viewer: use subsampling and tiling to display large images
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed finding dimensions of items with incorrect EXIF
|
- Fixed finding dimensions of items with incorrect EXIF
|
||||||
|
|
||||||
## [v1.2.6] - 2020-11-15 [YANKED]
|
## [v1.2.6] - 2020-11-15 [YANKED]
|
||||||
|
|
||||||
## [v1.2.5] - 2020-11-01
|
## [v1.2.5] - 2020-11-01
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Search: show recently used filters (optional)
|
- Search: show recently used filters (optional)
|
||||||
- Search: show filter for items with no XMP tags
|
- Search: show filter for items with no XMP tags
|
||||||
- Search: show filter for items with no location information
|
- Search: show filter for items with no location information
|
||||||
- Analytics: use Firebase Analytics (along Firebase Crashlytics)
|
- Analytics: use Firebase Analytics (along Firebase Crashlytics)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgraded Flutter to stable v1.22.3
|
- Upgraded Flutter to stable v1.22.3
|
||||||
- Viewer overlay: showing shooting details is now optional
|
- Viewer overlay: showing shooting details is now optional
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Viewer: leave when the loaded item is deleted and it is the last one
|
- Viewer: leave when the loaded item is deleted and it is the last one
|
||||||
- Viewer: refresh the viewer overlay and info page when the loaded image is modified
|
- Viewer: refresh the viewer overlay and info page when the loaded image is modified
|
||||||
- Info: prevent reporting a "Media" section for images other than HEIC/HEIF
|
- Info: prevent reporting a "Media" section for images other than HEIC/HEIF
|
||||||
- Fixed opening items shared via a "file" media content URI
|
- Fixed opening items shared via a "file" media content URI
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- Dependencies: removed Guava as a direct dependency in Android
|
- Dependencies: removed Guava as a direct dependency in Android
|
||||||
|
|
||||||
## [v1.2.4] - 2020-11-01 [YANKED]
|
## [v1.2.4] - 2020-11-01 [YANKED]
|
||||||
|
|
||||||
## [v1.2.3] - 2020-10-22
|
## [v1.2.3] - 2020-10-22
|
||||||
|
|
||||||
...
|
...
|
|
@ -200,17 +200,8 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
|
||||||
final otherViewEnabled = (!isSelecting && hasItems) || (isSelecting && hasSelection);
|
final otherViewEnabled = (!isSelecting && hasItems) || (isSelecting && hasSelection);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
_toMenuItem(
|
_toMenuItem(EntrySetAction.sort),
|
||||||
EntrySetAction.sort,
|
if (groupable) _toMenuItem(EntrySetAction.group),
|
||||||
// key is expected by test driver
|
|
||||||
key: const Key('menu-sort'),
|
|
||||||
),
|
|
||||||
if (groupable)
|
|
||||||
_toMenuItem(
|
|
||||||
EntrySetAction.group,
|
|
||||||
// key is expected by test driver
|
|
||||||
key: const Key('menu-group'),
|
|
||||||
),
|
|
||||||
if (appMode == AppMode.main) ...[
|
if (appMode == AppMode.main) ...[
|
||||||
if (!isSelecting)
|
if (!isSelecting)
|
||||||
_toMenuItem(
|
_toMenuItem(
|
||||||
|
@ -254,9 +245,10 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
PopupMenuItem<EntrySetAction> _toMenuItem(EntrySetAction action, {Key? key, bool enabled = true}) {
|
PopupMenuItem<EntrySetAction> _toMenuItem(EntrySetAction action, {bool enabled = true}) {
|
||||||
return PopupMenuItem(
|
return PopupMenuItem(
|
||||||
key: key,
|
// key is expected by test driver (e.g. 'menu-sort', 'menu-group', 'menu-map')
|
||||||
|
key: Key('menu-${action.toString().substring('EntrySetAction.'.length)}'),
|
||||||
value: action,
|
value: action,
|
||||||
enabled: enabled,
|
enabled: enabled,
|
||||||
child: MenuRow(text: action.getText(context), icon: action.getIcon()),
|
child: MenuRow(text: action.getText(context), icon: action.getIcon()),
|
||||||
|
|
|
@ -207,6 +207,8 @@ class _MapPageContentState extends State<MapPageContent> with SingleTickerProvid
|
||||||
navigationButton: MapNavigationButton.back,
|
navigationButton: MapNavigationButton.back,
|
||||||
scale: _overlayScale,
|
scale: _overlayScale,
|
||||||
child: GeoMap(
|
child: GeoMap(
|
||||||
|
// key is expected by test driver
|
||||||
|
key: const Key('map_view'),
|
||||||
controller: _mapController,
|
controller: _mapController,
|
||||||
entries: entries,
|
entries: entries,
|
||||||
initialEntry: widget.initialEntry,
|
initialEntry: widget.initialEntry,
|
||||||
|
|
|
@ -83,7 +83,7 @@ class _MultiEntryScrollerState extends State<MultiEntryScroller> with AutomaticK
|
||||||
Widget _buildViewer(AvesEntry mainEntry, {AvesEntry? pageEntry}) {
|
Widget _buildViewer(AvesEntry mainEntry, {AvesEntry? pageEntry}) {
|
||||||
return EntryPageView(
|
return EntryPageView(
|
||||||
// key is expected by test driver
|
// key is expected by test driver
|
||||||
key: const Key('imageview'),
|
key: const Key('image_view'),
|
||||||
mainEntry: mainEntry,
|
mainEntry: mainEntry,
|
||||||
pageEntry: pageEntry ?? mainEntry,
|
pageEntry: pageEntry ?? mainEntry,
|
||||||
onDisposed: () => widget.onViewDisposed(mainEntry, pageEntry),
|
onDisposed: () => widget.onViewDisposed(mainEntry, pageEntry),
|
||||||
|
|
30
pubspec.lock
30
pubspec.lock
|
@ -86,7 +86,7 @@ packages:
|
||||||
name: cli_util
|
name: cli_util
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.3"
|
version: "0.3.4"
|
||||||
clock:
|
clock:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -293,7 +293,7 @@ packages:
|
||||||
name: firebase_core
|
name: firebase_core
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.6.0"
|
version: "1.7.0"
|
||||||
firebase_core_platform_interface:
|
firebase_core_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -314,14 +314,14 @@ packages:
|
||||||
name: firebase_crashlytics
|
name: firebase_crashlytics
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "2.2.2"
|
||||||
firebase_crashlytics_platform_interface:
|
firebase_crashlytics_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_crashlytics_platform_interface
|
name: firebase_crashlytics_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.2"
|
version: "3.1.3"
|
||||||
flex_color_picker:
|
flex_color_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -435,14 +435,14 @@ packages:
|
||||||
name: github
|
name: github
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "8.1.1"
|
version: "8.1.2"
|
||||||
glob:
|
glob:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: glob
|
name: glob
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.0.2"
|
||||||
google_api_availability:
|
google_api_availability:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -456,14 +456,14 @@ packages:
|
||||||
name: google_maps_flutter
|
name: google_maps_flutter
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.10"
|
version: "2.0.11"
|
||||||
google_maps_flutter_platform_interface:
|
google_maps_flutter_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: google_maps_flutter_platform_interface
|
name: google_maps_flutter_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.2"
|
||||||
highlight:
|
highlight:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -498,7 +498,7 @@ packages:
|
||||||
name: image
|
name: image
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.7"
|
||||||
intl:
|
intl:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -533,7 +533,7 @@ packages:
|
||||||
name: latlong2
|
name: latlong2
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.0"
|
version: "0.8.1"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -764,7 +764,7 @@ packages:
|
||||||
name: permission_handler_platform_interface
|
name: permission_handler_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.6.1"
|
version: "3.6.2"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -785,7 +785,7 @@ packages:
|
||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.0.2"
|
||||||
pool:
|
pool:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -827,7 +827,7 @@ packages:
|
||||||
name: provider
|
name: provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.0"
|
version: "6.0.1"
|
||||||
pub_semver:
|
pub_semver:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1072,7 +1072,7 @@ packages:
|
||||||
name: url_launcher
|
name: url_launcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.11"
|
version: "6.0.12"
|
||||||
url_launcher_linux:
|
url_launcher_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1135,7 +1135,7 @@ packages:
|
||||||
name: watcher
|
name: watcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.1"
|
||||||
web_socket_channel:
|
web_socket_channel:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
File diff suppressed because one or more lines are too long
1
shaders_2.5.2.sksl.json
Normal file
1
shaders_2.5.2.sksl.json
Normal file
File diff suppressed because one or more lines are too long
|
@ -34,6 +34,7 @@ void main() {
|
||||||
visitSettings();
|
visitSettings();
|
||||||
sortCollection();
|
sortCollection();
|
||||||
groupCollection();
|
groupCollection();
|
||||||
|
visitMap();
|
||||||
selectFirstAlbum();
|
selectFirstAlbum();
|
||||||
searchAlbum();
|
searchAlbum();
|
||||||
showViewer();
|
showViewer();
|
||||||
|
@ -119,6 +120,30 @@ void groupCollection() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void visitMap() {
|
||||||
|
test('[collection] visit map', () async {
|
||||||
|
await driver.tap(find.byValueKey('appbar-menu-button'));
|
||||||
|
await driver.waitUntilNoTransientCallbacks();
|
||||||
|
|
||||||
|
await driver.tap(find.byValueKey('menu-map'));
|
||||||
|
// wait for heavy Google map initialization
|
||||||
|
await Future.delayed(const Duration(seconds: 3));
|
||||||
|
|
||||||
|
final mapView = find.byValueKey('map_view');
|
||||||
|
|
||||||
|
print('* hide overlay');
|
||||||
|
await driver.tap(mapView);
|
||||||
|
await Future.delayed(const Duration(seconds: 2));
|
||||||
|
|
||||||
|
print('* show overlay');
|
||||||
|
await driver.tap(mapView);
|
||||||
|
await Future.delayed(const Duration(seconds: 2));
|
||||||
|
|
||||||
|
await pressDeviceBackButton();
|
||||||
|
await driver.waitUntilNoTransientCallbacks();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void selectFirstAlbum() {
|
void selectFirstAlbum() {
|
||||||
test('[collection] select first album', () async {
|
test('[collection] select first album', () async {
|
||||||
await driver.tap(find.byValueKey('appbar-leading-button'));
|
await driver.tap(find.byValueKey('appbar-leading-button'));
|
||||||
|
@ -183,7 +208,7 @@ void goToNextImage() {
|
||||||
|
|
||||||
void toggleOverlay() {
|
void toggleOverlay() {
|
||||||
test('[viewer] toggle overlay', () async {
|
test('[viewer] toggle overlay', () async {
|
||||||
final imageView = find.byValueKey('imageview');
|
final imageView = find.byValueKey('image_view');
|
||||||
|
|
||||||
print('* hide overlay');
|
print('* hide overlay');
|
||||||
await driver.tap(imageView);
|
await driver.tap(imageView);
|
||||||
|
@ -197,7 +222,7 @@ void toggleOverlay() {
|
||||||
|
|
||||||
void zoom() {
|
void zoom() {
|
||||||
test('[viewer] zoom cycle', () async {
|
test('[viewer] zoom cycle', () async {
|
||||||
final imageView = find.byValueKey('imageview');
|
final imageView = find.byValueKey('image_view');
|
||||||
|
|
||||||
await driver.doubleTap(imageView);
|
await driver.doubleTap(imageView);
|
||||||
await Future.delayed(const Duration(seconds: 1));
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
|
@ -244,7 +269,7 @@ void showInfoMetadata() {
|
||||||
|
|
||||||
void scrollOffImage() {
|
void scrollOffImage() {
|
||||||
test('[viewer] scroll off', () async {
|
test('[viewer] scroll off', () async {
|
||||||
await driver.scroll(find.byValueKey('imageview'), 0, 800, const Duration(milliseconds: 600));
|
await driver.scroll(find.byValueKey('image_view'), 0, 800, const Duration(milliseconds: 600));
|
||||||
await Future.delayed(const Duration(seconds: 1));
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue