diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index eb737ec..ac7594c 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -54,7 +54,7 @@
-
+
@@ -173,7 +173,7 @@
-
+
@@ -208,7 +208,7 @@
-
+
@@ -523,7 +523,7 @@
-
+
@@ -579,7 +579,7 @@
-
+
@@ -593,7 +593,7 @@
-
+
@@ -632,10 +632,17 @@
+
+
+
+
+
+
+
-
+
@@ -936,7 +943,7 @@
-
+
@@ -1106,7 +1113,7 @@
-
+
@@ -1123,12 +1130,12 @@
-
+
-
+
@@ -1169,7 +1176,7 @@
-
+
@@ -1177,14 +1184,15 @@
-
+
-
+
-
+
+
@@ -1226,7 +1234,7 @@
-
+
diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml
index d385275..37fcc58 100644
--- a/.idea/libraries/Flutter_Plugins.xml
+++ b/.idea/libraries/Flutter_Plugins.xml
@@ -27,6 +27,7 @@
+
diff --git a/android/build.gradle b/android/build.gradle
index 83ae220..3efffaf 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -6,7 +6,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.2'
+ classpath 'com.android.tools.build:gradle:7.1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -26,6 +26,6 @@ subprojects {
project.evaluationDependsOn(':app')
}
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
delete rootProject.buildDir
}
diff --git a/lib/screen/settings/settings.dart b/lib/screen/settings/settings.dart
index 3ec0b7f..e2e0300 100644
--- a/lib/screen/settings/settings.dart
+++ b/lib/screen/settings/settings.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
+import 'package:package_info/package_info.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -74,13 +75,19 @@ class _SettingsState extends State {
ListTile(
leading: const Icon(Icons.info),
title: const Text("Informationen und Lizenzen"),
- onTap: () {
+ onTap: () async {
+ final appInfo = await PackageInfo.fromPlatform();
+
+ if(!context.mounted) return;
showAboutDialog(
context: context,
- applicationIcon: const Icon(Icons.send_time_extension_outlined),
+ applicationIcon: const Icon(Icons.apps),
applicationName: "MarianumMobile",
- applicationVersion: "Development Build",
- applicationLegalese: "Marianum Fulda 2023 Elias Müller",
+ applicationVersion: "${appInfo.appName}\n\nPackage: ${appInfo.packageName}\n\nVersion: ${appInfo.version}\nBuild: ${appInfo.buildNumber}",
+ applicationLegalese: "Dies ist ein Inoffizieller Nextcloud & Webuntis Client und wird nicht vom Marianum selbst betrieben.\n"
+ "Keinerlei Gewähr für Vollständigkeit, Richtigkeit und Aktualität!\n\n"
+ "Development build\n"
+ "Marianum Fulda 2023 Elias Müller",
);
},
trailing: const Icon(Icons.arrow_right),
diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
index 63ad0d1..33cba8b 100644
--- a/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -5,12 +5,14 @@
import FlutterMacOS
import Foundation
+import package_info
import path_provider_foundation
import shared_preferences_foundation
import sqflite
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
+ FLTPackageInfoPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
diff --git a/pubspec.yaml b/pubspec.yaml
index d1d3027..48469ed 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -68,6 +68,7 @@ dependencies:
file_picker: ^5.2.11
loader_overlay: ^2.2.0
crypto: ^3.0.3
+ package_info: ^2.0.2
dependency_overrides:
xml: ^6.2.2
@@ -106,6 +107,7 @@ flutter:
- assets/ca/
- assets/background/
- assets/logo/
+ - assets/logo/icon
- assets/img/
# An image asset can refer to one or more resolution-specific "variants", see