packages upgrade
This commit is contained in:
parent
5b7caa7caf
commit
194845fa56
12 changed files with 93 additions and 85 deletions
|
@ -156,12 +156,12 @@ dependencies {
|
||||||
implementation 'androidx.multidex:multidex:2.0.1'
|
implementation 'androidx.multidex:multidex:2.0.1'
|
||||||
implementation 'com.caverock:androidsvg-aar:1.4'
|
implementation 'com.caverock:androidsvg-aar:1.4'
|
||||||
implementation 'com.commonsware.cwac:document:0.4.1'
|
implementation 'com.commonsware.cwac:document:0.4.1'
|
||||||
implementation 'com.drewnoakes:metadata-extractor:2.17.0'
|
implementation 'com.drewnoakes:metadata-extractor:2.18.0'
|
||||||
// forked, built by JitPack, cf https://jitpack.io/p/deckerst/Android-TiffBitmapFactory
|
// forked, built by JitPack, cf https://jitpack.io/p/deckerst/Android-TiffBitmapFactory
|
||||||
implementation 'com.github.deckerst:Android-TiffBitmapFactory:876e53870a'
|
implementation 'com.github.deckerst:Android-TiffBitmapFactory:876e53870a'
|
||||||
// forked, built by JitPack, cf https://jitpack.io/p/deckerst/pixymeta-android
|
// forked, built by JitPack, cf https://jitpack.io/p/deckerst/pixymeta-android
|
||||||
implementation 'com.github.deckerst:pixymeta-android:706bd73d6e'
|
implementation 'com.github.deckerst:pixymeta-android:706bd73d6e'
|
||||||
implementation 'com.github.bumptech.glide:glide:4.13.1'
|
implementation 'com.github.bumptech.glide:glide:4.13.2'
|
||||||
implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'
|
implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'
|
||||||
|
|
||||||
kapt 'androidx.annotation:annotation:1.3.0'
|
kapt 'androidx.annotation:annotation:1.3.0'
|
||||||
|
|
|
@ -35,6 +35,15 @@
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
</intent>
|
</intent>
|
||||||
|
<!--
|
||||||
|
from Android R, `url_launcher` method `canLaunchUrl()` will return false,
|
||||||
|
if appropriate intents are not declared, cf https://pub.dev/packages/url_launcher#configuration=
|
||||||
|
-->
|
||||||
|
<!-- to open https URLs -->
|
||||||
|
<intent>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<data android:scheme="https" />
|
||||||
|
</intent>
|
||||||
</queries>
|
</queries>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
|
|
@ -79,7 +79,7 @@ class _AppReferenceState extends State<AppReference> {
|
||||||
size: 24,
|
size: 24,
|
||||||
),
|
),
|
||||||
text: l10n.aboutLinkSources,
|
text: l10n.aboutLinkSources,
|
||||||
url: Constants.avesGithub,
|
urlString: Constants.avesGithub,
|
||||||
),
|
),
|
||||||
LinkChip(
|
LinkChip(
|
||||||
leading: const Icon(
|
leading: const Icon(
|
||||||
|
@ -87,7 +87,7 @@ class _AppReferenceState extends State<AppReference> {
|
||||||
size: 22,
|
size: 22,
|
||||||
),
|
),
|
||||||
text: l10n.aboutLinkLicense,
|
text: l10n.aboutLinkLicense,
|
||||||
url: '${Constants.avesGithub}/blob/main/LICENSE',
|
urlString: '${Constants.avesGithub}/blob/main/LICENSE',
|
||||||
),
|
),
|
||||||
LinkChip(
|
LinkChip(
|
||||||
leading: const Icon(
|
leading: const Icon(
|
||||||
|
|
|
@ -36,6 +36,8 @@ class _BugReportState extends State<BugReport> with FeedbackMixin {
|
||||||
late Future<String> _infoLoader;
|
late Future<String> _infoLoader;
|
||||||
bool _showInstructions = false;
|
bool _showInstructions = false;
|
||||||
|
|
||||||
|
static final bugReportUri = Uri.parse('${Constants.avesGithub}/issues/new?labels=type%3Abug&template=bug_report.md');
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
@ -198,6 +200,8 @@ class _BugReportState extends State<BugReport> with FeedbackMixin {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _goToGithub() async {
|
Future<void> _goToGithub() async {
|
||||||
await launch('${Constants.avesGithub}/issues/new?labels=type%3Abug&template=bug_report.md');
|
if (await canLaunchUrl(bugReportUri)) {
|
||||||
|
await launchUrl(bugReportUri, mode: LaunchMode.externalApplication);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ class AboutCredits extends StatelessWidget {
|
||||||
const WidgetSpan(
|
const WidgetSpan(
|
||||||
child: LinkChip(
|
child: LinkChip(
|
||||||
text: 'World Atlas',
|
text: 'World Atlas',
|
||||||
url: 'https://github.com/topojson/world-atlas',
|
urlString: 'https://github.com/topojson/world-atlas',
|
||||||
textStyle: TextStyle(fontWeight: FontWeight.bold),
|
textStyle: TextStyle(fontWeight: FontWeight.bold),
|
||||||
),
|
),
|
||||||
alignment: PlaceholderAlignment.middle,
|
alignment: PlaceholderAlignment.middle,
|
||||||
|
|
|
@ -138,14 +138,14 @@ class LicenseRow extends StatelessWidget {
|
||||||
children: [
|
children: [
|
||||||
LinkChip(
|
LinkChip(
|
||||||
text: package.name,
|
text: package.name,
|
||||||
url: package.sourceUrl,
|
urlString: package.sourceUrl,
|
||||||
textStyle: const TextStyle(fontWeight: FontWeight.bold),
|
textStyle: const TextStyle(fontWeight: FontWeight.bold),
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsetsDirectional.only(start: 16),
|
padding: const EdgeInsetsDirectional.only(start: 16),
|
||||||
child: LinkChip(
|
child: LinkChip(
|
||||||
text: package.license,
|
text: package.license,
|
||||||
url: package.licenseUrl,
|
urlString: package.licenseUrl,
|
||||||
color: subColor,
|
color: subColor,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -5,7 +5,7 @@ import 'package:url_launcher/url_launcher.dart';
|
||||||
class LinkChip extends StatelessWidget {
|
class LinkChip extends StatelessWidget {
|
||||||
final Widget? leading;
|
final Widget? leading;
|
||||||
final String text;
|
final String text;
|
||||||
final String? url;
|
final String? urlString;
|
||||||
final Color? color;
|
final Color? color;
|
||||||
final TextStyle? textStyle;
|
final TextStyle? textStyle;
|
||||||
final VoidCallback? onTap;
|
final VoidCallback? onTap;
|
||||||
|
@ -16,7 +16,7 @@ class LinkChip extends StatelessWidget {
|
||||||
Key? key,
|
Key? key,
|
||||||
this.leading,
|
this.leading,
|
||||||
required this.text,
|
required this.text,
|
||||||
this.url,
|
this.urlString,
|
||||||
this.color,
|
this.color,
|
||||||
this.textStyle,
|
this.textStyle,
|
||||||
this.onTap,
|
this.onTap,
|
||||||
|
@ -24,15 +24,18 @@ class LinkChip extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final _url = url;
|
final _urlString = urlString;
|
||||||
return DefaultTextStyle.merge(
|
return DefaultTextStyle.merge(
|
||||||
style: (textStyle ?? const TextStyle()).copyWith(color: color),
|
style: (textStyle ?? const TextStyle()).copyWith(color: color),
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
borderRadius: borderRadius,
|
borderRadius: borderRadius,
|
||||||
onTap: onTap ??
|
onTap: onTap ??
|
||||||
() async {
|
() async {
|
||||||
if (_url != null && await canLaunch(_url)) {
|
if (_urlString != null) {
|
||||||
await launch(_url);
|
final url = Uri.parse(_urlString);
|
||||||
|
if (await canLaunchUrl(url)) {
|
||||||
|
await launchUrl(url, mode: LaunchMode.externalApplication);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
|
|
|
@ -44,8 +44,11 @@ class MarkdownContainer extends StatelessWidget {
|
||||||
data: data,
|
data: data,
|
||||||
selectable: true,
|
selectable: true,
|
||||||
onTapLink: (text, href, title) async {
|
onTapLink: (text, href, title) async {
|
||||||
if (href != null && await canLaunch(href)) {
|
if (href != null) {
|
||||||
await launch(href);
|
final url = Uri.parse(href);
|
||||||
|
if (await canLaunchUrl(url)) {
|
||||||
|
await launchUrl(url, mode: LaunchMode.externalApplication);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
|
|
|
@ -38,8 +38,11 @@ class Attribution extends StatelessWidget {
|
||||||
p: theme.textTheme.caption!.merge(const TextStyle(fontSize: InfoRowGroup.fontSize)),
|
p: theme.textTheme.caption!.merge(const TextStyle(fontSize: InfoRowGroup.fontSize)),
|
||||||
),
|
),
|
||||||
onTapLink: (text, href, title) async {
|
onTapLink: (text, href, title) async {
|
||||||
if (href != null && await canLaunch(href)) {
|
if (href != null) {
|
||||||
await launch(href);
|
final url = Uri.parse(href);
|
||||||
|
if (await canLaunchUrl(url)) {
|
||||||
|
await launchUrl(url, mode: LaunchMode.externalApplication);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
@ -72,13 +72,7 @@ class FilterTable<T extends Comparable> extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (showPercentIndicator)
|
if (showPercentIndicator)
|
||||||
// as of percent_indicator v4.0.0, bar radius is not correctly applied to progress bar
|
FutureBuilder<Color>(
|
||||||
// when width is lower than height, so we clip it and handle padding outside
|
|
||||||
Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: lineHeight),
|
|
||||||
child: ClipRRect(
|
|
||||||
borderRadius: BorderRadius.all(barRadius),
|
|
||||||
child: FutureBuilder<Color>(
|
|
||||||
future: filter.color(context),
|
future: filter.color(context),
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
final color = snapshot.data;
|
final color = snapshot.data;
|
||||||
|
@ -96,12 +90,10 @@ class FilterTable<T extends Comparable> extends StatelessWidget {
|
||||||
shadows: theme.brightness == Brightness.dark ? Constants.embossShadows : null,
|
shadows: theme.brightness == Brightness.dark ? Constants.embossShadows : null,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.symmetric(horizontal: lineHeight),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
|
||||||
),
|
|
||||||
Text(
|
Text(
|
||||||
'$count',
|
'$count',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
|
|
@ -110,16 +110,11 @@ class StatsPage extends StatelessWidget {
|
||||||
padding: const EdgeInsets.all(16),
|
padding: const EdgeInsets.all(16),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
// as of percent_indicator v4.0.0, bar radius is not correctly applied to progress bar
|
|
||||||
// when width is lower than height, so we clip it and handle padding outside
|
|
||||||
Row(
|
Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
const Icon(AIcons.location),
|
const Icon(AIcons.location),
|
||||||
SizedBox(width: lineHeight),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: ClipRRect(
|
|
||||||
borderRadius: BorderRadius.all(barRadius),
|
|
||||||
child: LinearPercentIndicator(
|
child: LinearPercentIndicator(
|
||||||
percent: withGpsPercent,
|
percent: withGpsPercent,
|
||||||
lineHeight: lineHeight,
|
lineHeight: lineHeight,
|
||||||
|
@ -134,12 +129,11 @@ class StatsPage extends StatelessWidget {
|
||||||
shadows: isDark ? Constants.embossShadows : null,
|
shadows: isDark ? Constants.embossShadows : null,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.symmetric(horizontal: lineHeight),
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
// end padding to match leading, so that inside label is aligned with outside label below
|
// end padding to match leading, so that inside label is aligned with outside label below
|
||||||
SizedBox(width: lineHeight + 24),
|
const SizedBox(width: 24),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
|
|
38
pubspec.lock
38
pubspec.lock
|
@ -326,42 +326,42 @@ packages:
|
||||||
name: firebase_core
|
name: firebase_core
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0"
|
version: "1.16.0"
|
||||||
firebase_core_platform_interface:
|
firebase_core_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_core_platform_interface
|
name: firebase_core_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.2.5"
|
version: "4.3.0"
|
||||||
firebase_core_web:
|
firebase_core_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_core_web
|
name: firebase_core_web
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.6.2"
|
version: "1.6.3"
|
||||||
firebase_crashlytics:
|
firebase_crashlytics:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_crashlytics
|
name: firebase_crashlytics
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.6.3"
|
version: "2.7.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.2.4"
|
version: "3.2.5"
|
||||||
flex_color_picker:
|
flex_color_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flex_color_picker
|
name: flex_color_picker
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.5.0"
|
||||||
fluster:
|
fluster:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -489,7 +489,7 @@ 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.1.3"
|
version: "2.1.4"
|
||||||
google_maps_flutter_platform_interface:
|
google_maps_flutter_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -629,7 +629,7 @@ packages:
|
||||||
name: mime
|
name: mime
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.1"
|
version: "1.0.2"
|
||||||
motion_sensors:
|
motion_sensors:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -776,7 +776,7 @@ packages:
|
||||||
name: percent_indicator
|
name: percent_indicator
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.0"
|
version: "4.0.1"
|
||||||
permission_handler:
|
permission_handler:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -895,35 +895,35 @@ packages:
|
||||||
name: quiver
|
name: quiver
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.1+1"
|
version: "3.1.0"
|
||||||
screen_brightness:
|
screen_brightness:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: screen_brightness
|
name: screen_brightness
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.4"
|
version: "0.2.0"
|
||||||
screen_brightness_android:
|
screen_brightness_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: screen_brightness_android
|
name: screen_brightness_android
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4"
|
version: "0.1.0"
|
||||||
screen_brightness_ios:
|
screen_brightness_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: screen_brightness_ios
|
name: screen_brightness_ios
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.5"
|
version: "0.1.0"
|
||||||
screen_brightness_platform_interface:
|
screen_brightness_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: screen_brightness_platform_interface
|
name: screen_brightness_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4"
|
version: "0.1.0"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -1161,14 +1161,14 @@ packages:
|
||||||
name: url_launcher
|
name: url_launcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.20"
|
version: "6.1.0"
|
||||||
url_launcher_android:
|
url_launcher_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_android
|
name: url_launcher_android
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.15"
|
version: "6.0.16"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1238,7 +1238,7 @@ packages:
|
||||||
name: web_socket_channel
|
name: web_socket_channel
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.2.0"
|
||||||
webdriver:
|
webdriver:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1252,14 +1252,14 @@ packages:
|
||||||
name: webkit_inspection_protocol
|
name: webkit_inspection_protocol
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.1"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.1"
|
version: "2.5.2"
|
||||||
wkt_parser:
|
wkt_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
Loading…
Reference in a new issue