From 3cb54ff4860e3eb9a05e0b7660725a4e874cba10 Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Mon, 19 Feb 2024 20:46:04 +0530 Subject: [PATCH 1/7] Bump up IOS version to 12 , added network interceptor in list_notices screen --- .../ios/Flutter/AppFrameworkInfo.plist | 2 +- noticeboard/ios/Podfile | 2 +- noticeboard/ios/Podfile.lock | 12 +++++++- .../ios/Runner.xcodeproj/project.pbxproj | 12 ++++---- noticeboard/ios/Runner/Runner.entitlements | 5 ++++ .../Firebase.build/dgph | Bin 0 -> 138 bytes .../FirebaseCore.build/dgph | Bin 0 -> 138 bytes .../FirebaseCoreInternal.build/dgph | Bin 0 -> 138 bytes .../FirebaseInstallations.build/dgph | Bin 0 -> 138 bytes .../FirebaseMessaging.build/dgph | Bin 0 -> 138 bytes .../Flutter.build/dgph | Bin 0 -> 138 bytes .../GoogleDataTransport.build/dgph | Bin 0 -> 138 bytes .../GoogleUtilities.build/dgph | Bin 0 -> 138 bytes .../Pods-Runner.build/dgph | Bin 0 -> 138 bytes .../PromisesObjC.build/dgph | Bin 0 -> 138 bytes .../firebase_core.build/dgph | Bin 0 -> 138 bytes .../firebase_messaging.build/dgph | Bin 0 -> 138 bytes .../flutter_secure_storage.build/dgph | Bin 0 -> 138 bytes .../Release-iphonesimulator/nanopb.build/dgph | Bin 0 -> 138 bytes .../path_provider_foundation.build/dgph | Bin 0 -> 138 bytes .../share_plus.build/dgph | Bin 0 -> 138 bytes .../uni_links.build/dgph | Bin 0 -> 138 bytes .../url_launcher_ios.build/dgph | Bin 0 -> 138 bytes .../webview_flutter_wkwebview.build/dgph | Bin 0 -> 138 bytes .../lib/bloc/connectivity_status_bloc.dart | 28 ++++++++++++++++++ .../lib/enum/connectivity_status_enum.dart | 4 +++ noticeboard/lib/global/global_functions.dart | 17 +++++++++++ noticeboard/lib/screens/list_notices.dart | 17 +++++++++-- 28 files changed, 88 insertions(+), 11 deletions(-) create mode 100644 noticeboard/ios/Runner/Runner.entitlements create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Firebase.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCoreInternal.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseInstallations.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseMessaging.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_core.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_messaging.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_secure_storage.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/nanopb.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/share_plus.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/uni_links.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph create mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph create mode 100644 noticeboard/lib/bloc/connectivity_status_bloc.dart create mode 100644 noticeboard/lib/enum/connectivity_status_enum.dart diff --git a/noticeboard/ios/Flutter/AppFrameworkInfo.plist b/noticeboard/ios/Flutter/AppFrameworkInfo.plist index f2872cf..4f8d4d2 100644 --- a/noticeboard/ios/Flutter/AppFrameworkInfo.plist +++ b/noticeboard/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 11.0 diff --git a/noticeboard/ios/Podfile b/noticeboard/ios/Podfile index 52cd522..e0da1a9 100644 --- a/noticeboard/ios/Podfile +++ b/noticeboard/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project - platform :ios, '10.0' + platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/noticeboard/ios/Podfile.lock b/noticeboard/ios/Podfile.lock index 161b93f..2f17c62 100644 --- a/noticeboard/ios/Podfile.lock +++ b/noticeboard/ios/Podfile.lock @@ -1,4 +1,7 @@ PODS: + - connectivity_plus (0.0.1): + - Flutter + - ReachabilitySwift - Firebase/CoreOnly (10.18.0): - FirebaseCore (= 10.18.0) - Firebase/Messaging (10.18.0): @@ -64,6 +67,7 @@ PODS: - Flutter - FlutterMacOS - PromisesObjC (2.3.1) + - ReachabilitySwift (5.0.0) - share_plus (0.0.1): - Flutter - uni_links (0.0.1): @@ -74,6 +78,7 @@ PODS: - Flutter DEPENDENCIES: + - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) @@ -95,8 +100,11 @@ SPEC REPOS: - GoogleUtilities - nanopb - PromisesObjC + - ReachabilitySwift EXTERNAL SOURCES: + connectivity_plus: + :path: ".symlinks/plugins/connectivity_plus/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" firebase_messaging: @@ -117,6 +125,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" SPEC CHECKSUMS: + connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5 firebase_messaging: 875385354f623750aa03204a028d640108bc3412 @@ -131,11 +140,12 @@ SPEC CHECKSUMS: nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 + ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f -PODFILE CHECKSUM: f3c6bbf2cd440a5be9eae241d089fc1e5c9e4ade +PODFILE CHECKSUM: 7b33e402635c950b38d380dc47108a3f46f265c2 COCOAPODS: 1.14.3 diff --git a/noticeboard/ios/Runner.xcodeproj/project.pbxproj b/noticeboard/ios/Runner.xcodeproj/project.pbxproj index a8ef9ee..7ed602f 100644 --- a/noticeboard/ios/Runner.xcodeproj/project.pbxproj +++ b/noticeboard/ios/Runner.xcodeproj/project.pbxproj @@ -346,7 +346,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; @@ -372,7 +372,7 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Noticeboard; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -436,7 +436,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; @@ -485,7 +485,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -512,7 +512,7 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Noticeboard; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -546,7 +546,7 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Noticeboard; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/noticeboard/ios/Runner/Runner.entitlements b/noticeboard/ios/Runner/Runner.entitlements new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/noticeboard/ios/Runner/Runner.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Firebase.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Firebase.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCoreInternal.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCoreInternal.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseInstallations.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseInstallations.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseMessaging.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseMessaging.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_core.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_core.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_messaging.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_messaging.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_secure_storage.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_secure_storage.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/nanopb.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/nanopb.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/share_plus.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/share_plus.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/uni_links.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/uni_links.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph new file mode 100644 index 0000000000000000000000000000000000000000..e5a6d17003fe03cea9ce61e2a42df1804abf1ff0 GIT binary patch literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ literal 0 HcmV?d00001 diff --git a/noticeboard/lib/bloc/connectivity_status_bloc.dart b/noticeboard/lib/bloc/connectivity_status_bloc.dart new file mode 100644 index 0000000..cbba732 --- /dev/null +++ b/noticeboard/lib/bloc/connectivity_status_bloc.dart @@ -0,0 +1,28 @@ +import 'dart:async'; +import 'package:flutter/material.dart'; +import 'package:noticeboard/enum/connectivity_status_enum.dart'; + +class ConnectivityStatusBloc { + late BuildContext context; + final _eventController = StreamController(); + StreamSink get eventSink => _eventController.sink; + Stream get _eventStream => _eventController.stream; + ConnectivityStatus previousResult = ConnectivityStatus.connected; + + final networkSnackBar = + const SnackBar(content: Text("Please check your internet connection!")); + final backOnlineSnackbar = const SnackBar(content: Text("Back online!")); + + ConnectivityStatusBloc() { + _eventStream.listen((connectivityEvent) { + if (connectivityEvent == ConnectivityStatus.notConnected && + previousResult == ConnectivityStatus.connected) { + ScaffoldMessenger.of(context).showSnackBar(networkSnackBar); + } else if (connectivityEvent == ConnectivityStatus.connected && + previousResult == ConnectivityStatus.notConnected) { + ScaffoldMessenger.of(context).showSnackBar(backOnlineSnackbar); + } + previousResult = connectivityEvent; + }); + } +} diff --git a/noticeboard/lib/enum/connectivity_status_enum.dart b/noticeboard/lib/enum/connectivity_status_enum.dart new file mode 100644 index 0000000..ed24270 --- /dev/null +++ b/noticeboard/lib/enum/connectivity_status_enum.dart @@ -0,0 +1,4 @@ +enum ConnectivityStatus{ + connected , + notConnected +} \ No newline at end of file diff --git a/noticeboard/lib/global/global_functions.dart b/noticeboard/lib/global/global_functions.dart index fdec8b1..792947a 100644 --- a/noticeboard/lib/global/global_functions.dart +++ b/noticeboard/lib/global/global_functions.dart @@ -1,6 +1,9 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:form_builder_validators/form_builder_validators.dart'; +import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/global/global_constants.dart'; import 'package:shimmer/shimmer.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; @@ -206,3 +209,17 @@ void showGenericError() { content: Text("Error!"), )); } + +Future checkConnectivityStatus() async { + try { + final result = await InternetAddress.lookup("www.example.com"); + if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) { + return ConnectivityStatus.connected; + } + else{ + return ConnectivityStatus.notConnected; + } + } catch (e) { + return ConnectivityStatus.notConnected; + } +} diff --git a/noticeboard/lib/screens/list_notices.dart b/noticeboard/lib/screens/list_notices.dart index ccd2b05..08713ab 100644 --- a/noticeboard/lib/screens/list_notices.dart +++ b/noticeboard/lib/screens/list_notices.dart @@ -1,6 +1,10 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:focused_menu/modals.dart'; +import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; +import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/models/filters_list.dart'; import 'package:noticeboard/models/notice_intro.dart'; import 'package:noticeboard/models/paginated_info.dart'; @@ -21,18 +25,27 @@ class ListNotices extends StatefulWidget { } class _ListNoticesState extends State { - final ListNoticesBloc _listNoticesBloc = ListNoticesBloc(); + final ListNoticesBloc _listNoticesBloc = ListNoticesBloc(); // search final AuthRepository _authRepository = AuthRepository(); - TextEditingController? _controller; // search + final ConnectivityStatusBloc _connectivityStatusBloc = + ConnectivityStatusBloc(); + TextEditingController? _controller; + late Timer _timer; @override void initState() { _controller = TextEditingController(); // search _listNoticesBloc.context = context; + _connectivityStatusBloc.context = context; _listNoticesBloc.listNoticeMetaData = widget.listNoticeMetaData; _controller!.addListener(_handleQueryChanges); _listNoticesBloc.dynamicFetch = widget.listNoticeMetaData!.dynamicFetch; _listNoticesBloc.dynamicFetchNotices(); + _timer = Timer.periodic(Duration(seconds: 10), (timer) async { + ConnectivityStatus connectivityStatus = await checkConnectivityStatus(); + _connectivityStatusBloc.eventSink.add(connectivityStatus); + print(connectivityStatus); + }); super.initState(); } From 8f492c2f1cae0f36667c426733890cae83eb4024 Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:43:48 +0530 Subject: [PATCH 2/7] Added network interceptor to all reqd widgets --- noticeboard/ios/Podfile.lock | 10 ---------- .../lib/bloc/connectivity_status_bloc.dart | 7 ++++++- noticeboard/lib/global/global_functions.dart | 16 ++++++++++++++-- noticeboard/lib/screens/bottom_navigation.dart | 10 ++++++++++ noticeboard/lib/screens/list_notices.dart | 7 ------- noticeboard/lib/screens/notice_detail.dart | 11 +++++++++-- noticeboard/lib/screens/profile.dart | 14 ++++++++++++-- 7 files changed, 51 insertions(+), 24 deletions(-) diff --git a/noticeboard/ios/Podfile.lock b/noticeboard/ios/Podfile.lock index 2f17c62..9fcd9a0 100644 --- a/noticeboard/ios/Podfile.lock +++ b/noticeboard/ios/Podfile.lock @@ -1,7 +1,4 @@ PODS: - - connectivity_plus (0.0.1): - - Flutter - - ReachabilitySwift - Firebase/CoreOnly (10.18.0): - FirebaseCore (= 10.18.0) - Firebase/Messaging (10.18.0): @@ -67,7 +64,6 @@ PODS: - Flutter - FlutterMacOS - PromisesObjC (2.3.1) - - ReachabilitySwift (5.0.0) - share_plus (0.0.1): - Flutter - uni_links (0.0.1): @@ -78,7 +74,6 @@ PODS: - Flutter DEPENDENCIES: - - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) @@ -100,11 +95,8 @@ SPEC REPOS: - GoogleUtilities - nanopb - PromisesObjC - - ReachabilitySwift EXTERNAL SOURCES: - connectivity_plus: - :path: ".symlinks/plugins/connectivity_plus/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" firebase_messaging: @@ -125,7 +117,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" SPEC CHECKSUMS: - connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5 firebase_messaging: 875385354f623750aa03204a028d640108bc3412 @@ -140,7 +131,6 @@ SPEC CHECKSUMS: nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 - ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b diff --git a/noticeboard/lib/bloc/connectivity_status_bloc.dart b/noticeboard/lib/bloc/connectivity_status_bloc.dart index cbba732..69658c5 100644 --- a/noticeboard/lib/bloc/connectivity_status_bloc.dart +++ b/noticeboard/lib/bloc/connectivity_status_bloc.dart @@ -9,11 +9,16 @@ class ConnectivityStatusBloc { Stream get _eventStream => _eventController.stream; ConnectivityStatus previousResult = ConnectivityStatus.connected; + static final ConnectivityStatusBloc _connectivityStatusBloc = + ConnectivityStatusBloc._(); + final networkSnackBar = const SnackBar(content: Text("Please check your internet connection!")); final backOnlineSnackbar = const SnackBar(content: Text("Back online!")); - ConnectivityStatusBloc() { + factory ConnectivityStatusBloc() => _connectivityStatusBloc; + + ConnectivityStatusBloc._() { _eventStream.listen((connectivityEvent) { if (connectivityEvent == ConnectivityStatus.notConnected && previousResult == ConnectivityStatus.connected) { diff --git a/noticeboard/lib/global/global_functions.dart b/noticeboard/lib/global/global_functions.dart index 792947a..5c31f09 100644 --- a/noticeboard/lib/global/global_functions.dart +++ b/noticeboard/lib/global/global_functions.dart @@ -1,8 +1,10 @@ +import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:form_builder_validators/form_builder_validators.dart'; +import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/global/global_constants.dart'; import 'package:shimmer/shimmer.dart'; @@ -215,11 +217,21 @@ Future checkConnectivityStatus() async { final result = await InternetAddress.lookup("www.example.com"); if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) { return ConnectivityStatus.connected; - } - else{ + } else { return ConnectivityStatus.notConnected; } } catch (e) { return ConnectivityStatus.notConnected; } } + +Timer addConnectivityStatusToSink(BuildContext context) { + final ConnectivityStatusBloc _connectivityStatusBloc = + ConnectivityStatusBloc(); + _connectivityStatusBloc.context = context; + Timer _timer = Timer.periodic(Duration(seconds: 15), (timer) async { + ConnectivityStatus connectivityStatus = await checkConnectivityStatus(); + _connectivityStatusBloc.eventSink.add(connectivityStatus); + }); + return _timer; +} diff --git a/noticeboard/lib/screens/bottom_navigation.dart b/noticeboard/lib/screens/bottom_navigation.dart index b3cae16..6cedc03 100644 --- a/noticeboard/lib/screens/bottom_navigation.dart +++ b/noticeboard/lib/screens/bottom_navigation.dart @@ -1,6 +1,8 @@ +import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:noticeboard/global/global_functions.dart'; import '../enum/dynamic_fetch_enum.dart'; import '../screens/list_notices.dart'; import '../models/notice_intro.dart'; @@ -14,6 +16,7 @@ class MyBottomNavigationBar extends StatefulWidget { class _MyBottomNavigationBarState extends State { BottomNavigatorBloc _bottomNavigatorBloc = BottomNavigatorBloc(); + late Timer _timer; final widgetOptions = [ ListNotices( listNoticeMetaData: ListNoticeMetaData( @@ -37,9 +40,16 @@ class _MyBottomNavigationBarState extends State { _bottomNavigatorBloc.indexSink.add(index); } + @override + void initState() { + _timer = addConnectivityStatusToSink(context); + super.initState(); + } + @override void dispose() { _bottomNavigatorBloc.disposeStreams(); + if (_timer.isActive) _timer.cancel(); super.dispose(); } diff --git a/noticeboard/lib/screens/list_notices.dart b/noticeboard/lib/screens/list_notices.dart index 08713ab..f670511 100644 --- a/noticeboard/lib/screens/list_notices.dart +++ b/noticeboard/lib/screens/list_notices.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:focused_menu/modals.dart'; import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; -import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/models/filters_list.dart'; import 'package:noticeboard/models/notice_intro.dart'; import 'package:noticeboard/models/paginated_info.dart'; @@ -30,7 +29,6 @@ class _ListNoticesState extends State { final ConnectivityStatusBloc _connectivityStatusBloc = ConnectivityStatusBloc(); TextEditingController? _controller; - late Timer _timer; @override void initState() { @@ -41,11 +39,6 @@ class _ListNoticesState extends State { _controller!.addListener(_handleQueryChanges); _listNoticesBloc.dynamicFetch = widget.listNoticeMetaData!.dynamicFetch; _listNoticesBloc.dynamicFetchNotices(); - _timer = Timer.periodic(Duration(seconds: 10), (timer) async { - ConnectivityStatus connectivityStatus = await checkConnectivityStatus(); - _connectivityStatusBloc.eventSink.add(connectivityStatus); - print(connectivityStatus); - }); super.initState(); } diff --git a/noticeboard/lib/screens/notice_detail.dart b/noticeboard/lib/screens/notice_detail.dart index e6c62c9..c8cc515 100644 --- a/noticeboard/lib/screens/notice_detail.dart +++ b/noticeboard/lib/screens/notice_detail.dart @@ -1,4 +1,7 @@ +import 'dart:async'; import 'dart:convert'; +import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; +import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/enum/notice_content_enum.dart'; import 'package:noticeboard/routes/routing_constants.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -21,23 +24,27 @@ class NoticeDetail extends StatefulWidget { class _NoticeDetailState extends State { final NoticeIntro? noticeIntro; _NoticeDetailState({this.noticeIntro}); - + final ConnectivityStatusBloc _connectivityStatusBloc = + ConnectivityStatusBloc(); NoticeContentBloc _noticeContentBloc = NoticeContentBloc(); bool pdfAlreadyOpened = false; + late Timer _timer; @override void initState() { _noticeContentBloc.context = context; + _connectivityStatusBloc.context = context; _noticeContentBloc.noticeIntro = widget.noticeIntro; _noticeContentBloc.starred = widget.noticeIntro!.starred; _noticeContentBloc.eventSink.add(NoticeContentEvents.fetchContent); + _timer = addConnectivityStatusToSink(context); super.initState(); } @override void dispose() { _noticeContentBloc.disposeStreams(); - + _timer.cancel(); super.dispose(); } diff --git a/noticeboard/lib/screens/profile.dart b/noticeboard/lib/screens/profile.dart index 5504f7a..25bf875 100644 --- a/noticeboard/lib/screens/profile.dart +++ b/noticeboard/lib/screens/profile.dart @@ -1,4 +1,8 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; +import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; +import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/global/global_constants.dart'; import 'package:noticeboard/global/global_functions.dart'; import 'package:noticeboard/models/user_profile.dart'; @@ -16,16 +20,21 @@ class Profile extends StatefulWidget { class _ProfileState extends State { final ProfileBloc _profileBloc = ProfileBloc(); final AuthRepository _authRepository = AuthRepository(); - + final ConnectivityStatusBloc _connectivityStatusBloc = + ConnectivityStatusBloc(); + late Timer _timer; @override void initState() { _profileBloc.context = context; + _connectivityStatusBloc.context = context; + _timer = addConnectivityStatusToSink(context); super.initState(); } @override void dispose() { _profileBloc.disposeStreams(); + _timer.cancel(); super.dispose(); } @@ -117,7 +126,8 @@ class _ProfileState extends State { 'Notification settings', ProfileEvents.notificationSettingsEvent), sizedBox(20.0), - buildMenuItem(aboutUsIcon, "About us", ProfileEvents.aboutUsEvent), + buildMenuItem( + aboutUsIcon, "About us", ProfileEvents.aboutUsEvent), sizedBox(20.0), buildMenuItem(logoutIcon, 'Logout', ProfileEvents.logoutEvent) ], From f690d652c70afa1a46a2f07bce68221f9aaf3d45 Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:45:00 +0530 Subject: [PATCH 3/7] Add Pranav to contributors.md --- CONTRIBUTORS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 1eded78..490ca1a 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,3 +1,4 @@ - [@Sparsh1212](https://github.com/Sparsh1212) - [@just-ary27](https://github.com/just-ary27) -- [@kmrinal19](https://github.com/kmrinal19) \ No newline at end of file +- [@kmrinal19](https://github.com/kmrinal19) +- [@pranavkonidena](https://github.com/pranavkonidena) \ No newline at end of file From 41b0d4da6a43a768c68c680e19e0a2b04f885d7e Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:00:57 +0530 Subject: [PATCH 4/7] Added root context to the stream so that it is always mounted --- noticeboard/lib/bloc/connectivity_status_bloc.dart | 6 +++--- noticeboard/lib/global/global_functions.dart | 3 +-- noticeboard/lib/main.dart | 3 +++ noticeboard/lib/screens/bottom_navigation.dart | 2 +- noticeboard/lib/screens/notice_detail.dart | 7 +++++-- noticeboard/lib/screens/profile.dart | 7 +++++-- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/noticeboard/lib/bloc/connectivity_status_bloc.dart b/noticeboard/lib/bloc/connectivity_status_bloc.dart index 69658c5..773df1c 100644 --- a/noticeboard/lib/bloc/connectivity_status_bloc.dart +++ b/noticeboard/lib/bloc/connectivity_status_bloc.dart @@ -17,14 +17,14 @@ class ConnectivityStatusBloc { final backOnlineSnackbar = const SnackBar(content: Text("Back online!")); factory ConnectivityStatusBloc() => _connectivityStatusBloc; - + ConnectivityStatusBloc._() { _eventStream.listen((connectivityEvent) { if (connectivityEvent == ConnectivityStatus.notConnected && - previousResult == ConnectivityStatus.connected) { + previousResult == ConnectivityStatus.connected && context.mounted) { ScaffoldMessenger.of(context).showSnackBar(networkSnackBar); } else if (connectivityEvent == ConnectivityStatus.connected && - previousResult == ConnectivityStatus.notConnected) { + previousResult == ConnectivityStatus.notConnected && context.mounted) { ScaffoldMessenger.of(context).showSnackBar(backOnlineSnackbar); } previousResult = connectivityEvent; diff --git a/noticeboard/lib/global/global_functions.dart b/noticeboard/lib/global/global_functions.dart index 5c31f09..00cb984 100644 --- a/noticeboard/lib/global/global_functions.dart +++ b/noticeboard/lib/global/global_functions.dart @@ -225,10 +225,9 @@ Future checkConnectivityStatus() async { } } -Timer addConnectivityStatusToSink(BuildContext context) { +Timer addConnectivityStatusToSink() { final ConnectivityStatusBloc _connectivityStatusBloc = ConnectivityStatusBloc(); - _connectivityStatusBloc.context = context; Timer _timer = Timer.periodic(Duration(seconds: 15), (timer) async { ConnectivityStatus connectivityStatus = await checkConnectivityStatus(); _connectivityStatusBloc.eventSink.add(connectivityStatus); diff --git a/noticeboard/lib/main.dart b/noticeboard/lib/main.dart index 6d9aee2..85e3a58 100644 --- a/noticeboard/lib/main.dart +++ b/noticeboard/lib/main.dart @@ -1,5 +1,6 @@ import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; +import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; import './routes/routing_constants.dart'; import './routes/routing.dart'; import 'global/global_constants.dart'; @@ -19,6 +20,8 @@ class _MyAppState extends State { // This widget is the root of your application. @override void initState() { + ConnectivityStatusBloc _connectivityStatusBloc = ConnectivityStatusBloc(); + _connectivityStatusBloc.context = context; super.initState(); } diff --git a/noticeboard/lib/screens/bottom_navigation.dart b/noticeboard/lib/screens/bottom_navigation.dart index 6cedc03..65642e0 100644 --- a/noticeboard/lib/screens/bottom_navigation.dart +++ b/noticeboard/lib/screens/bottom_navigation.dart @@ -42,7 +42,7 @@ class _MyBottomNavigationBarState extends State { @override void initState() { - _timer = addConnectivityStatusToSink(context); + _timer = addConnectivityStatusToSink(); super.initState(); } diff --git a/noticeboard/lib/screens/notice_detail.dart b/noticeboard/lib/screens/notice_detail.dart index c8cc515..3dd60cb 100644 --- a/noticeboard/lib/screens/notice_detail.dart +++ b/noticeboard/lib/screens/notice_detail.dart @@ -37,14 +37,17 @@ class _NoticeDetailState extends State { _noticeContentBloc.noticeIntro = widget.noticeIntro; _noticeContentBloc.starred = widget.noticeIntro!.starred; _noticeContentBloc.eventSink.add(NoticeContentEvents.fetchContent); - _timer = addConnectivityStatusToSink(context); + _timer = addConnectivityStatusToSink(); super.initState(); } @override void dispose() { _noticeContentBloc.disposeStreams(); - _timer.cancel(); + if(_timer.isActive){ + _timer.cancel(); + } + super.dispose(); } diff --git a/noticeboard/lib/screens/profile.dart b/noticeboard/lib/screens/profile.dart index 25bf875..33d5a50 100644 --- a/noticeboard/lib/screens/profile.dart +++ b/noticeboard/lib/screens/profile.dart @@ -27,14 +27,17 @@ class _ProfileState extends State { void initState() { _profileBloc.context = context; _connectivityStatusBloc.context = context; - _timer = addConnectivityStatusToSink(context); + _timer = addConnectivityStatusToSink(); super.initState(); } @override void dispose() { _profileBloc.disposeStreams(); - _timer.cancel(); + if(_timer.isActive){ + _timer.cancel(); + } + super.dispose(); } From 44c9c921d15b8b4aa1493fd6227ab4620718ab03 Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Thu, 22 Feb 2024 06:33:36 +0530 Subject: [PATCH 5/7] Fix flutter analyze, removed deprecated willpopscope --- .../lib/bloc/connectivity_status_bloc.dart | 10 ++++++++-- noticeboard/lib/bloc/list_notices_bloc.dart | 1 - noticeboard/lib/routes/routing.dart | 1 - noticeboard/lib/screens/bottom_navigation.dart | 10 ++++++---- noticeboard/lib/screens/filters.dart | 2 +- noticeboard/lib/screens/launching.dart | 1 - noticeboard/lib/screens/notice_detail.dart | 17 ++++++++++------- noticeboard/lib/screens/profile.dart | 1 - 8 files changed, 25 insertions(+), 18 deletions(-) diff --git a/noticeboard/lib/bloc/connectivity_status_bloc.dart b/noticeboard/lib/bloc/connectivity_status_bloc.dart index 773df1c..83b7d4f 100644 --- a/noticeboard/lib/bloc/connectivity_status_bloc.dart +++ b/noticeboard/lib/bloc/connectivity_status_bloc.dart @@ -21,13 +21,19 @@ class ConnectivityStatusBloc { ConnectivityStatusBloc._() { _eventStream.listen((connectivityEvent) { if (connectivityEvent == ConnectivityStatus.notConnected && - previousResult == ConnectivityStatus.connected && context.mounted) { + previousResult == ConnectivityStatus.connected && + context.mounted) { ScaffoldMessenger.of(context).showSnackBar(networkSnackBar); } else if (connectivityEvent == ConnectivityStatus.connected && - previousResult == ConnectivityStatus.notConnected && context.mounted) { + previousResult == ConnectivityStatus.notConnected && + context.mounted) { ScaffoldMessenger.of(context).showSnackBar(backOnlineSnackbar); } previousResult = connectivityEvent; }); } + + void disposeStream() { + _eventController.close(); + } } diff --git a/noticeboard/lib/bloc/list_notices_bloc.dart b/noticeboard/lib/bloc/list_notices_bloc.dart index 7bd82e7..3194a88 100644 --- a/noticeboard/lib/bloc/list_notices_bloc.dart +++ b/noticeboard/lib/bloc/list_notices_bloc.dart @@ -314,7 +314,6 @@ class ListNoticesBloc { DynamicFetch.fetchInstituteNotices) filterResult.endpoint = 'api/noticeboard/institute_notices/?start=${filterResult.startDate}&end=${filterResult.endDate}'; - // TODO: Add the if condition for Institute Notices case } PaginatedInfo paginatedInfo = await _listNoticesRepository .fetchFilteredNotices(filterResult.endpoint!, page); diff --git a/noticeboard/lib/routes/routing.dart b/noticeboard/lib/routes/routing.dart index 7248c2c..a90246e 100644 --- a/noticeboard/lib/routes/routing.dart +++ b/noticeboard/lib/routes/routing.dart @@ -6,7 +6,6 @@ import './routing_constants.dart'; import '../screens/login.dart'; import '../screens/list_notices.dart'; import '../screens/launching.dart'; -import '../models/notice_intro.dart'; import '../screens/notice_detail.dart'; class MyRouter { diff --git a/noticeboard/lib/screens/bottom_navigation.dart b/noticeboard/lib/screens/bottom_navigation.dart index 65642e0..bc62cdc 100644 --- a/noticeboard/lib/screens/bottom_navigation.dart +++ b/noticeboard/lib/screens/bottom_navigation.dart @@ -55,16 +55,18 @@ class _MyBottomNavigationBarState extends State { @override Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: false, + onPopInvoked: (didPop) async { + if (didPop) { + return; + } await Future.delayed( Duration(milliseconds: 500), ); if (Platform.isAndroid) { SystemNavigator.pop(); - return true; } else { - return false; } }, child: StreamBuilder( diff --git a/noticeboard/lib/screens/filters.dart b/noticeboard/lib/screens/filters.dart index c598264..72fefdd 100644 --- a/noticeboard/lib/screens/filters.dart +++ b/noticeboard/lib/screens/filters.dart @@ -55,7 +55,7 @@ class _FiltersState extends State { child: GestureDetector( onTap: () { _filtersBloc.eventSink.add(FilterEvents.resetGlobalSlug); - WidgetsBinding.instance!.addPostFrameCallback((time) { + WidgetsBinding.instance.addPostFrameCallback((time) { onFilterClear(); }); }, diff --git a/noticeboard/lib/screens/launching.dart b/noticeboard/lib/screens/launching.dart index 7a858d9..3f434ce 100644 --- a/noticeboard/lib/screens/launching.dart +++ b/noticeboard/lib/screens/launching.dart @@ -12,7 +12,6 @@ import '../models/notice_intro.dart'; import '../services/api_service/api_service.dart'; import '../services/auth/auth_repository.dart'; import '../global/global_functions.dart'; -import '../styles/launching_constants.dart'; import '../styles/login_constants.dart'; class Launcher extends StatefulWidget { diff --git a/noticeboard/lib/screens/notice_detail.dart b/noticeboard/lib/screens/notice_detail.dart index 3dd60cb..8720dc1 100644 --- a/noticeboard/lib/screens/notice_detail.dart +++ b/noticeboard/lib/screens/notice_detail.dart @@ -1,7 +1,6 @@ import 'dart:async'; import 'dart:convert'; import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; -import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/enum/notice_content_enum.dart'; import 'package:noticeboard/routes/routing_constants.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -23,6 +22,7 @@ class NoticeDetail extends StatefulWidget { class _NoticeDetailState extends State { final NoticeIntro? noticeIntro; + // ignore: unused_element _NoticeDetailState({this.noticeIntro}); final ConnectivityStatusBloc _connectivityStatusBloc = ConnectivityStatusBloc(); @@ -44,10 +44,10 @@ class _NoticeDetailState extends State { @override void dispose() { _noticeContentBloc.disposeStreams(); - if(_timer.isActive){ - _timer.cancel(); + if (_timer.isActive) { + _timer.cancel(); } - + super.dispose(); } @@ -92,15 +92,18 @@ class _NoticeDetailState extends State { } } }, - child: WillPopScope( - onWillPop: () async { + child: PopScope( + canPop: false, + onPopInvoked: (didPop) async { + if (didPop) { + return; + } if (previousRoute == launchingRoute) { navigatorKey.currentState! .pushReplacementNamed(bottomNavigationRoute); } else { navigatorKey.currentState!.pop(); } - return false; }, child: Container( width: _width, diff --git a/noticeboard/lib/screens/profile.dart b/noticeboard/lib/screens/profile.dart index 33d5a50..6b124f5 100644 --- a/noticeboard/lib/screens/profile.dart +++ b/noticeboard/lib/screens/profile.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; -import 'package:noticeboard/enum/connectivity_status_enum.dart'; import 'package:noticeboard/global/global_constants.dart'; import 'package:noticeboard/global/global_functions.dart'; import 'package:noticeboard/models/user_profile.dart'; From 72b2a38bf3054120615c2d807f8016ef2ffb3fa0 Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Mon, 26 Feb 2024 13:43:25 +0530 Subject: [PATCH 6/7] Added dynamic fetch when back online All changes are as follows: I have updated the web view flutter package to 4.7.0 and upgraded flutter version to 3.19 because reloading the webview requires a webview controller, also added another stream for this purpose --- .../ios/Flutter/AppFrameworkInfo.plist | 2 +- noticeboard/ios/Podfile.lock | 12 ++-- .../ios/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../lib/bloc/connectivity_status_bloc.dart | 16 ++++- noticeboard/lib/bloc/notice_detail_bloc.dart | 12 ++++ noticeboard/lib/enum/current_widget_enum.dart | 4 ++ noticeboard/lib/screens/list_notices.dart | 9 +++ noticeboard/lib/screens/notice_detail.dart | 68 +++++++++++-------- noticeboard/pubspec.yaml | 2 +- 10 files changed, 87 insertions(+), 42 deletions(-) create mode 100644 noticeboard/lib/bloc/notice_detail_bloc.dart create mode 100644 noticeboard/lib/enum/current_widget_enum.dart diff --git a/noticeboard/ios/Flutter/AppFrameworkInfo.plist b/noticeboard/ios/Flutter/AppFrameworkInfo.plist index 4f8d4d2..8c6e561 100644 --- a/noticeboard/ios/Flutter/AppFrameworkInfo.plist +++ b/noticeboard/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/noticeboard/ios/Podfile.lock b/noticeboard/ios/Podfile.lock index 9fcd9a0..34c0a76 100644 --- a/noticeboard/ios/Podfile.lock +++ b/noticeboard/ios/Podfile.lock @@ -7,7 +7,7 @@ PODS: - firebase_core (2.24.2): - Firebase/CoreOnly (= 10.18.0) - Flutter - - firebase_messaging (14.7.9): + - firebase_messaging (14.7.10): - Firebase/Messaging (= 10.18.0) - firebase_core - Flutter @@ -119,22 +119,22 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5 - firebase_messaging: 875385354f623750aa03204a028d640108bc3412 + firebase_messaging: 90e8a6db84b6e1e876cebce4f30f01dc495e7014 FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f FirebaseCoreInternal: b444828ea7cfd594fca83046b95db98a2be4f290 FirebaseInstallations: 033d199474164db20c8350736842a94fe717b960 FirebaseMessaging: 9bc34a98d2e0237e1b121915120d4d48ddcf301e - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be GoogleDataTransport: 57c22343ab29bc686febbf7cbb13bad167c2d8fe GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a - url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b - webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f + url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 + webview_flutter_wkwebview: be0f0d33777f1bfd0c9fdcb594786704dbf65f36 PODFILE CHECKSUM: 7b33e402635c950b38d380dc47108a3f46f265c2 diff --git a/noticeboard/ios/Runner.xcodeproj/project.pbxproj b/noticeboard/ios/Runner.xcodeproj/project.pbxproj index 7ed602f..7999777 100644 --- a/noticeboard/ios/Runner.xcodeproj/project.pbxproj +++ b/noticeboard/ios/Runner.xcodeproj/project.pbxproj @@ -158,7 +158,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { diff --git a/noticeboard/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/noticeboard/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index a6b826d..5e31d3d 100644 --- a/noticeboard/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/noticeboard/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ (); + late CurrentWidget currentWidget; + final _eventController = StreamController.broadcast(); StreamSink get eventSink => _eventController.sink; Stream get _eventStream => _eventController.stream; ConnectivityStatus previousResult = ConnectivityStatus.connected; @@ -17,6 +20,7 @@ class ConnectivityStatusBloc { final backOnlineSnackbar = const SnackBar(content: Text("Back online!")); factory ConnectivityStatusBloc() => _connectivityStatusBloc; + final NoticeDetailBloc _noticeDetailBloc = NoticeDetailBloc(); ConnectivityStatusBloc._() { _eventStream.listen((connectivityEvent) { @@ -25,9 +29,15 @@ class ConnectivityStatusBloc { context.mounted) { ScaffoldMessenger.of(context).showSnackBar(networkSnackBar); } else if (connectivityEvent == ConnectivityStatus.connected && - previousResult == ConnectivityStatus.notConnected && - context.mounted) { + previousResult == ConnectivityStatus.notConnected) { ScaffoldMessenger.of(context).showSnackBar(backOnlineSnackbar); + if (currentWidget == CurrentWidget.noticeDetail) { + // Add an event in the sink so that notice detail webview can be refetched + _noticeDetailBloc.eventSink.add(CurrentWidget.noticeDetail); + } else { + // User is on list of notices , refetch them + _noticeDetailBloc.eventSink.add(CurrentWidget.listNotices); + } } previousResult = connectivityEvent; }); diff --git a/noticeboard/lib/bloc/notice_detail_bloc.dart b/noticeboard/lib/bloc/notice_detail_bloc.dart new file mode 100644 index 0000000..eb2ed12 --- /dev/null +++ b/noticeboard/lib/bloc/notice_detail_bloc.dart @@ -0,0 +1,12 @@ +import 'dart:async'; + +import 'package:noticeboard/enum/current_widget_enum.dart'; + +class NoticeDetailBloc { + final _eventController = StreamController.broadcast(); + StreamSink get eventSink => _eventController.sink; + Stream get eventStream => _eventController.stream; + static final NoticeDetailBloc _noticeDetailBloc = NoticeDetailBloc._(); + factory NoticeDetailBloc() => _noticeDetailBloc; + NoticeDetailBloc._(); +} diff --git a/noticeboard/lib/enum/current_widget_enum.dart b/noticeboard/lib/enum/current_widget_enum.dart new file mode 100644 index 0000000..db95866 --- /dev/null +++ b/noticeboard/lib/enum/current_widget_enum.dart @@ -0,0 +1,4 @@ +enum CurrentWidget { + listNotices, + noticeDetail +} \ No newline at end of file diff --git a/noticeboard/lib/screens/list_notices.dart b/noticeboard/lib/screens/list_notices.dart index f670511..56005c5 100644 --- a/noticeboard/lib/screens/list_notices.dart +++ b/noticeboard/lib/screens/list_notices.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:focused_menu/modals.dart'; import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; +import 'package:noticeboard/bloc/notice_detail_bloc.dart'; +import 'package:noticeboard/enum/current_widget_enum.dart'; import 'package:noticeboard/models/filters_list.dart'; import 'package:noticeboard/models/notice_intro.dart'; import 'package:noticeboard/models/paginated_info.dart'; @@ -26,6 +28,7 @@ class ListNotices extends StatefulWidget { class _ListNoticesState extends State { final ListNoticesBloc _listNoticesBloc = ListNoticesBloc(); // search final AuthRepository _authRepository = AuthRepository(); + final NoticeDetailBloc _noticeDetailBloc = NoticeDetailBloc(); final ConnectivityStatusBloc _connectivityStatusBloc = ConnectivityStatusBloc(); TextEditingController? _controller; @@ -35,10 +38,16 @@ class _ListNoticesState extends State { _controller = TextEditingController(); // search _listNoticesBloc.context = context; _connectivityStatusBloc.context = context; + _connectivityStatusBloc.currentWidget = CurrentWidget.listNotices; _listNoticesBloc.listNoticeMetaData = widget.listNoticeMetaData; _controller!.addListener(_handleQueryChanges); _listNoticesBloc.dynamicFetch = widget.listNoticeMetaData!.dynamicFetch; _listNoticesBloc.dynamicFetchNotices(); + _noticeDetailBloc.eventStream.asBroadcastStream().listen((currentWidget) { + if (currentWidget == CurrentWidget.listNotices) { + _listNoticesBloc.dynamicFetchNotices(); + } + }); super.initState(); } diff --git a/noticeboard/lib/screens/notice_detail.dart b/noticeboard/lib/screens/notice_detail.dart index 8720dc1..ac7c23d 100644 --- a/noticeboard/lib/screens/notice_detail.dart +++ b/noticeboard/lib/screens/notice_detail.dart @@ -1,6 +1,9 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:io'; import 'package:noticeboard/bloc/connectivity_status_bloc.dart'; +import 'package:noticeboard/bloc/notice_detail_bloc.dart'; +import 'package:noticeboard/enum/current_widget_enum.dart'; import 'package:noticeboard/enum/notice_content_enum.dart'; import 'package:noticeboard/routes/routing_constants.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -27,6 +30,8 @@ class _NoticeDetailState extends State { final ConnectivityStatusBloc _connectivityStatusBloc = ConnectivityStatusBloc(); NoticeContentBloc _noticeContentBloc = NoticeContentBloc(); + WebViewController _webViewController = WebViewController(); + NoticeDetailBloc _noticeDetailBloc = NoticeDetailBloc(); bool pdfAlreadyOpened = false; late Timer _timer; @@ -34,10 +39,17 @@ class _NoticeDetailState extends State { void initState() { _noticeContentBloc.context = context; _connectivityStatusBloc.context = context; + _connectivityStatusBloc.currentWidget = CurrentWidget.noticeDetail; _noticeContentBloc.noticeIntro = widget.noticeIntro; _noticeContentBloc.starred = widget.noticeIntro!.starred; _noticeContentBloc.eventSink.add(NoticeContentEvents.fetchContent); _timer = addConnectivityStatusToSink(); + _noticeDetailBloc.eventStream.listen((event) { + if (event == CurrentWidget.noticeDetail) { + _noticeContentBloc.eventSink.add(NoticeContentEvents.fetchContent); + _webViewController.reload(); + } + }); super.initState(); } @@ -82,7 +94,7 @@ class _NoticeDetailState extends State { child: GestureDetector( onPanUpdate: (details) { // Can swipe anywhere and detects left swipe - if (details.delta.dx < 0) { + if (details.delta.dx < 0 && Platform.isIOS) { debugPrint("Left swipe occoured!"); if (previousRoute == launchingRoute) { navigatorKey.currentState! @@ -111,7 +123,7 @@ class _NoticeDetailState extends State { child: Column( children: [ buildNoticeIntro(_width), - buildNoticeContent(_width) + buildNoticeContent(_width), ], ), ), @@ -148,35 +160,33 @@ class _NoticeDetailState extends State { mimeType: 'text/html', encoding: Encoding.getByName('utf-8'), ); - return Container( - padding: EdgeInsets.all(10.0), - child: WebView( - initialUrl: uri.toString(), - zoomEnabled: true, - javascriptMode: JavascriptMode.unrestricted, - allowsInlineMediaPlayback: true, - navigationDelegate: (navigation) async { - print(navigation.url); - if (navigation.url.endsWith("pdf") && !pdfAlreadyOpened) { - if (await canLaunchUrlString(navigation.url)) { - String newUrl = - "https://docs.google.com/gview?embedded=true&url=${navigation.url}"; - await launchUrlString(newUrl); - } + _webViewController + ..enableZoom(true) + ..setJavaScriptMode(JavaScriptMode.unrestricted) + ..setNavigationDelegate( + NavigationDelegate(onNavigationRequest: (navigation) async { + if (navigation.url.endsWith("pdf") && !pdfAlreadyOpened) { + if (await canLaunchUrlString(navigation.url)) { + String newUrl = + "https://docs.google.com/gview?embedded=true&url=${navigation.url}"; + await launchUrlString(newUrl); + } + return NavigationDecision.prevent; + } else { + if (await canLaunchUrlString(navigation.url)) { + await launchUrlString( + navigation.url, + mode: LaunchMode.externalApplication, + ); return NavigationDecision.prevent; - } else { - if (await canLaunchUrlString(navigation.url)) { - await launchUrlString( - navigation.url, - mode: LaunchMode.externalApplication, - ); - return NavigationDecision.prevent; - } } - return NavigationDecision.navigate; - }, - ), - ); + } + return NavigationDecision.navigate; + })) + ..loadRequest(uri); + return Container( + padding: EdgeInsets.all(10.0), + child: WebViewWidget(controller: _webViewController)); } Container buildNoticeIntro(double _width) { diff --git a/noticeboard/pubspec.yaml b/noticeboard/pubspec.yaml index 0e602e6..01c8181 100644 --- a/noticeboard/pubspec.yaml +++ b/noticeboard/pubspec.yaml @@ -38,7 +38,7 @@ dependencies: flutter_form_builder: ^9.1.1 firebase_core: ^2.24.2 firebase_messaging: ^14.7.9 - webview_flutter: ^3.0.4 + webview_flutter: ^4.7.0 uni_links: ^0.5.1 form_builder_validators: ^9.1.0 From 63b777052e93da87066437bf0d04371fa436b268 Mon Sep 17 00:00:00 2001 From: Pranav <122373207+pranavkonidena@users.noreply.github.com> Date: Tue, 27 Feb 2024 11:00:07 +0530 Subject: [PATCH 7/7] Added EOF in enums, removed build files --- noticeboard/ios/.gitignore | 1 + .../Release-iphonesimulator/Firebase.build/dgph | Bin 138 -> 0 bytes .../FirebaseCore.build/dgph | Bin 138 -> 0 bytes .../FirebaseCoreInternal.build/dgph | Bin 138 -> 0 bytes .../FirebaseInstallations.build/dgph | Bin 138 -> 0 bytes .../FirebaseMessaging.build/dgph | Bin 138 -> 0 bytes .../Release-iphonesimulator/Flutter.build/dgph | Bin 138 -> 0 bytes .../GoogleDataTransport.build/dgph | Bin 138 -> 0 bytes .../GoogleUtilities.build/dgph | Bin 138 -> 0 bytes .../Pods-Runner.build/dgph | Bin 138 -> 0 bytes .../PromisesObjC.build/dgph | Bin 138 -> 0 bytes .../firebase_core.build/dgph | Bin 138 -> 0 bytes .../firebase_messaging.build/dgph | Bin 138 -> 0 bytes .../flutter_secure_storage.build/dgph | Bin 138 -> 0 bytes .../Release-iphonesimulator/nanopb.build/dgph | Bin 138 -> 0 bytes .../path_provider_foundation.build/dgph | Bin 138 -> 0 bytes .../Release-iphonesimulator/share_plus.build/dgph | Bin 138 -> 0 bytes .../Release-iphonesimulator/uni_links.build/dgph | Bin 138 -> 0 bytes .../url_launcher_ios.build/dgph | Bin 138 -> 0 bytes .../webview_flutter_wkwebview.build/dgph | Bin 138 -> 0 bytes .../lib/enum/connectivity_status_enum.dart | 2 +- noticeboard/lib/enum/current_widget_enum.dart | 2 +- 22 files changed, 3 insertions(+), 2 deletions(-) delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Firebase.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCoreInternal.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseInstallations.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseMessaging.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_core.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_messaging.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_secure_storage.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/nanopb.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/share_plus.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/uni_links.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph delete mode 100644 noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph diff --git a/noticeboard/ios/.gitignore b/noticeboard/ios/.gitignore index e96ef60..9a29ebd 100644 --- a/noticeboard/ios/.gitignore +++ b/noticeboard/ios/.gitignore @@ -24,6 +24,7 @@ Flutter/flutter_assets/ Flutter/flutter_export_environment.sh ServiceDefinitions.json Runner/GeneratedPluginRegistrant.* +build/ # Exceptions to above rules. !default.mode1v3 diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Firebase.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Firebase.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCoreInternal.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseCoreInternal.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseInstallations.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseInstallations.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseMessaging.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/FirebaseMessaging.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_core.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_core.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_messaging.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/firebase_messaging.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_secure_storage.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_secure_storage.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/nanopb.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/nanopb.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/share_plus.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/share_plus.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/uni_links.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/uni_links.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph b/noticeboard/ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph deleted file mode 100644 index e5a6d17003fe03cea9ce61e2a42df1804abf1ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ>95AZP5Gce(HNljKzFjp`#Ff!&aFtai>w=%ZiVqjp@XJBLvElw>eW?c}U}kqoEzT~uTEqYV1nVO{ diff --git a/noticeboard/lib/enum/connectivity_status_enum.dart b/noticeboard/lib/enum/connectivity_status_enum.dart index ed24270..8802e2f 100644 --- a/noticeboard/lib/enum/connectivity_status_enum.dart +++ b/noticeboard/lib/enum/connectivity_status_enum.dart @@ -1,4 +1,4 @@ enum ConnectivityStatus{ connected , notConnected -} \ No newline at end of file +} diff --git a/noticeboard/lib/enum/current_widget_enum.dart b/noticeboard/lib/enum/current_widget_enum.dart index db95866..12268fd 100644 --- a/noticeboard/lib/enum/current_widget_enum.dart +++ b/noticeboard/lib/enum/current_widget_enum.dart @@ -1,4 +1,4 @@ enum CurrentWidget { listNotices, noticeDetail -} \ No newline at end of file +}