flutter beta v1.22.0-12.1.pre, packages upgrade

svg: removed colorFilter param from custom PictureProvider to match flutter_svg package deprecation
CI: added shaders for current flutter version
This commit is contained in:
Thibault Deckers 2020-09-18 10:24:29 +09:00
parent 1894dd2562
commit 7b04e30045
9 changed files with 99 additions and 87 deletions

View file

@ -14,7 +14,7 @@ jobs:
steps: steps:
- uses: subosito/flutter-action@v1 - uses: subosito/flutter-action@v1
with: with:
flutter-version: '1.17.5' flutter-version: '1.22.0-12.1.pre'
- name: Clone the repository. - name: Clone the repository.
uses: actions/checkout@v2 uses: actions/checkout@v2

View file

@ -16,7 +16,7 @@ jobs:
- uses: subosito/flutter-action@v1 - uses: subosito/flutter-action@v1
with: with:
flutter-version: '1.17.5' flutter-version: '1.22.0-12.1.pre'
# 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
@ -49,8 +49,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 flutter build apk --bundle-sksl-path shaders_1.22.0-12.1.pre.sksl.json
flutter build appbundle flutter build appbundle --bundle-sksl-path shaders_1.22.0-12.1.pre.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

View file

@ -12,16 +12,15 @@ Aves is a gallery and metadata explorer app. It is built for Android, with Flutt
## Features ## Features
- support raster images: JPEG, PNG, GIF, WEBP, BMP, WBMP, HEIC (from Android Pie), DNG - support raster images: BMP, DNG, GIF, HEIC (from Android Pie), ICO, JPEG, PNG, WBMP, WEBP
- support animated images: GIF, WEBP - support animated images: GIF, WEBP
- support vector images: SVG - support vector images: SVG
- support videos: MP4, AVI & probably others - support videos: MP4, AVI, AVCHD & probably others
- search and filter by country, place, XMP tag, type (animated, raster, vector, video) - search and filter by country, place, XMP tag, type (animated, raster, vector, video)
- bulk delete, share, copy, move
- favorites - favorites
- statistics - statistics
- handle intents to view or pick images
- support Android API 24 ~ 30 (Nougat ~ R) - support Android API 24 ~ 30 (Nougat ~ R)
- Android integration (app shortcuts, handle view/pick intents)
## Known Issues ## Known Issues

View file

@ -32,10 +32,10 @@ class ThumbnailVectorImage extends StatelessWidget {
UriPicture( UriPicture(
uri: entry.uri, uri: entry.uri,
mimeType: entry.mimeType, mimeType: entry.mimeType,
colorFilter: colorFilter,
), ),
width: extent, width: extent,
height: extent, height: extent,
colorFilter: colorFilter,
); );
}, },
), ),

View file

@ -8,13 +8,10 @@ class UriPicture extends PictureProvider<UriPicture> {
const UriPicture({ const UriPicture({
@required this.uri, @required this.uri,
@required this.mimeType, @required this.mimeType,
this.colorFilter,
}) : assert(uri != null); }) : assert(uri != null);
final String uri, mimeType; final String uri, mimeType;
final ColorFilter colorFilter;
@override @override
Future<UriPicture> obtainKey(PictureConfiguration configuration) { Future<UriPicture> obtainKey(PictureConfiguration configuration) {
return SynchronousFuture<UriPicture>(this); return SynchronousFuture<UriPicture>(this);
@ -37,22 +34,22 @@ class UriPicture extends PictureProvider<UriPicture> {
final decoder = SvgPicture.svgByteDecoder; final decoder = SvgPicture.svgByteDecoder;
if (onError != null) { if (onError != null) {
final future = decoder(data, colorFilter, key.toString()); final future = decoder(data, null, key.toString());
unawaited(future.catchError(onError)); unawaited(future.catchError(onError));
return future; return future;
} }
return decoder(data, colorFilter, key.toString()); return decoder(data, null, key.toString());
} }
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
if (other.runtimeType != runtimeType) return false; if (other.runtimeType != runtimeType) return false;
return other is UriPicture && other.uri == uri && other.colorFilter == colorFilter; return other is UriPicture && other.uri == uri;
} }
@override @override
int get hashCode => hashValues(uri, colorFilter); int get hashCode => uri.hashCode;
@override @override
String toString() => '${objectRuntimeType(this, 'UriPicture')}(uri=$uri, mimeType=$mimeType, colorFilter=$colorFilter)'; String toString() => '${objectRuntimeType(this, 'UriPicture')}(uri=$uri, mimeType=$mimeType)';
} }

View file

@ -83,9 +83,9 @@ class ImageView extends StatelessWidget {
UriPicture( UriPicture(
uri: entry.uri, uri: entry.uri,
mimeType: entry.mimeType, mimeType: entry.mimeType,
colorFilter: colorFilter,
), ),
placeholderBuilder: (context) => loadingBuilder(context, fastThumbnailProvider), placeholderBuilder: (context) => loadingBuilder(context, fastThumbnailProvider),
colorFilter: colorFilter,
), ),
backgroundDecoration: backgroundDecoration, backgroundDecoration: backgroundDecoration,
scaleStateChangedCallback: onScaleChanged, scaleStateChangedCallback: onScaleChanged,

View file

@ -7,21 +7,21 @@ packages:
name: _fe_analyzer_shared name: _fe_analyzer_shared
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.0.0" version: "9.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.39.17" version: "0.40.2"
ansicolor: ansicolor:
dependency: transitive dependency: transitive
description: description:
name: ansicolor name: ansicolor
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.2" version: "1.0.5"
archive: archive:
dependency: transitive dependency: transitive
description: description:
@ -42,7 +42,7 @@ packages:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.4.1" version: "2.5.0-nullsafety"
barcode: barcode:
dependency: transitive dependency: transitive
description: description:
@ -56,21 +56,28 @@ packages:
name: boolean_selector name: boolean_selector
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0-nullsafety"
cached_network_image: cached_network_image:
dependency: transitive dependency: transitive
description: description:
name: cached_network_image name: cached_network_image
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.0+1" version: "2.3.2+1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0-nullsafety.2"
charcode: charcode:
dependency: transitive dependency: transitive
description: description:
name: charcode name: charcode
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.3" version: "1.2.0-nullsafety"
charts_common: charts_common:
dependency: transitive dependency: transitive
description: description:
@ -98,14 +105,14 @@ packages:
name: clock name: clock
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.1.0-nullsafety"
collection: collection:
dependency: "direct main" dependency: "direct main"
description: description:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.14.12" version: "1.15.0-nullsafety.2"
console_log_handler: console_log_handler:
dependency: transitive dependency: transitive
description: description:
@ -126,21 +133,14 @@ packages:
name: coverage name: coverage
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.13.11" version: "0.14.1"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.4" version: "2.1.5"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.16.2"
draggable_scrollbar: draggable_scrollbar:
dependency: "direct main" dependency: "direct main"
description: description:
@ -166,13 +166,20 @@ packages:
url: "git://github.com/deckerst/expansion_tile_card.git" url: "git://github.com/deckerst/expansion_tile_card.git"
source: git source: git
version: "1.0.3" version: "1.0.3"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0-nullsafety"
file: file:
dependency: transitive dependency: transitive
description: description:
name: file name: file
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.1.0" version: "6.0.0-nullsafety.1"
firebase_crashlytics: firebase_crashlytics:
dependency: "direct main" dependency: "direct main"
description: description:
@ -192,13 +199,20 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_blurhash:
dependency: transitive
description:
name: flutter_blurhash
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.0"
flutter_cache_manager: flutter_cache_manager:
dependency: transitive dependency: transitive
description: description:
name: flutter_cache_manager name: flutter_cache_manager
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.4.1" version: "1.4.2"
flutter_driver: flutter_driver:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -247,7 +261,7 @@ packages:
name: flutter_plugin_android_lifecycle name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.8" version: "1.0.9"
flutter_staggered_animations: flutter_staggered_animations:
dependency: "direct main" dependency: "direct main"
description: description:
@ -261,7 +275,7 @@ packages:
name: flutter_svg name: flutter_svg
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.17.4" version: "0.19.0"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -305,13 +319,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "1.0.4"
html:
dependency: transitive
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.14.0+3"
http: http:
dependency: transitive dependency: transitive
description: description:
@ -339,7 +346,7 @@ packages:
name: image name: image
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.12" version: "2.1.15"
intl: intl:
dependency: "direct main" dependency: "direct main"
description: description:
@ -360,14 +367,14 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.2" version: "0.6.3-nullsafety"
json_rpc_2: json_rpc_2:
dependency: transitive dependency: transitive
description: description:
name: json_rpc_2 name: json_rpc_2
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.2.1"
latlong: latlong:
dependency: "direct main" dependency: "direct main"
description: description:
@ -402,14 +409,14 @@ packages:
name: matcher name: matcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.6" version: "0.12.10-nullsafety"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.8" version: "1.3.0-nullsafety.2"
mgrs_dart: mgrs_dart:
dependency: transitive dependency: transitive
description: description:
@ -424,13 +431,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.9.7" version: "0.9.7"
multi_server_socket:
dependency: transitive
description:
name: multi_server_socket
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@ -459,6 +459,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.4.12" version: "1.4.12"
octo_image:
dependency: transitive
description:
name: octo_image
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
outline_material_icons: outline_material_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -500,7 +507,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.6.4" version: "1.8.0-nullsafety"
path_drawing: path_drawing:
dependency: transitive dependency: transitive
description: description:
@ -535,7 +542,7 @@ packages:
name: path_provider_macos name: path_provider_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.0.4+3" version: "0.0.4+4"
path_provider_platform_interface: path_provider_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -549,14 +556,14 @@ packages:
name: pdf name: pdf
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.11.0" version: "1.11.1"
pedantic: pedantic:
dependency: "direct main" dependency: "direct main"
description: description:
name: pedantic name: pedantic
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.9.0" version: "1.10.0-nullsafety"
percent_indicator: percent_indicator:
dependency: "direct main" dependency: "direct main"
description: description:
@ -584,7 +591,7 @@ packages:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.4.0" version: "3.1.0"
photo_view: photo_view:
dependency: "direct main" dependency: "direct main"
description: description:
@ -600,7 +607,7 @@ packages:
name: platform name: platform
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "3.0.0-nullsafety.1"
platform_detect: platform_detect:
dependency: transitive dependency: transitive
description: description:
@ -621,7 +628,7 @@ packages:
name: pool name: pool
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.4.0" version: "1.5.0-nullsafety"
positioned_tap_detector: positioned_tap_detector:
dependency: transitive dependency: transitive
description: description:
@ -635,14 +642,14 @@ packages:
name: printing name: printing
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.6.0" version: "3.6.1"
process: process:
dependency: transitive dependency: transitive
description: description:
name: process name: process
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.12" version: "4.0.0-nullsafety.1"
proj4dart: proj4dart:
dependency: transitive dependency: transitive
description: description:
@ -766,21 +773,21 @@ packages:
name: source_map_stack_trace name: source_map_stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0-nullsafety.1"
source_maps: source_maps:
dependency: transitive dependency: transitive
description: description:
name: source_maps name: source_maps
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.10.9" version: "0.10.10-nullsafety"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.7.0" version: "1.8.0-nullsafety"
sqflite: sqflite:
dependency: "direct main" dependency: "direct main"
description: description:
@ -801,14 +808,14 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.9.3" version: "1.10.0-nullsafety"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0-nullsafety"
stream_transform: stream_transform:
dependency: transitive dependency: transitive
description: description:
@ -829,7 +836,7 @@ packages:
name: string_scanner name: string_scanner
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.5" version: "1.1.0-nullsafety"
sync_http: sync_http:
dependency: transitive dependency: transitive
description: description:
@ -850,28 +857,28 @@ packages:
name: term_glyph name: term_glyph
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.2.0-nullsafety"
test: test:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: test name: test
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.14.4" version: "1.16.0-nullsafety.4"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.15" version: "0.2.19-nullsafety"
test_core: test_core:
dependency: transitive dependency: transitive
description: description:
name: test_core name: test_core
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.4" version: "0.3.12-nullsafety.4"
transparent_image: transparent_image:
dependency: transitive dependency: transitive
description: description:
@ -892,7 +899,7 @@ packages:
name: typed_data name: typed_data
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.6" version: "1.3.0-nullsafety.2"
unicode: unicode:
dependency: transitive dependency: transitive
description: description:
@ -906,7 +913,7 @@ packages:
name: url_launcher name: url_launcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.5.3" version: "5.6.0"
url_launcher_linux: url_launcher_linux:
dependency: transitive dependency: transitive
description: description:
@ -920,7 +927,7 @@ packages:
name: url_launcher_macos name: url_launcher_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.0.1+7" version: "0.0.1+8"
url_launcher_platform_interface: url_launcher_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -935,6 +942,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3+2" version: "0.1.3+2"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+1"
utf: utf:
dependency: transitive dependency: transitive
description: description:
@ -962,14 +976,14 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.8" version: "2.1.0-nullsafety.2"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.2.0" version: "5.0.0+1"
vm_service_client: vm_service_client:
dependency: transitive dependency: transitive
description: description:
@ -1018,14 +1032,14 @@ packages:
name: xdg_directories name: xdg_directories
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.0" version: "0.1.2"
xml: xml:
dependency: transitive dependency: transitive
description: description:
name: xml name: xml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.6.1" version: "4.5.1"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -1034,5 +1048,5 @@ packages:
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
sdks: sdks:
dart: ">=2.8.0 <3.0.0" dart: ">=2.10.0-4.0.dev <2.10.0"
flutter: ">=1.17.0 <2.0.0" flutter: ">=1.20.0 <2.0.0"

File diff suppressed because one or more lines are too long

View file

@ -4,6 +4,7 @@ import 'package:path/path.dart' as path;
String get adb { String get adb {
final env = Platform.environment; final env = Platform.environment;
// e.g. C:\Users\<username>\AppData\Local\Android\Sdk
final sdkDir = env['ANDROID_SDK_ROOT'] ?? env['ANDROID_SDK']; final sdkDir = env['ANDROID_SDK_ROOT'] ?? env['ANDROID_SDK'];
return path.join(sdkDir, 'platform-tools', Platform.isWindows ? 'adb.exe' : 'adb'); return path.join(sdkDir, 'platform-tools', Platform.isWindows ? 'adb.exe' : 'adb');
} }