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