Feedback: Send us the version number of the app

This commit is contained in:
Vishesh Handa
2019-02-15 13:13:35 +01:00
parent 9e5548dbc9
commit c085475d9b
3 changed files with 26 additions and 21 deletions

View File

@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:journal/app.dart';
import 'package:journal/settings.dart';
import 'package:package_info/package_info.dart';
import 'package:journal/utils.dart';
class SettingsScreen extends StatelessWidget {
@override
@ -143,40 +142,27 @@ class VersionNumberTile extends StatefulWidget {
}
class VersionNumberTileState extends State<VersionNumberTile> {
PackageInfo packageInfo;
String versionText;
@override
void initState() {
super.initState();
() async {
PackageInfo info = await PackageInfo.fromPlatform();
var str = await getVersionString();
setState(() {
packageInfo = info;
versionText = str;
});
}();
}
@override
Widget build(BuildContext context) {
var text = "";
if (packageInfo != null) {
text = packageInfo.appName +
" " +
packageInfo.version +
"+" +
packageInfo.buildNumber;
if (JournalApp.isInDebugMode) {
text += " (Debug)";
}
}
var textTheme = Theme.of(context).textTheme;
return ListTile(
title: Text("Version Info", style: textTheme.subhead),
subtitle: Text(
text,
versionText,
style: textTheme.body1,
textAlign: TextAlign.left,
),

16
lib/utils.dart Normal file
View File

@ -0,0 +1,16 @@
import 'package:journal/app.dart';
import 'package:package_info/package_info.dart';
Future<String> getVersionString() async {
var info = await PackageInfo.fromPlatform();
var versionText = "";
if (info != null) {
versionText = info.appName + " " + info.version + "+" + info.buildNumber;
if (JournalApp.isInDebugMode) {
versionText += " (Debug)";
}
}
return versionText;
}

View File

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:journal/state_container.dart';
import 'package:journal/utils.dart';
import 'package:launch_review/launch_review.dart';
import 'package:share/share.dart';
import 'package:url_launcher/url_launcher.dart';
@ -67,11 +68,13 @@ class AppDrawer extends StatelessWidget {
ListTile(
leading: Icon(Icons.rate_review, color: textStyle.color),
title: Text('Feedback', style: textStyle),
onTap: () {
onTap: () async {
var versionText = await getVersionString();
var emailAddress = 'gitjournal.io@gmail.com';
var subject = 'GitJournal Feedback';
var body =
"Hey!\n\nHere are some ways to improve GitJournal - \n";
"Hey!\n\nHere are some ways to improve GitJournal - \n \n\nVersion: $versionText";
var url = 'mailto:$emailAddress?subject=$subject&body=$body';
launch(url);