Add ability to send logs via email
This commit is contained in:
parent
7b3a3eb184
commit
3489172067
5 changed files with 70 additions and 3 deletions
|
@ -66,8 +66,6 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
actions.add(IconButton(
|
||||
icon: Icon(Icons.sync_problem),
|
||||
onPressed: () {
|
||||
final list = new List<int>();
|
||||
print(list[0]);
|
||||
_openSyncConfiguration(context);
|
||||
},
|
||||
));
|
||||
|
|
|
@ -9,7 +9,10 @@ import 'package:photos/ui/album_list_widget.dart';
|
|||
import 'package:photos/ui/change_notifier_builder.dart';
|
||||
import 'package:photos/ui/gallery_app_bar_widget.dart';
|
||||
import 'package:photos/ui/gallery_container_widget.dart';
|
||||
import 'package:photos/utils/logging_util.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shake/shake.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
class HomeWidget extends StatefulWidget {
|
||||
final String title;
|
||||
|
@ -21,12 +24,24 @@ class HomeWidget extends StatefulWidget {
|
|||
}
|
||||
|
||||
class _HomeWidgetState extends State<HomeWidget> {
|
||||
final logger = Logger("HomeWidgetState");
|
||||
ShakeDetector detector;
|
||||
PhotoLoader get photoLoader => Provider.of<PhotoLoader>(context);
|
||||
int _selectedNavBarItem = 0;
|
||||
Set<Photo> _selectedPhotos = HashSet<Photo>();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
detector = ShakeDetector.waitForStart(onPhoneShake: () {
|
||||
logger.info("Emailing logs");
|
||||
emailLogs();
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
detector.startListening();
|
||||
return Scaffold(
|
||||
appBar: GalleryAppBarWidget(
|
||||
widget.title,
|
||||
|
@ -86,4 +101,10 @@ class _HomeWidgetState extends State<HomeWidget> {
|
|||
},
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
detector.stopListening();
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
|
|
24
lib/utils/logging_util.dart
Normal file
24
lib/utils/logging_util.dart
Normal file
|
@ -0,0 +1,24 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:archive/archive_io.dart';
|
||||
import 'package:flutter_email_sender/flutter_email_sender.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
Future<void> emailLogs() async {
|
||||
final tempPath = (await getTemporaryDirectory()).path;
|
||||
final zipFilePath = tempPath + "/logs.zip";
|
||||
Directory logsDirectory = Directory(tempPath + "/logs");
|
||||
var encoder = ZipFileEncoder();
|
||||
encoder.create(zipFilePath);
|
||||
encoder.addDirectory(logsDirectory);
|
||||
encoder.close();
|
||||
final Email email = Email(
|
||||
body: 'Logs attached.',
|
||||
subject: 'Error, error, share the terror.',
|
||||
recipients: ['android-support@ente.io'],
|
||||
cc: ['vishnumohandas@gmail.com'],
|
||||
attachmentPaths: [zipFilePath],
|
||||
isHTML: false,
|
||||
);
|
||||
await FlutterEmailSender.send(email);
|
||||
}
|
23
pubspec.lock
23
pubspec.lock
|
@ -2,7 +2,7 @@
|
|||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
archive:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: archive
|
||||
url: "https://pub.dartlang.org"
|
||||
|
@ -125,6 +125,13 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_email_sender:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_email_sender
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
flutter_image_compress:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -310,6 +317,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
sensors:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sensors
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.2"
|
||||
sentry:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -317,6 +331,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
shake:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: shake
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.0"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
@ -42,6 +42,9 @@ dependencies:
|
|||
event_bus: ^1.1.1
|
||||
sentry: ">=3.0.0 <4.0.0"
|
||||
super_logging: ^1.0.0
|
||||
shake: ^0.1.0
|
||||
archive: ^2.0.11
|
||||
flutter_email_sender: ^3.0.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
Loading…
Add table
Reference in a new issue