Compare commits
No commits in common. "5bc4ba6332031e98d5768916a1e3ad88c83d39f0" and "ddeeaeaeac9e42a3a537180a49c305e96fbd4444" have entirely different histories.
5bc4ba6332
...
ddeeaeaeac
@ -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'
|
|
||||||
}
|
}
|
||||||
|
@ -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
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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';
|
||||||
|
@ -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);
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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))
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -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) {
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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,
|
||||||
),
|
),
|
||||||
|
@ -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';
|
||||||
|
|
||||||
|
123
pubspec.yaml
123
pubspec.yaml
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user