upgraded flutter to stable v2.2.0, minSdk 19 -> 20, null safety streams_channel

This commit is contained in:
Thibault Deckers 2021-05-23 12:38:25 +09:00
parent 47b9c1f893
commit fa0782262d
27 changed files with 186 additions and 137 deletions

View file

@ -14,8 +14,8 @@ jobs:
steps:
- uses: subosito/flutter-action@v1
with:
channel: beta
flutter-version: '2.2.0-10.2.pre'
channel: stable
flutter-version: '2.2.0'
- name: Clone the repository.
uses: actions/checkout@v2

View file

@ -16,8 +16,8 @@ jobs:
- uses: subosito/flutter-action@v1
with:
channel: beta
flutter-version: '2.2.0-10.2.pre'
channel: stable
flutter-version: '2.2.0'
# Workaround for this Android Gradle Plugin issue (supposedly fixed in AGP 4.1):
# https://issuetracker.google.com/issues/144111441
@ -50,8 +50,8 @@ jobs:
echo "${{ secrets.KEY_JKS }}" > release.keystore.asc
gpg -d --passphrase "${{ secrets.KEY_JKS_PASSPHRASE }}" --batch release.keystore.asc > $AVES_STORE_FILE
rm release.keystore.asc
flutter build apk --bundle-sksl-path shaders_2.2.0-10.2.pre.sksl.json
flutter build appbundle --bundle-sksl-path shaders_2.2.0-10.2.pre.sksl.json
flutter build apk --bundle-sksl-path shaders_2.2.0.sksl.json
flutter build appbundle --bundle-sksl-path shaders_2.2.0.sksl.json
rm $AVES_STORE_FILE
env:
AVES_STORE_FILE: ${{ github.workspace }}/key.jks

6
.gitignore vendored
View file

@ -40,5 +40,7 @@ app.*.symbols
# Obfuscation related
app.*.map.json
# Exceptions to above rules.
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release

View file

@ -3,7 +3,10 @@ All notable changes to this project will be documented in this file.
## [Unreleased]
### Changed
- Upgraded Flutter to beta v2.2.0-10.2.pre
- Upgraded Flutter to stable v2.2.0
### Removed
- no support for Android KitKat (API 19), unsupported by Google Maps package
## [v1.4.1] - 2021-04-29
### Added

View file

@ -21,7 +21,7 @@ Aves is a gallery and metadata explorer app. It is built for Android, with Flutt
- search and filter by country, place, XMP tag, type (animated, raster, vector…)
- favorites
- statistics
- support Android API 19 ~ 30 (KitKat ~ R)
- support Android API 20 ~ 30 (Lollipop ~ R)
- Android integration (app shortcuts, handle view/pick intents)
## Known Issues

View file

@ -53,8 +53,8 @@ android {
defaultConfig {
applicationId "deckers.thibault.aves"
minSdkVersion 19
targetSdkVersion 30 // same as compileSdkVersion
minSdkVersion 20
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
manifestPlaceholders = [googleApiKey: keystoreProperties['googleApiKey']]
@ -100,14 +100,14 @@ flutter {
repositories {
maven { url 'https://jitpack.io' }
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
maven { url 'https://s3.amazonaws.com/repo.commonsware.com' }
}
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
implementation 'androidx.core:core-ktx:1.5.0-rc02' // v1.5.0-alpha02+ for ShortcutManagerCompat.setDynamicShortcuts
implementation 'androidx.core:core-ktx:1.5.0'
implementation 'androidx.exifinterface:exifinterface:1.3.2'
implementation "androidx.multidex:multidex:2.0.1"
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.commonsware.cwac:document:0.4.1'
implementation 'com.drewnoakes:metadata-extractor:2.16.0'
implementation 'com.github.deckerst:Android-TiffBitmapFactory:876e53870a' // forked, built by JitPack

View file

@ -6,11 +6,10 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
classpath 'com.android.tools.build:gradle:4.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// google-services:4.3.6 is broken, cf https://github.com/google/play-services-plugins/issues/176
classpath 'com.google.gms:google-services:4.3.5'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.6.0'
classpath 'com.google.gms:google-services:4.3.8'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.6.1'
}
}
@ -29,8 +28,6 @@ allprojects {
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}

View file

@ -1,11 +1,11 @@
import 'package:aves/model/settings/settings.dart';
import 'package:aves/theme/durations.dart';
import 'package:connectivity/connectivity.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:github/github.dart';
import 'package:google_api_availability/google_api_availability.dart';
import 'package:package_info/package_info.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:version/version.dart';
abstract class AvesAvailability {

View file

@ -10,7 +10,6 @@ import 'package:aves/services/service_policy.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
// ignore: import_of_legacy_library_into_null_safe
import 'package:streams_channel/streams_channel.dart';

View file

@ -40,7 +40,7 @@ class Constants {
sourceUrl: 'https://android.googlesource.com/platform/frameworks/support/+/androidx-main/exifinterface/exifinterface',
),
Dependency(
name: 'Android-TiffBitmapFactory',
name: 'Android-TiffBitmapFactory (Aves fork)',
license: 'MIT',
licenseUrl: 'https://github.com/deckerst/Android-TiffBitmapFactory/blob/master/license.txt',
sourceUrl: 'https://github.com/deckerst/Android-TiffBitmapFactory',
@ -67,10 +67,10 @@ class Constants {
static const List<Dependency> flutterPlugins = [
Dependency(
name: 'Connectivity',
name: 'Connectivity Plus',
license: 'BSD 3-Clause',
licenseUrl: 'https://github.com/flutter/plugins/blob/master/packages/connectivity/connectivity/LICENSE',
sourceUrl: 'https://github.com/flutter/plugins/blob/master/packages/connectivity/connectivity',
licenseUrl: 'https://github.com/fluttercommunity/plus_plugins/blob/main/packages/connectivity_plus/LICENSE',
sourceUrl: 'https://github.com/fluttercommunity/plus_plugins/tree/main/packages/connectivity_plus',
),
Dependency(
name: 'FlutterFire (Core, Analytics, Crashlytics)',
@ -79,7 +79,7 @@ class Constants {
sourceUrl: 'https://github.com/FirebaseExtended/flutterfire',
),
Dependency(
name: 'fijkplayer',
name: 'fijkplayer (Aves fork)',
license: 'MIT',
licenseUrl: 'https://github.com/deckerst/fijkplayer/blob/master/LICENSE',
sourceUrl: 'https://github.com/deckerst/fijkplayer',
@ -97,10 +97,10 @@ class Constants {
sourceUrl: 'https://github.com/flutter/plugins/blob/master/packages/google_maps_flutter/google_maps_flutter',
),
Dependency(
name: 'Package Info',
name: 'Package Info Plus',
license: 'BSD 3-Clause',
licenseUrl: 'https://github.com/flutter/plugins/blob/master/packages/package_info/LICENSE',
sourceUrl: 'https://github.com/flutter/plugins/tree/master/packages/package_info',
licenseUrl: 'https://github.com/fluttercommunity/plus_plugins/tree/main/packages/package_info_plus/LICENSE',
sourceUrl: 'https://github.com/fluttercommunity/plus_plugins/tree/main/packages/package_info_plus',
),
Dependency(
name: 'Permission Handler',
@ -127,10 +127,10 @@ class Constants {
sourceUrl: 'https://github.com/tekartik/sqflite',
),
Dependency(
name: 'Streams Channel',
name: 'Streams Channel (Aves fork)',
license: 'Apache 2.0',
licenseUrl: 'https://github.com/loup-v/streams_channel/blob/master/LICENSE',
sourceUrl: 'https://github.com/loup-v/streams_channel',
licenseUrl: 'https://github.com/deckerst/aves_streams_channel/blob/master/LICENSE',
sourceUrl: 'https://github.com/deckerst/aves_streams_channel',
),
Dependency(
name: 'URL Launcher',
@ -229,7 +229,7 @@ class Constants {
sourceUrl: 'https://github.com/benPesso/flutter_decorated_icon',
),
Dependency(
name: 'Expansion Tile Card',
name: 'Expansion Tile Card (Aves fork)',
license: 'BSD 3-Clause',
licenseUrl: 'https://github.com/deckerst/expansion_tile_card/blob/master/LICENSE',
sourceUrl: 'https://github.com/deckerst/expansion_tile_card',

View file

@ -5,7 +5,7 @@ import 'package:aves/widgets/common/basic/link_chip.dart';
import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/common/identity/aves_logo.dart';
import 'package:flutter/material.dart';
import 'package:package_info/package_info.dart';
import 'package:package_info_plus/package_info_plus.dart';
class AppReference extends StatefulWidget {
@override

View file

@ -1,9 +1,9 @@
import 'package:collection/collection.dart';
import 'dart:ui' as ui;
import 'package:aves/theme/durations.dart';
import 'package:aves/widgets/common/providers/media_query_data_provider.dart';
import 'package:aves/widgets/common/tile_extent_controller.dart';
import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:provider/provider.dart';

View file

@ -12,7 +12,8 @@ abstract class XmpGoogleNamespace extends XmpNamespace {
@override
Map<String, InfoLinkHandler> linkifyValues(List<XmpProp> props) {
return Map.fromEntries(dataProps.map((t) {
return Map.fromEntries(dataProps
.map((t) {
final dataPropPath = t.item1;
final mimePropPath = t.item2;
final dataProp = props.firstWhereOrNull((prop) => prop.path == dataPropPath);
@ -28,7 +29,9 @@ abstract class XmpGoogleNamespace extends XmpNamespace {
).dispatch(context),
))
: null;
}).where((kv) => kv != null).cast<MapEntry<String, InfoLinkHandler>>());
})
.where((kv) => kv != null)
.cast<MapEntry<String, InfoLinkHandler>>());
}
}

View file

@ -35,7 +35,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.5.0"
version: "2.6.1"
barcode:
dependency: transitive
description:
@ -99,34 +99,48 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0"
connectivity:
connectivity_plus:
dependency: "direct main"
description:
name: connectivity
name: connectivity_plus
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.3"
connectivity_for_web:
version: "1.0.1"
connectivity_plus_linux:
dependency: transitive
description:
name: connectivity_for_web
name: connectivity_plus_linux
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
connectivity_macos:
version: "1.0.1"
connectivity_plus_macos:
dependency: transitive
description:
name: connectivity_macos
name: connectivity_plus_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
connectivity_platform_interface:
version: "1.0.1"
connectivity_plus_platform_interface:
dependency: transitive
description:
name: connectivity_platform_interface
name: connectivity_plus_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
version: "1.0.1"
connectivity_plus_web:
dependency: transitive
description:
name: connectivity_plus_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
connectivity_plus_windows:
dependency: transitive
description:
name: connectivity_plus_windows
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
convert:
dependency: transitive
description:
@ -154,7 +168,14 @@ packages:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
version: "3.0.1"
dbus:
dependency: transitive
description:
name: dbus
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.5"
decorated_icon:
dependency: "direct main"
description:
@ -197,10 +218,10 @@ packages:
description:
path: "."
ref: aves
resolved-ref: "7bb26e681ceef9d7b311f0b0f51eab99c3590474"
resolved-ref: ded83f43a1c3a664d5e9cfcab687c3caab2cbdb0
url: "git://github.com/deckerst/fijkplayer.git"
source: git
version: "0.8.7"
version: "0.8.8"
file:
dependency: transitive
description:
@ -221,7 +242,7 @@ packages:
name: firebase_analytics
url: "https://pub.dartlang.org"
source: hosted
version: "8.0.4"
version: "8.1.0"
firebase_analytics_platform_interface:
dependency: transitive
description:
@ -242,7 +263,7 @@ packages:
name: firebase_core
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
version: "1.2.0"
firebase_core_platform_interface:
dependency: transitive
description:
@ -256,21 +277,21 @@ packages:
name: firebase_core_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
version: "1.1.0"
firebase_crashlytics:
dependency: "direct main"
description:
name: firebase_crashlytics
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
version: "2.0.4"
firebase_crashlytics_platform_interface:
dependency: transitive
description:
name: firebase_crashlytics_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.3"
version: "3.0.4"
flutter:
dependency: "direct main"
description: flutter
@ -295,13 +316,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.0"
flutter_image:
dependency: transitive
description:
name: flutter_image
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
flutter_localizations:
dependency: "direct main"
description: flutter
@ -312,10 +326,10 @@ packages:
description:
path: "."
ref: "issues/829-nullsafety"
resolved-ref: "09b306afdfc5d748cdaf3307084e70fcb6a21c6d"
resolved-ref: d9674b5c4fec7d759462a417c8acc548a3e720e1
url: "git://github.com/fleaflet/flutter_map.git"
source: git
version: "0.12.0"
version: "0.13.0"
flutter_markdown:
dependency: "direct main"
description:
@ -393,7 +407,7 @@ packages:
name: google_maps_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
version: "2.0.5"
google_maps_flutter_platform_interface:
dependency: transitive
description:
@ -562,13 +576,48 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
package_info:
package_info_plus:
dependency: "direct main"
description:
name: package_info
name: package_info_plus
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "1.0.1"
package_info_plus_linux:
dependency: transitive
description:
name: package_info_plus_linux
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
package_info_plus_macos:
dependency: transitive
description:
name: package_info_plus_macos
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
package_info_plus_web:
dependency: transitive
description:
name: package_info_plus_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
package_info_plus_windows:
dependency: transitive
description:
name: package_info_plus_windows
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
palette_generator:
dependency: "direct main"
description:
@ -652,14 +701,14 @@ packages:
name: permission_handler
url: "https://pub.dartlang.org"
source: hosted
version: "7.1.0"
version: "8.0.0+1"
permission_handler_platform_interface:
dependency: transitive
description:
name: permission_handler_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "3.3.0"
version: "3.5.0"
petitparser:
dependency: transitive
description:
@ -878,9 +927,11 @@ packages:
streams_channel:
dependency: "direct main"
description:
name: streams_channel
url: "https://pub.dartlang.org"
source: hosted
path: "."
ref: HEAD
resolved-ref: d644fedd9cb79a45b1b92788880e81b846a69d9b
url: "git://github.com/deckerst/aves_streams_channel.git"
source: git
version: "0.3.0"
string_scanner:
dependency: transitive
@ -965,7 +1016,7 @@ packages:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.3"
version: "6.0.4"
url_launcher_linux:
dependency: transitive
description:
@ -986,7 +1037,7 @@ packages:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.0.3"
url_launcher_web:
dependency: transitive
description:
@ -1021,7 +1072,7 @@ packages:
name: vm_service
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.0+1"
version: "6.2.0"
watcher:
dependency: transitive
description:
@ -1056,7 +1107,7 @@ packages:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
version: "2.1.1"
wkt_parser:
dependency: transitive
description:
@ -1077,7 +1128,7 @@ packages:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "5.1.0"
version: "5.1.1"
yaml:
dependency: transitive
description:
@ -1086,5 +1137,5 @@ packages:
source: hosted
version: "3.1.0"
sdks:
dart: ">=2.12.0 <3.0.0"
dart: ">=2.13.0 <3.0.0"
flutter: ">=2.0.0"

View file

@ -7,17 +7,9 @@ publish_to: none
environment:
sdk: '>=2.12.0 <3.0.0'
# TODO TLAD switch to Flutter stable when possible, currently on dev/beta because of the following mess:
# printing >=5.0.1 depends on pdf ^3.0.1, pdf >=3.0.1 depends on crypto ^3.0.0 and archive ^3.1.0
# but `flutter_driver` (shipped with Flutter) dependencies are too old in stable v2.0.1
# bump `crypto` and others - 2021/02/05 https://github.com/flutter/flutter/commit/bc1cf4945841ba5874f5262b8146d52750e7c11f
# bump `archive` from 3.0.0 to 3.1.2 - 2021/03/04 https://github.com/flutter/flutter/commit/ddcb8d7d6d3fcedc906b2f1bf26b73c018d3dc28
# not null safe, as of 2021/04/28
# not null safe, as of 2021/05/23
# `charts_flutter` - https://github.com/google/charts/issues/579
# `fijkplayer` - https://github.com/befovy/fijkplayer/issues/381
# `flutter_map` - https://github.com/fleaflet/flutter_map/issues/829
# `streams_channel` - unmaintained? - no issue/PR
dependencies:
flutter:
@ -26,7 +18,7 @@ dependencies:
sdk: flutter
charts_flutter:
collection:
connectivity:
connectivity_plus:
country_code:
decorated_icon:
event_bus:
@ -56,7 +48,7 @@ dependencies:
latlong2:
material_design_icons_flutter:
overlay_support:
package_info:
package_info_plus:
palette_generator:
# TODO TLAD upgrade panorama when this is fixed: https://github.com/zesage/panorama/issues/25 (bug in v0.4.1)
panorama: 0.4.0
@ -69,6 +61,8 @@ dependencies:
shared_preferences:
sqflite:
streams_channel:
git:
url: git://github.com/deckerst/aves_streams_channel.git
tuple:
url_launcher:
version:

File diff suppressed because one or more lines are too long

1
shaders_2.2.0.sksl.json Normal file

File diff suppressed because one or more lines are too long