mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 02:07:39 +08:00
Feedback: Send us the version number of the app
This commit is contained in:
@ -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
16
lib/utils.dart
Normal 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;
|
||||
}
|
@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user