diff --git a/android/app/build.gradle b/android/app/build.gradle index 42d036a..ce9405a 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) { } android { - compileSdkVersion 33 + compileSdkVersion 34 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -51,7 +51,8 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.viewus.v_notes" minSdkVersion 21 - targetSdkVersion 33 + targetSdkVersion 34 + multiDexEnabled true versionCode flutterVersionCode.toInteger() versionName flutterVersionName } @@ -84,5 +85,7 @@ flutter { } dependencies { + def multidex_version = "2.0.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "androidx.multidex:multidex:$multidex_version" } diff --git a/android/build.gradle b/android/build.gradle index ec78e29..7c84683 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,10 +4,12 @@ buildscript { google() mavenCentral() jcenter() + maven { url 'https://plugins.gradle.org/m2/' } } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' +// classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -17,6 +19,7 @@ allprojects { google() mavenCentral() jcenter() + maven { url 'https://plugins.gradle.org/m2/' } } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 939efa2..2b7927a 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Fri Jun 23 08:50:38 CEST 2017 +#Mon Mar 07 11:00:26 WAT 2022 distributionBase=GRADLE_USER_HOME +#distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip +zipStoreBase=GRADLE_USER_HOME \ No newline at end of file diff --git a/lib/app/screens/home.dart b/lib/app/screens/home.dart index 8eb36d2..ea2cfa3 100644 --- a/lib/app/screens/home.dart +++ b/lib/app/screens/home.dart @@ -6,7 +6,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:hive/hive.dart'; import 'package:hive_flutter/hive_flutter.dart'; -import 'package:new_version/new_version.dart'; import 'package:note_app/app/screens/local_notes/local_notes.dart'; import 'package:note_app/app/screens/notifications/notifications_view.dart'; import 'package:note_app/app/screens/settings_screen.dart'; @@ -15,7 +14,6 @@ import 'package:note_app/models/note_model.dart'; import 'package:note_app/providers/theme_provider.dart'; import 'package:note_app/utils/greetings.dart'; import 'package:note_app/utils/slide_transition.dart'; -import 'package:onesignal_flutter/onesignal_flutter.dart'; import 'package:provider/provider.dart'; import 'local_notes/create_note_screen.dart'; @@ -34,30 +32,10 @@ class _HomeScreenState extends State { void initState() { super.initState(); storeData = Hive.box(noteBox); - initPlatformState(); - _checkVersion(); + // initPlatformState(); } - void _checkVersion() async { - final newVersion = NewVersion( - androidId: androidID, - ); - final status = await newVersion.getVersionStatus(); - if (status!.canUpdate) { - if(mounted) { - newVersion.showUpdateDialog( - context: context, - versionStatus: status, - dialogTitle: dialogTitle, - dialogText: dialogText, - updateButtonText: 'Update now', - dismissButtonText: 'Maybe Later', - ); - } - } - } - - static const String oneSignalAppId = 'e41ee34c-a2e9-4345-aa95-078b223419b3'; + // static const String oneSignalAppId = 'e41ee34c-a2e9-4345-aa95-078b223419b3'; @override Widget build(BuildContext context) { @@ -216,50 +194,50 @@ class _HomeScreenState extends State { ); } - Future initPlatformState() async { - if (!mounted) return; - - OneSignal.shared.setAppId(oneSignalAppId); - - OneSignal.shared - .setNotificationOpenedHandler((OSNotificationOpenedResult result) { - logger.i(result.notification.body); - Navigator.of(context).push(MaterialPageRoute(builder: (_) { - return NotificationView( - title: result.notification.title, - body: result.notification.body, - ); - })); - // push to another screen. - }); - - OneSignal.shared.setNotificationWillShowInForegroundHandler( - (OSNotificationReceivedEvent event) { - logger.i(event.notification.body); - // push to another screen - Navigator.of(context).push(MaterialPageRoute(builder: (_) { - return NotificationView( - title: event.notification.title, - body: event.notification.body, - ); - })); - - /// Display Notification, send null to not display - event.complete(null); - }); - - if (Platform.isIOS) { - OneSignal.shared - .setPermissionObserver((OSPermissionStateChanges changes) { - logger.i("PERMISSION STATE CHANGED: ${changes.jsonRepresentation()}"); - }); - - OneSignal.shared - .promptUserForPushNotificationPermission() - .then((accepted) { - logger.i("Accepted permission: $accepted"); - }); - } - } + // Future initPlatformState() async { + // if (!mounted) return; + // + // OneSignal.shared.setAppId(oneSignalAppId); + // + // OneSignal.shared + // .setNotificationOpenedHandler((OSNotificationOpenedResult result) { + // logger.i(result.notification.body); + // Navigator.of(context).push(MaterialPageRoute(builder: (_) { + // return NotificationView( + // title: result.notification.title, + // body: result.notification.body, + // ); + // })); + // // push to another screen. + // }); + // + // OneSignal.shared.setNotificationWillShowInForegroundHandler( + // (OSNotificationReceivedEvent event) { + // logger.i(event.notification.body); + // // push to another screen + // Navigator.of(context).push(MaterialPageRoute(builder: (_) { + // return NotificationView( + // title: event.notification.title, + // body: event.notification.body, + // ); + // })); + // + // /// Display Notification, send null to not display + // event.complete(null); + // }); + // + // if (Platform.isIOS) { + // OneSignal.shared + // .setPermissionObserver((OSPermissionStateChanges changes) { + // logger.i("PERMISSION STATE CHANGED: ${changes.jsonRepresentation()}"); + // }); + // + // OneSignal.shared + // .promptUserForPushNotificationPermission() + // .then((accepted) { + // logger.i("Accepted permission: $accepted"); + // }); + // } + // } } diff --git a/lib/app/screens/local_notes/create_note_screen.dart b/lib/app/screens/local_notes/create_note_screen.dart index 8999443..3dde5c8 100644 --- a/lib/app/screens/local_notes/create_note_screen.dart +++ b/lib/app/screens/local_notes/create_note_screen.dart @@ -63,20 +63,24 @@ class _CreateNoteScreenState extends State { msg: 'Note Saved', toastLength: Toast.LENGTH_SHORT, ); - Navigator.of(context).pop(); - await Navigator.of(context).push(MaterialPageRoute(builder: (_) { - return const LocalNotesScreen(); - })); + if(mounted) { + Navigator.of(context).pop(); + await Navigator.of(context).push(MaterialPageRoute(builder: (_) { + return const LocalNotesScreen(); + })); + } _isNotEmpty = true; } else { await Fluttertoast.showToast( msg: 'Note was empty, nothing was saved', toastLength: Toast.LENGTH_SHORT, ); - Navigator.of(context).pop(); - await Navigator.of(context).push(MaterialPageRoute(builder: (_) { - return const LocalNotesScreen(); - })); + if(mounted) { + Navigator.of(context).pop(); + await Navigator.of(context).push(MaterialPageRoute(builder: (_) { + return const LocalNotesScreen(); + })); + } _isNotEmpty = false; } return _isNotEmpty!; diff --git a/lib/app/screens/local_notes/local_notes.dart b/lib/app/screens/local_notes/local_notes.dart index 64bbb99..70b4a7c 100644 --- a/lib/app/screens/local_notes/local_notes.dart +++ b/lib/app/screens/local_notes/local_notes.dart @@ -6,7 +6,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; import 'package:hive/hive.dart'; import 'package:hive_flutter/hive_flutter.dart'; -import 'package:new_version/new_version.dart'; import 'package:note_app/app/screens/local_notes/read_notes_screens.dart'; import 'package:note_app/const_values.dart'; import 'package:note_app/models/note_model.dart'; @@ -152,10 +151,10 @@ class _LocalNotesScreenState extends State { ) : null, body: storeData!.isEmpty - ? Center( + ? const Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, - children: const [ + children: [ Text( 'No Notes Yet... \n(Tap on the Add Button below)', style: TextStyle( @@ -268,7 +267,7 @@ class _LocalNotesScreenState extends State { child: Column( children: [ Text( - '${note.notes!.length >= 70 ? note.notes!.substring(0, 70) + '...' : note.notes}', + '${note.notes!.length >= 70 ? '${note.notes!.substring(0, 70)}...' : note.notes}', style: const TextStyle(), softWrap: true, ), @@ -354,7 +353,7 @@ class _LocalNotesScreenState extends State { CrossAxisAlignment.start, children: [ Text( - '${note.notes!.length >= 70 ? note.notes!.substring(0, 70) + '...' : note.notes}', + '${note.notes!.length >= 70 ? '${note.notes!.substring(0, 70)}...' : note.notes}', style: const TextStyle( fontSize: 18, ), diff --git a/lib/app/screens/local_notes/read_notes_screens.dart b/lib/app/screens/local_notes/read_notes_screens.dart index 42d5c5c..6b002c9 100644 --- a/lib/app/screens/local_notes/read_notes_screens.dart +++ b/lib/app/screens/local_notes/read_notes_screens.dart @@ -36,7 +36,7 @@ class _ReadNotesScreenState extends State { dynamic languages; String? language; double? volume = 0.5; - double? pitch = 1.0; + double? pitch = 0.8; double? rate = 0.9; String? _newVoiceText; @@ -235,16 +235,16 @@ class _ReadNotesScreenState extends State { floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, floatingActionButton: checkButtonState.mPlayButton == false ? FloatingActionButton( + backgroundColor: Colors.white60, + onPressed: () { + ttsState == TtsState.stopped ? _speak() : _stop(); + }, child: Icon( ttsState == TtsState.stopped ? Icons.play_circle_outline : Icons.stop_circle_outlined, color: Colors.black45, ), - backgroundColor: Colors.white60, - onPressed: () { - ttsState == TtsState.stopped ? _speak() : _stop(); - }, ) : null, ); diff --git a/lib/app/screens/settings_screen.dart b/lib/app/screens/settings_screen.dart index 2c39374..26e9275 100644 --- a/lib/app/screens/settings_screen.dart +++ b/lib/app/screens/settings_screen.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:note_app/app/screens/trash_screen/trashed_notes.dart'; import 'package:note_app/providers/hide_play_button_provider.dart'; import 'package:note_app/providers/theme_provider.dart'; -import 'package:package_info/package_info.dart'; +import 'package:package_info_plus/package_info_plus.dart'; import 'package:provider/provider.dart'; class SettingsScreen extends StatefulWidget { @@ -51,9 +51,9 @@ class _SettingsScreenState extends State { child: Column( children: [ //Body here - SizedBox( + const SizedBox( child: Column( - children: const [ + children: [ Text( 'VNotes', style: TextStyle( diff --git a/lib/const_values.dart b/lib/const_values.dart index fdfc249..ac18595 100644 --- a/lib/const_values.dart +++ b/lib/const_values.dart @@ -1,12 +1,11 @@ import 'package:flutter/material.dart'; -import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:logger/logger.dart'; var logger = Logger(); -String apiUrl = dotenv.env['API_URL'].toString(); -String payStackPubKey = dotenv.env['PAYSTACK_PUB_KEY'].toString(); -String payStackSecKey = dotenv.env['PAYSTACK_SEC_KEY'].toString(); +// String apiUrl = dotenv.env['API_URL'].toString(); +// String payStackPubKey = dotenv.env['PAYSTACK_PUB_KEY'].toString(); +// String payStackSecKey = dotenv.env['PAYSTACK_SEC_KEY'].toString(); const String androidID = 'com.viewus.v_notes'; const String dialogTitle = 'Update V Notes'; diff --git a/lib/main.dart b/lib/main.dart index 0976a80..fa9f5b6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -11,11 +11,12 @@ import 'package:note_app/providers/hide_play_button_provider.dart'; import 'package:note_app/providers/theme_provider.dart'; import 'package:path_provider/path_provider.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_dotenv/flutter_dotenv.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await dotenv.load(fileName: ".env"); + + + // await dotenv.load(fileName: ".env"); Directory document = await getApplicationDocumentsDirectory(); Hive ..init(document.path) diff --git a/pubspec.lock b/pubspec.lock index 4f9a9ab..baba325 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -9,6 +9,14 @@ packages: url: "https://pub.dev" source: hosted version: "61.0.0" + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: "1a5e13736d59235ce0139621b4bbe29bc89839e202409081bc667eb3cd20674c" + url: "https://pub.dev" + source: hosted + version: "1.3.5" analyzer: dependency: transitive description: @@ -177,14 +185,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.3" - csslib: - dependency: transitive - description: - name: csslib - sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f" - url: "https://pub.dev" - source: hosted - version: "0.17.3" cupertino_icons: dependency: "direct main" description: @@ -225,6 +225,54 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.4" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + sha256: c78132175edda4bc532a71e01a32964e4b4fcf53de7853a422d96dac3725f389 + url: "https://pub.dev" + source: hosted + version: "2.15.1" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: b63e3be6c96ef5c33bdec1aab23c91eb00696f6452f0519401d640938c94cba2 + url: "https://pub.dev" + source: hosted + version: "4.8.0" + firebase_core_web: + dependency: "direct main" + description: + name: firebase_core_web + sha256: "4cf4d2161530332ddc3c562f19823fb897ff37a9a774090d28df99f47370e973" + url: "https://pub.dev" + source: hosted + version: "2.7.0" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + sha256: "6c1a2a047d6f165b7c5f947467ac5138731a2af82c7af1c12d691dbb834f6b73" + url: "https://pub.dev" + source: hosted + version: "14.6.7" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + sha256: bcba58d28f8cda607a323240c6d314c2c62b62ebfbb0f2d704ebefef07b52b5f + url: "https://pub.dev" + source: hosted + version: "4.5.6" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + sha256: "962d09ec9dfa486cbbc218258ad41e8ec7997a2eba46919049496e1cafd960c5" + url: "https://pub.dev" + source: hosted + version: "3.5.6" fixnum: dependency: transitive description: @@ -238,14 +286,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_dotenv: - dependency: "direct main" - description: - name: flutter_dotenv - sha256: d9283d92059a22e9834bc0a31336658ffba77089fb6f3cc36751f1fc7c6661a3 - url: "https://pub.dev" - source: hosted - version: "5.0.2" flutter_lints: dependency: "direct dev" description: @@ -274,10 +314,10 @@ packages: dependency: "direct main" description: name: flutter_staggered_grid_view - sha256: "1312314293acceb65b92754298754801b0e1f26a1845833b740b30415bbbcf07" + sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395" url: "https://pub.dev" source: hosted - version: "0.6.2" + version: "0.7.0" flutter_test: dependency: "direct dev" description: flutter @@ -352,14 +392,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.0" - html: - dependency: transitive - description: - name: html - sha256: "58e3491f7bf0b6a4ea5110c0c688877460d1a6366731155c4a4580e7ded773e8" - url: "https://pub.dev" - source: hosted - version: "0.15.3" http: dependency: transitive description: @@ -428,10 +460,10 @@ packages: dependency: "direct main" description: name: logger - sha256: db2ff852ed77090ba9f62d3611e4208a3d11dfa35991a81ae724c113fcb3e3f7 + sha256: ba3bc83117b2b49bdd723c0ea7848e8285a0fbc597ba09203b20d329d020c24a url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "2.0.2" logging: dependency: transitive description: @@ -480,22 +512,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" - new_version: - dependency: "direct main" - description: - name: new_version - sha256: "2eabd66e53c882dbaab4f3f8824d139a35a0521e2e04b8fd6d9fb358112691e9" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - onesignal_flutter: - dependency: "direct main" - description: - name: onesignal_flutter - sha256: f4e54ad09bbfc2401b5d3e9cda6b31577facf0dd119d282d008df5710f5665d0 - url: "https://pub.dev" - source: hosted - version: "3.5.1" package_config: dependency: transitive description: @@ -504,62 +520,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" - package_info: - dependency: "direct main" - description: - name: package_info - sha256: "6c07d9d82c69e16afeeeeb6866fe43985a20b3b50df243091bfc4a4ad2b03b75" - url: "https://pub.dev" - source: hosted - version: "2.0.2" package_info_plus: - dependency: transitive + dependency: "direct main" description: name: package_info_plus - sha256: f62d7253edc197fe3c88d7c2ddab82d68f555e778d55390ccc3537eca8e8d637 - url: "https://pub.dev" - source: hosted - version: "1.4.3+1" - package_info_plus_linux: - dependency: transitive - description: - name: package_info_plus_linux - sha256: "04b575f44233d30edbb80a94e57cad9107aada334fc02aabb42b6becd13c43fc" - url: "https://pub.dev" - source: hosted - version: "1.0.5" - package_info_plus_macos: - dependency: transitive - description: - name: package_info_plus_macos - sha256: a2ad8b4acf4cd479d4a0afa5a74ea3f5b1c7563b77e52cc32b3ee6956d5482a6 + sha256: "28386bbe89ab5a7919a47cea99cdd1128e5a6e0bbd7eaafe20440ead84a15de3" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "4.0.1" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f7a0c8f1e7e981bc65f8b64137a53fd3c195b18d429fba960babc59a5a1c7ae8 - url: "https://pub.dev" - source: hosted - version: "1.0.2" - package_info_plus_web: - dependency: transitive - description: - name: package_info_plus_web - sha256: f0829327eb534789e0a16ccac8936a80beed4e2401c4d3a74f3f39094a822d3b + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" url: "https://pub.dev" source: hosted - version: "1.0.6" - package_info_plus_windows: - dependency: transitive - description: - name: package_info_plus_windows - sha256: "79524f11c42dd9078b96d797b3cf79c0a2883a50c4920dc43da8562c115089bc" - url: "https://pub.dev" - source: hosted - version: "2.1.0" + version: "2.0.1" path: dependency: transitive description: @@ -837,70 +813,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.2" - url_launcher: - dependency: transitive - description: - name: url_launcher - sha256: eb1e00ab44303d50dd487aab67ebc575456c146c6af44422f9c13889984c00f3 - url: "https://pub.dev" - source: hosted - version: "6.1.11" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - sha256: "1a5848f598acc5b7d8f7c18b8cb834ab667e59a13edc3c93e9d09cf38cc6bc87" - url: "https://pub.dev" - source: hosted - version: "6.0.34" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - sha256: "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - sha256: "91ee3e75ea9dadf38036200c5d3743518f4a5eb77a8d13fda1ee5764373f185e" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - sha256: "6c9ca697a5ae218ce56cece69d46128169a58aa8653c1b01d26fcd4aad8c4370" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - sha256: "6bb1e5d7fe53daf02a8fee85352432a40b1f868a81880e99ec7440113d5cfcab" - url: "https://pub.dev" - source: hosted - version: "2.0.17" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - sha256: "254708f17f7c20a9c8c471f67d86d76d4a3f9c1591aad1e15292008aceb82771" - url: "https://pub.dev" - source: hosted - version: "3.0.6" vector_math: dependency: transitive description: @@ -929,10 +841,10 @@ packages: dependency: transitive description: name: win32 - sha256: a6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4 + sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "4.1.4" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 203346b..dd3d9a4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.0.9+16 +version: 2.0.10+17 environment: sdk: ">=3.0.0 <4.0.0" @@ -25,28 +25,28 @@ dependencies: sdk: flutter another_flushbar: ^1.10.24 cupertino_icons: ^1.0.3 - flutter_staggered_grid_view: ^0.6.1 + flutter_staggered_grid_view: ^0.7.0 flutter_tts: ^3.2.1 hive: ^2.0.4 hive_flutter: ^1.1.0 - package_info: ^2.0.2 path_provider: ^2.0.2 provider: ^6.0.2 shared_preferences: ^2.0.6 fluttertoast: ^8.0.7 - new_version: ^0.3.1 - logger: ^1.1.0 + logger: ^2.0.2 intl: ^0.17.0 - flutter_dotenv: ^5.0.2 flutter_screenutil: ^5.5.3+2 - onesignal_flutter: ^3.4.1 flutter_paystack: ^1.0.7 + package_info_plus: ^4.0.1 + firebase_core: ^2.15.1 + firebase_messaging: ^14.6.7 + firebase_core_web: ^2.6.0 dev_dependencies: flutter_test: sdk: flutter build_runner: - change_app_package_name: + change_app_package_name: ^1.1.0 hive_generator: ^2.0.0 flutter_lints: ^2.0.1