Compare commits

..

No commits in common. "5bc4ba6332031e98d5768916a1e3ad88c83d39f0" and "ddeeaeaeac9e42a3a537180a49c305e96fbd4444" have entirely different histories.

14 changed files with 87 additions and 85 deletions

View File

@ -25,7 +25,7 @@ if (flutterVersionName == null) {
android { android {
namespace "eu.mhsl.marianum.mobile.client" namespace "eu.mhsl.marianum.mobile.client"
compileSdk flutter.compileSdkVersion compileSdk flutter.compileSdkVersion
ndkVersion "27.0.12077973" ndkVersion flutter.ndkVersion
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8
@ -41,8 +41,11 @@ android {
} }
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "eu.mhsl.marianum.mobile.client" applicationId "eu.mhsl.marianum.mobile.client"
minSdkVersion 26 // You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 21
targetSdkVersion flutter.targetSdkVersion targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
@ -63,6 +66,5 @@ flutter {
} }
dependencies { dependencies {
implementation 'com.android.support:multidex:2.0.1' implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.tools:desugar_jdk_libs:2.0.3'
} }

View File

@ -1,6 +1,3 @@
org.gradle.jvmargs=-Xmx4G org.gradle.jvmargs=-Xmx4G
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false

View File

@ -1,7 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@ -19,7 +19,7 @@ pluginManagement {
plugins { plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.1.4' apply false id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.8.10" apply false id "org.jetbrains.kotlin.android" version "1.8.10" apply false
} }

View File

@ -4,7 +4,7 @@ import 'dart:developer';
import 'package:device_info_plus/device_info_plus.dart'; import 'package:device_info_plus/device_info_plus.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info/package_info.dart';
import '../../../../../model/accountData.dart'; import '../../../../../model/accountData.dart';
import '../../../mhslApi.dart'; import '../../../mhslApi.dart';

View File

@ -7,13 +7,13 @@ import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:hydrated_bloc/hydrated_bloc.dart';
import 'package:jiffy/jiffy.dart'; import 'package:jiffy/jiffy.dart';
import 'package:loader_overlay/loader_overlay.dart'; import 'package:loader_overlay/loader_overlay.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart'; import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'api/mhsl/breaker/getBreakers/getBreakersResponse.dart'; import 'api/mhsl/breaker/getBreakers/getBreakersResponse.dart';
import 'app.dart'; import 'app.dart';
@ -48,9 +48,7 @@ Future<void> main() async {
PlatformAssetBundle().load('assets/ca/lets-encrypt-r10.pem').then(addCertificateAsTrusted), PlatformAssetBundle().load('assets/ca/lets-encrypt-r10.pem').then(addCertificateAsTrusted),
Future(() async { Future(() async {
await HydratedStorage.build( await HydratedStorage.build(storageDirectory: await getTemporaryDirectory()).then((storage) => HydratedBloc.storage = storage);
storageDirectory: HydratedStorageDirectory((await getTemporaryDirectory()).path)
).then((storage) => HydratedBloc.storage = storage);
}) })
]; ];

View File

@ -1,4 +1,4 @@
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info/package_info.dart';
import '../../api/apiResponse.dart'; import '../../api/apiResponse.dart';
import '../../api/mhsl/breaker/getBreakers/getBreakersCache.dart'; import '../../api/mhsl/breaker/getBreakers/getBreakersCache.dart';
@ -10,7 +10,7 @@ class BreakerProps extends DataHolder {
GetBreakersResponse get getBreakersResponse => _getBreakersResponse!; GetBreakersResponse get getBreakersResponse => _getBreakersResponse!;
PackageInfo? packageInfo; PackageInfo? packageInfo;
String? isBlocked(BreakerArea? type) { String? isBlocked(BreakerArea? type) {
if(packageInfo == null) { if(packageInfo == null) {
PackageInfo.fromPlatform().then((value) => packageInfo = value); PackageInfo.fromPlatform().then((value) => packageInfo = value);

View File

@ -1,5 +1,5 @@
import 'package:flutter_app_badge/flutter_app_badge.dart'; import 'package:flutter_app_badger/flutter_app_badger.dart';
import '../../api/apiResponse.dart'; import '../../api/apiResponse.dart';
import '../../api/marianumcloud/talk/room/getRoomCache.dart'; import '../../api/marianumcloud/talk/room/getRoomCache.dart';
@ -20,7 +20,7 @@ class ChatListProps extends DataHolder {
onUpdate: (GetRoomResponse data) => { onUpdate: (GetRoomResponse data) => {
_getRoomResponse = data, _getRoomResponse = data,
notifyListeners(), notifyListeners(),
FlutterAppBadge.count(data.data.map((e) => e.unreadMessages).reduce((a, b) => a+b)) FlutterAppBadger.updateBadgeCount(data.data.map((e) => e.unreadMessages).reduce((a, b) => a+b))
} }
); );
} }

View File

@ -15,6 +15,9 @@ class NotificationService {
); );
final iosSettings = DarwinInitializationSettings( final iosSettings = DarwinInitializationSettings(
onDidReceiveLocalNotification: (id, title, body, payload) {
// TODO Navigate to Talk section (This runs when an Notification is tapped)
},
); );

View File

@ -1,6 +1,6 @@
import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter_app_badge/flutter_app_badge.dart'; import 'package:flutter_app_badger/flutter_app_badger.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../main.dart'; import '../main.dart';
@ -9,7 +9,7 @@ import '../model/chatList/chatProps.dart';
class NotificationTasks { class NotificationTasks {
static void updateBadgeCount(RemoteMessage notification) { static void updateBadgeCount(RemoteMessage notification) {
FlutterAppBadge.count(int.parse(notification.data['unreadCount'] ?? 0)); FlutterAppBadger.updateBadgeCount(int.parse(notification.data['unreadCount'] ?? 0));
} }
static void updateProviders(BuildContext context) { static void updateProviders(BuildContext context) {

View File

@ -5,7 +5,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:loader_overlay/loader_overlay.dart'; import 'package:loader_overlay/loader_overlay.dart';
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info/package_info.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:badges/badges.dart' as badges; import 'package:badges/badges.dart' as badges;

View File

@ -130,7 +130,7 @@ class _ChatBubbleState extends State<ChatBubble> with SingleTickerProviderStateM
emojis.EmojiPicker( emojis.EmojiPicker(
config: emojis.Config( config: emojis.Config(
height: 256, height: 256,
// swapCategoryAndBottomBar: true, // TODO this property is no longer supported, need to find an replacement swapCategoryAndBottomBar: true,
emojiViewConfig: emojis.EmojiViewConfig( emojiViewConfig: emojis.EmojiViewConfig(
backgroundColor: Theme.of(context).canvasColor, backgroundColor: Theme.of(context).canvasColor,
recentsLimit: 67, recentsLimit: 67,
@ -148,7 +148,7 @@ class _ChatBubbleState extends State<ChatBubble> with SingleTickerProviderStateM
), ),
searchViewConfig: emojis.SearchViewConfig( searchViewConfig: emojis.SearchViewConfig(
backgroundColor: Theme.of(context).dividerColor, backgroundColor: Theme.of(context).dividerColor,
// buttonColor: Theme.of(context).dividerColor, // TODO property no longer supported buttonColor: Theme.of(context).dividerColor,
hintText: 'Suchen', hintText: 'Suchen',
buttonIconColor: Colors.white, buttonIconColor: Colors.white,
), ),

View File

@ -2,7 +2,7 @@
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart'; import 'package:jiffy/jiffy.dart';
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info/package_info.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';

View File

@ -30,7 +30,7 @@ environment:
# versions available, run `flutter pub outdated`. # versions available, run `flutter pub outdated`.
dependency_overrides: dependency_overrides:
intl: any #xml: ^6.2.2
dependencies: dependencies:
flutter: flutter:
@ -39,82 +39,85 @@ dependencies:
flutter_localizations: flutter_localizations:
sdk: flutter sdk: flutter
animated_digit: ^3.2.3 # The following adds the Cupertino Icons font to your application.
async: ^2.11.0 # Use with the CupertinoIcons class for iOS style icons.
badges: ^3.1.2 cupertino_icons: ^1.0.2
better_open_file: ^3.6.5 flutter_native_splash: ^2.2.14
bloc: ^9.0.0 flutter_login: ^5.0.0
bottom_sheet: ^4.0.4
bubble: ^1.2.1 bubble: ^1.2.1
cached_network_image: ^3.4.1 http: ^1.1.0
connectivity_plus: ^6.1.2 shared_preferences: ^2.0.15
crypto: ^3.0.6 provider: ^6.0.4
cupertino_icons: ^1.0.8 jiffy: ^6.1.0
device_info_plus: ^11.2.1 json_annotation: ^4.8.1
dio: ^4.0.6 localstore: ^1.2.3
easy_debounce: ^2.0.3 intl: ^0.18.0
emoji_picker_flutter: ^4.3.0 nextcloud:
fast_rsa: ^3.7.1 git:
file_picker: ^8.1.7 url: https://github.com/provokateurin/nextcloud-neon
path: packages/nextcloud
ref: 3683491a94670393e46cbc83ad85b994f7df7481
flutter_launcher_icons: ^0.13.1
pretty_json: ^2.0.0
cached_network_image: ^3.2.3
url_launcher: ^6.1.10
flutter_linkify: ^6.0.0
filesize: ^2.0.1 filesize: ^2.0.1
firebase_core: ^3.10.1 path_provider: ^2.0.13
firebase_in_app_messaging: ^0.8.1+1 better_open_file: ^3.6.4
firebase_messaging: ^15.2.1
flowder: flowder:
git: git:
url: https://github.com/Harsh223/flowder.git url: https://github.com/Harsh223/flowder.git
flutter_app_badge: ^2.0.2 persistent_bottom_nav_bar_v2: ^5.0.0
flutter_bloc: ^9.0.0 badges: ^3.0.2
flutter_launcher_icons: ^0.14.3 image_picker: ^1.0.0
flutter_linkify: ^6.0.0 file_picker: ^8.0.0+1
flutter_local_notifications: ^18.0.1 loader_overlay: ^4.0.0
flutter_login: ^5.0.0 crypto: ^3.0.3
flutter_native_splash: ^2.4.4 package_info: ^2.0.2
syncfusion_flutter_calendar: ^24.1.44
async: ^2.11.0
animated_digit: ^3.2.1
syncfusion_flutter_pdfviewer: ^24.1.44
photo_view: ^0.14.0
uuid: ^4.2.2
firebase_messaging: ^14.6.5
firebase_core: ^2.15.0
firebase_in_app_messaging: ^0.7.3+4
flutter_local_notifications: ^17.0.0
fast_rsa: ^3.6.1
share_plus: ^8.0.2
flutter_split_view: ^0.1.2 flutter_split_view: ^0.1.2
freezed_annotation: ^2.4.4 bottom_sheet: ^4.0.0
http: ^1.3.0 device_info_plus: ^9.0.3
hydrated_bloc: ^10.0.0 flutter_app_badger: ^1.5.0
image_picker: ^1.1.2
in_app_review: ^2.0.10
jiffy: ^6.2.1
json_annotation: ^4.9.0
loader_overlay: ^5.0.0
localstore: ^1.4.0
nextcloud:
git:
path: packages/nextcloud
ref: 3683491a94670393e46cbc83ad85b994f7df7481
url: https://github.com/provokateurin/nextcloud-neon
package_info_plus: ^8.1.3
path_provider: ^2.1.5
persistent_bottom_nav_bar_v2: ^5.3.1
photo_view: ^0.15.0
pretty_json: ^2.0.0
provider: ^6.1.2
qr_flutter: ^4.1.0 qr_flutter: ^4.1.0
rrule: ^0.2.17 easy_debounce: ^2.0.3
rrule_generator: ^0.9.0 rrule_generator: ^0.7.0+1
share_plus: ^10.1.4 rrule: ^0.2.16
shared_preferences: ^2.3.5 time_range_picker: ^2.2.0
syncfusion_flutter_calendar: ^28.1.41 in_app_review: ^2.0.8
syncfusion_flutter_pdfviewer: ^28.1.41 emoji_picker_flutter: ^2.1.1
time_range_picker: ^2.3.0 bloc: ^8.1.4
url_launcher: ^6.3.1 flutter_bloc: ^8.1.5
uuid: ^4.5.1 freezed_annotation: ^2.4.1
connectivity_plus: ^6.0.3
hydrated_bloc: ^9.1.5
dio: ^4.0.6
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
json_serializable: any json_serializable: ^6.7.1
build_runner: any build_runner: ^2.4.9
# The "flutter_lints" package below contains a set of recommended lints to # The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is # encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your # activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint # package. See that file for information about deactivating specific lint
# rules and activating additional ones. # rules and activating additional ones.
flutter_lints: any flutter_lints: ^3.0.1
freezed: any freezed: ^2.5.2
# For information on the generic Dart part of this file, see the # For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec # following page: https://dart.dev/tools/pub/pubspec