Merge remote-tracking branch 'origin/master' into family_plan
This commit is contained in:
commit
f1719517cd
12 changed files with 70 additions and 39 deletions
|
@ -26,15 +26,15 @@ PODS:
|
||||||
- FirebaseCoreDiagnostics (~> 8.0)
|
- FirebaseCoreDiagnostics (~> 8.0)
|
||||||
- GoogleUtilities/Environment (~> 7.6)
|
- GoogleUtilities/Environment (~> 7.6)
|
||||||
- GoogleUtilities/Logger (~> 7.6)
|
- GoogleUtilities/Logger (~> 7.6)
|
||||||
- FirebaseCoreDiagnostics (8.9.0):
|
- FirebaseCoreDiagnostics (8.12.0):
|
||||||
- GoogleDataTransport (~> 9.1)
|
- GoogleDataTransport (~> 9.1)
|
||||||
- GoogleUtilities/Environment (~> 7.6)
|
- GoogleUtilities/Environment (~> 7.7)
|
||||||
- GoogleUtilities/Logger (~> 7.6)
|
- GoogleUtilities/Logger (~> 7.7)
|
||||||
- nanopb (~> 2.30908.0)
|
- nanopb (~> 2.30908.0)
|
||||||
- FirebaseInstallations (8.9.0):
|
- FirebaseInstallations (8.12.0):
|
||||||
- FirebaseCore (~> 8.0)
|
- FirebaseCore (~> 8.0)
|
||||||
- GoogleUtilities/Environment (~> 7.6)
|
- GoogleUtilities/Environment (~> 7.7)
|
||||||
- GoogleUtilities/UserDefaults (~> 7.6)
|
- GoogleUtilities/UserDefaults (~> 7.7)
|
||||||
- PromisesObjC (< 3.0, >= 1.2)
|
- PromisesObjC (< 3.0, >= 1.2)
|
||||||
- FirebaseMessaging (8.9.0):
|
- FirebaseMessaging (8.9.0):
|
||||||
- FirebaseCore (~> 8.0)
|
- FirebaseCore (~> 8.0)
|
||||||
|
@ -82,22 +82,22 @@ PODS:
|
||||||
- GoogleUtilities/Environment (~> 7.2)
|
- GoogleUtilities/Environment (~> 7.2)
|
||||||
- nanopb (~> 2.30908.0)
|
- nanopb (~> 2.30908.0)
|
||||||
- PromisesObjC (< 3.0, >= 1.2)
|
- PromisesObjC (< 3.0, >= 1.2)
|
||||||
- GoogleUtilities/AppDelegateSwizzler (7.6.0):
|
- GoogleUtilities/AppDelegateSwizzler (7.7.0):
|
||||||
- GoogleUtilities/Environment
|
- GoogleUtilities/Environment
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/Network
|
- GoogleUtilities/Network
|
||||||
- GoogleUtilities/Environment (7.6.0):
|
- GoogleUtilities/Environment (7.7.0):
|
||||||
- PromisesObjC (< 3.0, >= 1.2)
|
- PromisesObjC (< 3.0, >= 1.2)
|
||||||
- GoogleUtilities/Logger (7.6.0):
|
- GoogleUtilities/Logger (7.7.0):
|
||||||
- GoogleUtilities/Environment
|
- GoogleUtilities/Environment
|
||||||
- GoogleUtilities/Network (7.6.0):
|
- GoogleUtilities/Network (7.7.0):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- "GoogleUtilities/NSData+zlib"
|
- "GoogleUtilities/NSData+zlib"
|
||||||
- GoogleUtilities/Reachability
|
- GoogleUtilities/Reachability
|
||||||
- "GoogleUtilities/NSData+zlib (7.6.0)"
|
- "GoogleUtilities/NSData+zlib (7.7.0)"
|
||||||
- GoogleUtilities/Reachability (7.6.0):
|
- GoogleUtilities/Reachability (7.7.0):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/UserDefaults (7.6.0):
|
- GoogleUtilities/UserDefaults (7.7.0):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- image_editor (0.0.1):
|
- image_editor (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
@ -338,8 +338,8 @@ SPEC CHECKSUMS:
|
||||||
firebase_core: f770e033e790657b3505f04be4cb24c482912f11
|
firebase_core: f770e033e790657b3505f04be4cb24c482912f11
|
||||||
firebase_messaging: 0c8d1a1732487db7f332fb65232053e93201e2fb
|
firebase_messaging: 0c8d1a1732487db7f332fb65232053e93201e2fb
|
||||||
FirebaseCore: 599ee609343eaf4941bd188f85e3aa077ffe325b
|
FirebaseCore: 599ee609343eaf4941bd188f85e3aa077ffe325b
|
||||||
FirebaseCoreDiagnostics: 5daa63f1c1409d981a2d5007daa100b36eac6a34
|
FirebaseCoreDiagnostics: 3b40dfadef5b90433a60ae01f01e90fe87aa76aa
|
||||||
FirebaseInstallations: caa7c8e0d3e2345b8829d2fa9ca1b4dfbf2fcc85
|
FirebaseInstallations: 25764cf322e77f99449395870a65b2bef88e1545
|
||||||
FirebaseMessaging: 82c4a48638f53f7b184f3cc9f6cd2cbe533ab316
|
FirebaseMessaging: 82c4a48638f53f7b184f3cc9f6cd2cbe533ab316
|
||||||
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
||||||
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
|
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
|
||||||
|
@ -354,7 +354,7 @@ SPEC CHECKSUMS:
|
||||||
fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58
|
fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58
|
||||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||||
GoogleDataTransport: 629c20a4d363167143f30ea78320d5a7eb8bd940
|
GoogleDataTransport: 629c20a4d363167143f30ea78320d5a7eb8bd940
|
||||||
GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237
|
GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1
|
||||||
image_editor: c1d038630eedea60d2dee9c14f36aa66c7f9cfab
|
image_editor: c1d038630eedea60d2dee9c14f36aa66c7f9cfab
|
||||||
in_app_purchase: 3e2155afa9d03d4fa32d9e62d567885080ce97d6
|
in_app_purchase: 3e2155afa9d03d4fa32d9e62d567885080ce97d6
|
||||||
KTVCocoaHTTPServer: df8d7b861e603ff8037e9b2138aca2563a6b768d
|
KTVCocoaHTTPServer: df8d7b861e603ff8037e9b2138aca2563a6b768d
|
||||||
|
@ -392,4 +392,4 @@ SPEC CHECKSUMS:
|
||||||
|
|
||||||
PODFILE CHECKSUM: 58fb802948678e2071d210cfc8aab09d85c8341b
|
PODFILE CHECKSUM: 58fb802948678e2071d210cfc8aab09d85c8341b
|
||||||
|
|
||||||
COCOAPODS: 1.11.2
|
COCOAPODS: 1.11.3
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
@ -120,6 +121,8 @@ class _CollectionsGalleryWidgetState extends State<CollectionsGalleryWidget>
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _getCollectionsGalleryWidget(CollectionItems items) {
|
Widget _getCollectionsGalleryWidget(CollectionItems items) {
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
int albumsCountInOneRow = max(size.width~/220.0, 2);
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: const EdgeInsets.only(bottom: 50),
|
margin: const EdgeInsets.only(bottom: 50),
|
||||||
|
@ -175,7 +178,7 @@ class _CollectionsGalleryWidgetState extends State<CollectionsGalleryWidget>
|
||||||
itemCount:
|
itemCount:
|
||||||
items.collections.length + 1, // To include the + button
|
items.collections.length + 1, // To include the + button
|
||||||
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
crossAxisCount: 2,
|
crossAxisCount: albumsCountInOneRow,
|
||||||
mainAxisSpacing: 12,
|
mainAxisSpacing: 12,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -33,6 +33,7 @@ class FadingBottomBar extends StatefulWidget {
|
||||||
|
|
||||||
class FadingBottomBarState extends State<FadingBottomBar> {
|
class FadingBottomBarState extends State<FadingBottomBar> {
|
||||||
bool _shouldHide = false;
|
bool _shouldHide = false;
|
||||||
|
final GlobalKey shareButtonKey = GlobalKey();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -131,11 +132,12 @@ class FadingBottomBarState extends State<FadingBottomBar> {
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(top: 12, bottom: 12),
|
padding: const EdgeInsets.only(top: 12, bottom: 12),
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
|
key: shareButtonKey,
|
||||||
icon: Icon(Platform.isAndroid
|
icon: Icon(Platform.isAndroid
|
||||||
? Icons.share_outlined
|
? Icons.share_outlined
|
||||||
: CupertinoIcons.share),
|
: CupertinoIcons.share),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
share(context, [widget.file]);
|
share(context, [widget.file], shareButtonKey: shareButtonKey);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -56,7 +56,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
||||||
StreamSubscription _userAuthEventSubscription;
|
StreamSubscription _userAuthEventSubscription;
|
||||||
Function() _selectedFilesListener;
|
Function() _selectedFilesListener;
|
||||||
String _appBarTitle;
|
String _appBarTitle;
|
||||||
|
final GlobalKey shareButtonKey = GlobalKey();
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
_selectedFilesListener = () {
|
_selectedFilesListener = () {
|
||||||
|
@ -341,6 +341,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
||||||
Tooltip(
|
Tooltip(
|
||||||
message: "share",
|
message: "share",
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
|
key: shareButtonKey,
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Platform.isAndroid ? Icons.share_outlined : CupertinoIcons.share),
|
Platform.isAndroid ? Icons.share_outlined : CupertinoIcons.share),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
|
@ -468,7 +469,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
||||||
}
|
}
|
||||||
|
|
||||||
void _shareSelected(BuildContext context) {
|
void _shareSelected(BuildContext context) {
|
||||||
share(context, widget.selectedFiles.files.toList());
|
share(context, widget.selectedFiles.files.toList(), shareButtonKey: shareButtonKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _showRemoveFromCollectionSheet(BuildContext context) {
|
void _showRemoveFromCollectionSheet(BuildContext context) {
|
||||||
|
|
|
@ -205,6 +205,7 @@ class _FullScreenMemoryState extends State<FullScreenMemory> {
|
||||||
double _opacity = 1;
|
double _opacity = 1;
|
||||||
PageController _pageController;
|
PageController _pageController;
|
||||||
bool _shouldDisableScroll = false;
|
bool _shouldDisableScroll = false;
|
||||||
|
final GlobalKey shareButtonKey = GlobalKey();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
|
@ -231,9 +232,10 @@ class _FullScreenMemoryState extends State<FullScreenMemory> {
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
actions: [
|
actions: [
|
||||||
IconButton(
|
IconButton(
|
||||||
|
key: shareButtonKey,
|
||||||
icon: Icon(Icons.share),
|
icon: Icon(Icons.share),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
share(context, [file]);
|
share(context, [file], shareButtonKey: shareButtonKey);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -59,9 +59,7 @@ class SupportSectionWidget extends StatelessWidget {
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
behavior: HitTestBehavior.translucent,
|
behavior: HitTestBehavior.translucent,
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
await sendLogs(context, "report bug", "bug@ente.io", postShare: () {
|
await sendLogs(context, "report bug", "bug@ente.io");
|
||||||
showToast("thanks for reporting a bug!");
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
child: SettingsTextItem(
|
child: SettingsTextItem(
|
||||||
text: "report bug 🐞", icon: Icons.navigate_next),
|
text: "report bug 🐞", icon: Icons.navigate_next),
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
@ -107,6 +108,8 @@ class _SharedCollectionGalleryState extends State<SharedCollectionGallery>
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _getSharedCollectionsGallery(SharedCollections collections) {
|
Widget _getSharedCollectionsGallery(SharedCollections collections) {
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
int albumsCountInOneRow = max(size.width~/220.0, 2);
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: const EdgeInsets.only(bottom: 50),
|
margin: const EdgeInsets.only(bottom: 50),
|
||||||
|
@ -125,7 +128,7 @@ class _SharedCollectionGalleryState extends State<SharedCollectionGallery>
|
||||||
},
|
},
|
||||||
itemCount: collections.incoming.length,
|
itemCount: collections.incoming.length,
|
||||||
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
crossAxisCount: 2,
|
crossAxisCount: albumsCountInOneRow,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: _getIncomingCollectionEmptyState(),
|
: _getIncomingCollectionEmptyState(),
|
||||||
|
|
|
@ -138,10 +138,11 @@ Future<void> _sendLogs(
|
||||||
_logger.severe('email sender failed', e, s);
|
_logger.severe('email sender failed', e, s);
|
||||||
final result = await showChoiceDialog(
|
final result = await showChoiceDialog(
|
||||||
context, "email logs", "please send the logs to $toEmail",
|
context, "email logs", "please send the logs to $toEmail",
|
||||||
firstAction: "copy email", secondAction: "ok");
|
firstAction: "copy email", secondAction: "send");
|
||||||
if (result != null && result == DialogUserChoice.firstChoice) {
|
if (result != null && result == DialogUserChoice.firstChoice) {
|
||||||
await Clipboard.setData(ClipboardData(text: toEmail));
|
await Clipboard.setData(ClipboardData(text: toEmail));
|
||||||
}
|
}
|
||||||
await Share.shareFiles([zipFilePath]);
|
final Size size = MediaQuery.of(context).size;
|
||||||
|
await Share.shareFiles([zipFilePath], sharePositionOrigin: Rect.fromLTWH(0, 0, size.width, size.height / 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,12 +11,14 @@ import 'package:photos/models/file_type.dart';
|
||||||
import 'package:photos/utils/dialog_util.dart';
|
import 'package:photos/utils/dialog_util.dart';
|
||||||
import 'package:photos/utils/exif_util.dart';
|
import 'package:photos/utils/exif_util.dart';
|
||||||
import 'package:photos/utils/file_util.dart';
|
import 'package:photos/utils/file_util.dart';
|
||||||
|
import 'package:photos/utils/toast_util.dart';
|
||||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||||
import 'package:share_plus/share_plus.dart';
|
import 'package:share_plus/share_plus.dart';
|
||||||
|
|
||||||
final _logger = Logger("ShareUtil");
|
final _logger = Logger("ShareUtil");
|
||||||
// share is used to share media/files from ente to other apps
|
// share is used to share media/files from ente to other apps
|
||||||
Future<void> share(BuildContext context, List<File> files) async {
|
Future<void> share(BuildContext context, List<File> files,
|
||||||
|
{GlobalKey shareButtonKey}) async {
|
||||||
final dialog = createProgressDialog(context, "preparing...");
|
final dialog = createProgressDialog(context, "preparing...");
|
||||||
await dialog.show();
|
await dialog.show();
|
||||||
final List<Future<String>> pathFutures = [];
|
final List<Future<String>> pathFutures = [];
|
||||||
|
@ -31,7 +33,26 @@ Future<void> share(BuildContext context, List<File> files) async {
|
||||||
}
|
}
|
||||||
final paths = await Future.wait(pathFutures);
|
final paths = await Future.wait(pathFutures);
|
||||||
await dialog.hide();
|
await dialog.hide();
|
||||||
return Share.shareFiles(paths);
|
return Share.shareFiles(
|
||||||
|
paths,
|
||||||
|
// required for ipad https://github.com/flutter/flutter/issues/47220#issuecomment-608453383
|
||||||
|
sharePositionOrigin: shareButtonRect(context, shareButtonKey),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect shareButtonRect(BuildContext context, GlobalKey shareButtonKey) {
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
RenderBox renderBox = shareButtonKey?.currentContext?.findRenderObject();
|
||||||
|
if (renderBox == null) {
|
||||||
|
return Rect.fromLTWH(0, 0, size.width, size.height / 2);
|
||||||
|
}
|
||||||
|
size = renderBox.size;
|
||||||
|
Offset position = renderBox.localToGlobal(Offset.zero);
|
||||||
|
return Rect.fromCenter(
|
||||||
|
center: position + Offset(size.width / 2, size.height / 2),
|
||||||
|
width: size.width,
|
||||||
|
height: size.height,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> shareText(String text) async {
|
Future<void> shareText(String text) async {
|
||||||
|
|
12
pubspec.lock
12
pubspec.lock
|
@ -964,42 +964,42 @@ packages:
|
||||||
name: share_plus
|
name: share_plus
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0"
|
version: "4.0.4"
|
||||||
share_plus_linux:
|
share_plus_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: share_plus_linux
|
name: share_plus_linux
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.4"
|
version: "3.0.0"
|
||||||
share_plus_macos:
|
share_plus_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: share_plus_macos
|
name: share_plus_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "3.0.0"
|
||||||
share_plus_platform_interface:
|
share_plus_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: share_plus_platform_interface
|
name: share_plus_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "3.0.2"
|
||||||
share_plus_web:
|
share_plus_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: share_plus_web
|
name: share_plus_web
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.4"
|
version: "3.0.0"
|
||||||
share_plus_windows:
|
share_plus_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: share_plus_windows
|
name: share_plus_windows
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -11,7 +11,7 @@ description: ente photos application
|
||||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 0.5.13+293
|
version: 0.5.16+296
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.10.0 <3.0.0"
|
sdk: ">=2.10.0 <3.0.0"
|
||||||
|
@ -88,7 +88,7 @@ dependencies:
|
||||||
receive_sharing_intent: ^1.4.5
|
receive_sharing_intent: ^1.4.5
|
||||||
scrollable_positioned_list: ^0.2.2
|
scrollable_positioned_list: ^0.2.2
|
||||||
sentry: ^5.0.0
|
sentry: ^5.0.0
|
||||||
share_plus: ^2.2.0
|
share_plus: ^4.0.4
|
||||||
shared_preferences: ^2.0.5
|
shared_preferences: ^2.0.5
|
||||||
sqflite: ^2.0.0+3
|
sqflite: ^2.0.0+3
|
||||||
sqflite_migration: ^0.3.0
|
sqflite_migration: ^0.3.0
|
||||||
|
|
2
thirdparty/plugins
vendored
2
thirdparty/plugins
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit a3216f71ee2376c671119c661d86500ae2849463
|
Subproject commit db016cc95c6337766617d644585a835f7693a7df
|
Loading…
Add table
Reference in a new issue