diff --git a/android/app/build.gradle b/android/app/build.gradle index fa40e32..bcce007 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -27,6 +27,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { + namespace = "com.example.queuing_system" compileSdkVersion flutter.compileSdkVersion compileOptions { @@ -51,6 +52,7 @@ android { targetSdkVersion 31 versionCode flutterVersionCode.toInteger() versionName flutterVersionName + multiDexEnabled true } buildTypes { @@ -68,4 +70,6 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2' + } diff --git a/android/build.gradle b/android/build.gradle index a1ce039..2f92b4e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,26 +6,35 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.2.0' + classpath 'com.android.tools.build:gradle:8.7.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } - allprojects { repositories { google() mavenCentral() } + subprojects { + afterEvaluate { project -> + if (project.hasProperty('android')) { + project.android { + if (namespace == null) { + namespace project.group + } + } + } + } + } + } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { project.evaluationDependsOn(':app') } tasks.register("clean", Delete) { delete rootProject.buildDir -} +} \ No newline at end of file diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index c021028..e464997 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Jun 23 08:50:38 CEST 2017 +#Tue Nov 12 09:01:21 AST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 44e62bc..f86bddf 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,11 +1,26 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version '8.7.0' apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false + +} + +include ":app" \ No newline at end of file diff --git a/lib/home/app_provider.dart b/lib/home/app_provider.dart index b8c6e51..dcd634c 100644 --- a/lib/home/app_provider.dart +++ b/lib/home/app_provider.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'dart:developer'; import 'dart:io'; -import 'package:connectivity/connectivity.dart'; +import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_tts/flutter_tts.dart'; import 'package:intl/intl.dart'; @@ -198,7 +198,9 @@ class AppProvider extends ChangeNotifier { Future getPrayerDetailsFromServer() async { PrayersWidgetModel? prayersWidgetModel = await API.getPrayerDetailsFromServer( - latitude: currentWidgetsConfigModel!.projectLatitude ?? 0, longitude: currentWidgetsConfigModel!.projectLongitude ?? 0, onFailure: (error) => logger.i("Api call failed with this error: ${error.toString()}")); + latitude: currentWidgetsConfigModel!.projectLatitude ?? 0, + longitude: currentWidgetsConfigModel!.projectLongitude ?? 0, + onFailure: (error) => logger.i("Api call failed with this error: ${error.toString()}")); if (prayersWidgetModel != null) { currentPrayersWidgetModel = prayersWidgetModel; @@ -494,7 +496,13 @@ class AppProvider extends ChangeNotifier { onDisconnect(exception) { logger.i("SignalR: onDisconnect"); - signalRHelper.startSignalRConnection(currentDeviceIp, onUpdateAvailable: onPingReceived, onConnect: onConnect, onConnecting: onConnecting, onDisconnect: onDisconnect,); + signalRHelper.startSignalRConnection( + currentDeviceIp, + onUpdateAvailable: onPingReceived, + onConnect: onConnect, + onConnecting: onConnecting, + onDisconnect: onDisconnect, + ); } onConnecting() { @@ -502,9 +510,10 @@ class AppProvider extends ChangeNotifier { } listenNetworkConnectivity() async { - Connectivity().onConnectivityChanged.listen((event) async { - switch (event) { + Connectivity().onConnectivityChanged.listen((List event) async { + switch (event.first) { case ConnectivityResult.wifi: + case ConnectivityResult.ethernet: updateInternetConnection(true); await getCurrentIP(); if (signalRHelper.connection != null) { @@ -517,6 +526,16 @@ class AppProvider extends ChangeNotifier { break; case ConnectivityResult.mobile: break; + case ConnectivityResult.bluetooth: + // TODO: Handle this case. + break; + // TODO: Handle this case. + case ConnectivityResult.vpn: + // TODO: Handle this case. + break; + case ConnectivityResult.other: + // TODO: Handle this case. + break; } }); } diff --git a/lib/main.dart b/lib/main.dart index f24b04b..8623150 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -7,7 +7,7 @@ import 'package:logger/logger.dart'; import 'package:provider/provider.dart'; import 'package:queuing_system/core/api.dart'; import 'package:queuing_system/home/app_provider.dart'; -import 'package:wakelock/wakelock.dart'; +import 'package:wakelock_plus/wakelock_plus.dart'; import 'core/config/size_config.dart'; import 'home/home_screen.dart'; @@ -23,7 +23,7 @@ void main() { //TODO: WE HAVE TO UPDATE THIS BEFORE GOING LIVE. HttpOverrides.global = MyHttpOverrides(); WidgetsFlutterBinding.ensureInitialized(); - Wakelock.enable(); + WakelockPlus.enable(); runApp(const MyApp()); } diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index 11ed84f..1ee4a21 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -1,4 +1,4 @@ -import 'package:connectivity/connectivity.dart'; +import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:queuing_system/core/config/size_config.dart'; class Utils { @@ -16,7 +16,7 @@ class Utils { } static Future checkConnection() async { - ConnectivityResult connectivityResult = await (Connectivity().checkConnectivity()); + List connectivityResult = await (Connectivity().checkConnectivity()); if ((connectivityResult == ConnectivityResult.mobile) || (connectivityResult == ConnectivityResult.wifi)) { return true; } else { diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index fda5d83..dbf44b3 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,19 +6,21 @@ import FlutterMacOS import Foundation import audio_session -import connectivity_macos +import connectivity_plus import flutter_tts import just_audio +import package_info_plus import path_provider_foundation import shared_preferences_foundation -import wakelock_macos +import wakelock_plus func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin")) - ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin")) + ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) FlutterTtsPlugin.register(with: registry.registrar(forPlugin: "FlutterTtsPlugin")) JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin")) + FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) - WakelockMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockMacosPlugin")) + WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin")) } diff --git a/pubspec.yaml b/pubspec.yaml index 385f42a..6f783bf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,22 +33,23 @@ dependencies: # Base packages provider: ^6.0.1 - get_it: ^7.1.3 - connectivity: ^3.0.6 + get_it: ^8.0.2 + connectivity_plus: ^6.1.0 # flutter_gifimage: ^1.0.1 - flutter_svg: ^1.0.3 - http: ^0.13.0 + flutter_svg: ^2.0.14 + http: ^1.2.2 blinking_text: ^1.0.2 - just_audio: 0.9.31 - flutter_tts: 3.6.3 + just_audio: ^0.9.42 + flutter_tts: ^4.1.0 # flutter_tts: ^4.0.2 - wakelock: ^0.6.2 + wakelock_plus: ^1.2.8 shared_preferences: ^2.2.1 #signalr core signalr_core: ^1.1.1 - intl: ^0.18.1 + intl: ^0.19.0 marquee: ^2.2.3 logger: ^2.4.0 + win32: ^5.8.0 @@ -61,7 +62,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^1.0.0 + flutter_lints: ^5.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 63d4407..661b0ef 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -6,9 +6,12 @@ #include "generated_plugin_registrant.h" +#include #include void RegisterPlugins(flutter::PluginRegistry* registry) { + ConnectivityPlusWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); FlutterTtsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterTtsPlugin")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 26bfe68..7363fb2 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + connectivity_plus flutter_tts )