add built in downloader

feature/passo/PASSO-#1-Sync-data-from-device-to-postgre-and-vice-versa
PGAN-MIS 2023-09-25 11:38:00 +08:00
parent fdd2354320
commit dcfb1ca1a3
25 changed files with 305 additions and 230 deletions

View File

@ -40,7 +40,13 @@ class UserBloc extends Bloc<UserEvent, UserState> {
final String? saved = CREDENTIALS?.get('saved'); final String? saved = CREDENTIALS?.get('saved');
username = CREDENTIALS?.get('username'); username = CREDENTIALS?.get('username');
password = CREDENTIALS?.get('password'); password = CREDENTIALS?.get('password');
if (saved != null) { if(apkVersion != _versionInfo!.id ){
emit(VersionLoaded(
versionInfo: _versionInfo,
apkVersion: _apkVersion,
username: event.username,
password: event.password));
}else if (saved != null) {
save = true; save = true;
add(UserLogin(username: username, password: password)); add(UserLogin(username: username, password: password));
} else { } else {

View File

@ -349,7 +349,8 @@ class _SpouseAlertState extends State<SpouseAlert> {
], ],
itemHeight: 100, itemHeight: 100,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: widget.positions suggestions: widget.positions
.map((PositionTitle position) => .map((PositionTitle position) =>
SearchFieldListItem( SearchFieldListItem(

View File

@ -383,7 +383,8 @@ class _SpouseEditAlertState extends State<SpouseEditAlert> {
suggestionDirection: suggestionDirection:
SuggestionDirection.down, SuggestionDirection.down,
itemHeight: 100, itemHeight: 100,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: widget.positions suggestions: widget.positions
.map((PositionTitle position) => .map((PositionTitle position) =>
SearchFieldListItem( SearchFieldListItem(

View File

@ -128,7 +128,8 @@ class _AddEducationScreenState extends State<AddEducationScreen> {
return SearchField( return SearchField(
inputFormatters: [UpperCaseTextFormatter()], inputFormatters: [UpperCaseTextFormatter()],
itemHeight: 70, itemHeight: 70,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.schools suggestions: state.schools
.map((School school) => .map((School school) =>
SearchFieldListItem(school.name!, SearchFieldListItem(school.name!,
@ -190,7 +191,8 @@ class _AddEducationScreenState extends State<AddEducationScreen> {
UpperCaseTextFormatter() UpperCaseTextFormatter()
], ],
itemHeight: 100, itemHeight: 100,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.programs suggestions: state.programs
.map((Course program) => .map((Course program) =>
SearchFieldListItem( SearchFieldListItem(

View File

@ -165,7 +165,8 @@ class _EditEducationScreenState extends State<EditEducationScreen> {
}, },
controller: currentSchoolController, controller: currentSchoolController,
itemHeight: 70, itemHeight: 70,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.schools suggestions: state.schools
.map((School school) => .map((School school) =>
SearchFieldListItem(school.name!, SearchFieldListItem(school.name!,
@ -230,7 +231,8 @@ class _EditEducationScreenState extends State<EditEducationScreen> {
SuggestionAction.unfocus, SuggestionAction.unfocus,
controller: currentProgramController, controller: currentProgramController,
itemHeight: 70, itemHeight: 70,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.programs suggestions: state.programs
.map((Course program) => .map((Course program) =>
SearchFieldListItem( SearchFieldListItem(

View File

@ -371,7 +371,7 @@ class _AddLearningAndDevelopmentScreenState
], ],
focusNode: topicFocusNode, focusNode: topicFocusNode,
itemHeight: 100, itemHeight: 100,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.topics suggestions: state.topics
.map((LearningDevelopmentType .map((LearningDevelopmentType
topic) => topic) =>

View File

@ -267,7 +267,7 @@ class _EditLearningAndDevelopmentScreenState
controller: currentTopicController, controller: currentTopicController,
focusNode: topicFocusNode, focusNode: topicFocusNode,
itemHeight: 100, itemHeight: 100,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.topics suggestions: state.topics
.map((LearningDevelopmentType .map((LearningDevelopmentType
topic) => topic) =>

View File

@ -92,7 +92,7 @@ class _AddVoluntaryWorkScreenState extends State<AddVoluntaryWorkScreen> {
return SearchField( return SearchField(
inputFormatters: [UpperCaseTextFormatter()], inputFormatters: [UpperCaseTextFormatter()],
itemHeight: 70, itemHeight: 70,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.positions suggestions: state.positions
.map((PositionTitle position) => .map((PositionTitle position) =>
SearchFieldListItem(position.title!, SearchFieldListItem(position.title!,

View File

@ -128,7 +128,7 @@ class _EditVoluntaryWorkScreenState extends State<EditVoluntaryWorkScreen> {
inputFormatters: [UpperCaseTextFormatter()], inputFormatters: [UpperCaseTextFormatter()],
controller: positionController, controller: positionController,
itemHeight: 70, itemHeight: 70,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.positions suggestions: state.positions
.map((PositionTitle position) => .map((PositionTitle position) =>
SearchFieldListItem(position.title!, SearchFieldListItem(position.title!,

View File

@ -98,7 +98,7 @@ class _AddWorkHistoryScreenState extends State<AddWorkHistoryScreen> {
return SearchField( return SearchField(
inputFormatters: [UpperCaseTextFormatter()], inputFormatters: [UpperCaseTextFormatter()],
itemHeight: 70, itemHeight: 70,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.agencyPositions suggestions: state.agencyPositions
.map((PositionTitle position) => .map((PositionTitle position) =>
SearchFieldListItem(position.title!, SearchFieldListItem(position.title!,

View File

@ -121,7 +121,7 @@ class _EditWorkHistoryScreenState extends State<EditWorkHistoryScreen> {
inputFormatters: [UpperCaseTextFormatter()], inputFormatters: [UpperCaseTextFormatter()],
controller: oldPositionController, controller: oldPositionController,
itemHeight: 100, itemHeight: 100,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.agencyPositions suggestions: state.agencyPositions
.map((PositionTitle position) => .map((PositionTitle position) =>
SearchFieldListItem(position.title!, SearchFieldListItem(position.title!,

View File

@ -180,7 +180,8 @@ class _RbacStationScreenState extends State<RbacStationScreen> {
////Station Type ////Station Type
SearchField( SearchField(
itemHeight: 50, itemHeight: 50,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: stationTypes suggestions: stationTypes
.map((StationType stationType) => .map((StationType stationType) =>
SearchFieldListItem( SearchFieldListItem(

View File

@ -181,7 +181,7 @@ class BuildInformation extends StatelessWidget {
return QRFullScreenImage(uuid: uuid); return QRFullScreenImage(uuid: uuid);
})); }));
}, },
child: QrImage( child: QrImageView(
data: uuid!, data: uuid!,
size: blockSizeVertical * 24, size: blockSizeVertical * 24,
), ),

View File

@ -16,7 +16,7 @@ class QRFullScreenImage extends StatelessWidget {
centerTitle: true, centerTitle: true,
backgroundColor: primary,title: const Text("Profile QR Code"),), backgroundColor: primary,title: const Text("Profile QR Code"),),
body: Center( body: Center(
child: QrImage( child: QrImageView(
data: uuid, data: uuid,
size: blockSizeVertical * 50 size: blockSizeVertical * 50
), ),

View File

@ -1,6 +1,8 @@
import 'dart:async'; import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'package:better_open_file/better_open_file.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:easy_app_installer/easy_app_installer.dart'; import 'package:easy_app_installer/easy_app_installer.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -9,6 +11,7 @@ import 'package:flutter_progress_hud/flutter_progress_hud.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:unit2/model/login_data/version_info.dart';
import 'package:unit2/screens/unit2/login/components/showAlert.dart'; import 'package:unit2/screens/unit2/login/components/showAlert.dart';
import 'package:unit2/theme-data.dart/btn-style.dart'; import 'package:unit2/theme-data.dart/btn-style.dart';
@ -20,9 +23,9 @@ import '../../../../widgets/wave.dart';
class Update extends StatefulWidget { class Update extends StatefulWidget {
final String apkVersion; final String apkVersion;
final String currenVersion; final VersionInfo versionInfo;
const Update( const Update(
{super.key, required this.apkVersion, required this.currenVersion}); {super.key, required this.apkVersion, required this.versionInfo});
@override @override
State<Update> createState() => _UpdateState(); State<Update> createState() => _UpdateState();
@ -74,14 +77,14 @@ class _UpdateState extends State<Update> {
], ],
), ),
const SizedBox( const SizedBox(
height: 10, height: 25,
), ),
RichText( RichText(
textAlign: TextAlign.justify, textAlign: TextAlign.justify,
text: TextSpan( text: TextSpan(
text: 'Your app version ', text: 'Your app version ',
style: const TextStyle( style: const TextStyle(
fontSize: 16, fontSize: 14,
color: Colors.black, color: Colors.black,
), ),
children: <TextSpan>[ children: <TextSpan>[
@ -95,7 +98,7 @@ class _UpdateState extends State<Update> {
" did not match with the latest version ", " did not match with the latest version ",
style: TextStyle(color: Colors.black)), style: TextStyle(color: Colors.black)),
TextSpan( TextSpan(
text: widget.currenVersion.toString(), text: widget.versionInfo.versionInfo,
style: const TextStyle( style: const TextStyle(
color: primary, color: primary,
fontWeight: FontWeight.bold)), fontWeight: FontWeight.bold)),
@ -105,7 +108,7 @@ class _UpdateState extends State<Update> {
style: TextStyle(color: Colors.black)), style: TextStyle(color: Colors.black)),
])), ])),
const SizedBox( const SizedBox(
height: 12.0, height: 25,
), ),
Container( Container(
child: downloading child: downloading
@ -131,15 +134,20 @@ class _UpdateState extends State<Update> {
style: mainBtnStyle( style: mainBtnStyle(
primary, Colors.transparent, second), primary, Colors.transparent, second),
onPressed: () async { onPressed: () async {
final progress = ProgressHUD.of(context);
progress?.showWithText(
'Please wait...',
);
setState(() { setState(() {
downloading = true; downloading = true;
progressRating = '0'; progressRating = '0';
}); });
try {
await openFile(); await openFile();
} catch (e) {
showAlert(context, () {
setState(() {
downloading = false;
progressRating = '0';
});
});
}
}, },
label: const Text( label: const Text(
"Download Latest App Version.")), "Download Latest App Version.")),
@ -181,16 +189,36 @@ class _UpdateState extends State<Update> {
} }
} }
Future<String> downloadFile() async {
final progress = ProgressHUD.of(context); Future<String> getCPUArchitecture() async {
String downloadURL = "";
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
AndroidDeviceInfo androidDeviceInfo = await deviceInfoPlugin.androidInfo;
try{
List<String> cpuArchitecture = androidDeviceInfo.supportedAbis;
if (cpuArchitecture.first == 'arm64-v8a') {
downloadURL = widget.versionInfo.arm64v8aDownloadUrl!;
}
else if (cpuArchitecture.first == 'armeabi-v7a') {
downloadURL = widget.versionInfo.armeabiv7aDownloadUrl!;
} else {
downloadURL = widget.versionInfo.x8664DownloadUrl!;
}
print(downloadURL);
}catch(e){
throw e.toString();
}
return downloadURL;
}
Future<String?> downloadFile() async {
final appStorage = await getApplicationDocumentsDirectory(); final appStorage = await getApplicationDocumentsDirectory();
String? appDir;
try { try {
String url = await getCPUArchitecture(); String url = await getCPUArchitecture();
final response = await dio.download(url, '${appStorage.path}/uniT.apk', final response = await dio.download(url, '${appStorage.path}/uniT.apk',
deleteOnError: true, deleteOnError: true,
options: Options( options: Options(
receiveTimeout: 20000,
sendTimeout: 20000,
receiveDataWhenStatusError: true, receiveDataWhenStatusError: true,
responseType: ResponseType.bytes, responseType: ResponseType.bytes,
followRedirects: false, followRedirects: false,
@ -202,47 +230,24 @@ class _UpdateState extends State<Update> {
downloading = true; downloading = true;
}); });
if (progressRating == '100') { if (progressRating == '100') {
final progress = ProgressHUD.of(context);
progress!.dismiss();
setState(() { setState(() {
downloading = false; downloading = false;
isDownloaded = true; isDownloaded = true;
}); });
} }
appDir = '${appStorage.path}/uniT.apk';
}); });
} on TimeoutException catch (_) { } on TimeoutException catch (e) {
progress!.dismiss(); throw e.toString();
showAlert(context, () { } on SocketException catch (e) {
setState(() { throw e.toString();
downloading = false; } on Error catch (e) {
}); throw e.toString();
}); } catch (e) {
throw TimeoutException(timeoutError); throw e.toString();
} on SocketException catch (_) {
progress!.dismiss();
showAlert(context, () {
setState(() {
downloading = false;
});
});
throw const SocketException(timeoutError);
} on DioError catch (_) {
progress!.dismiss();
showAlert(context, () {
setState(() {
downloading = false;
});
});
throw TimeoutException(timeoutError);
} catch (_) {
progress!.dismiss();
showAlert(context, () {
setState(() {
downloading = false;
});
});
throw TimeoutException(timeoutError);
} }
return '${appStorage.path}/uniT.apk';
return appDir!;
} }
} }

View File

@ -107,6 +107,8 @@ class _UniT2LoginState extends State<UniT2Login> {
} }
}, builder: (context, state) { }, builder: (context, state) {
if (state is VersionLoaded) { if (state is VersionLoaded) {
print(state.versionInfo!.id);
print(state.apkVersion);
return Builder(builder: (context) { return Builder(builder: (context) {
if (state.versionInfo?.id == state.apkVersion) { if (state.versionInfo?.id == state.apkVersion) {
return SizedBox( return SizedBox(
@ -355,7 +357,7 @@ class _UniT2LoginState extends State<UniT2Login> {
//New update available //New update available
return Update( return Update(
apkVersion: state.apkVersion!, apkVersion: state.apkVersion!,
currenVersion: state.versionInfo!.id!, versionInfo: state.versionInfo!,
); );
} }
}); });

View File

@ -171,7 +171,7 @@ class EstPointPersonStationScreen extends StatelessWidget {
////Station Type ////Station Type
SearchField( SearchField(
itemHeight: 50, itemHeight: 50,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: stationTypes suggestions: stationTypes
.map((StationType stationType) => .map((StationType stationType) =>
SearchFieldListItem( SearchFieldListItem(

View File

@ -222,7 +222,7 @@ class _RBACScreenState extends State<RBACScreen> {
builder: (context, setState) { builder: (context, setState) {
return SearchField( return SearchField(
itemHeight: 40, itemHeight: 40,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.role suggestions: state.role
.map((RBAC role) => .map((RBAC role) =>
SearchFieldListItem( SearchFieldListItem(
@ -305,7 +305,7 @@ class _RBACScreenState extends State<RBACScreen> {
builder: (context, setState) { builder: (context, setState) {
return SearchField( return SearchField(
itemHeight: 40, itemHeight: 40,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.modules suggestions: state.modules
.map((RBAC module) => .map((RBAC module) =>
SearchFieldListItem( SearchFieldListItem(
@ -602,7 +602,7 @@ class _RBACScreenState extends State<RBACScreen> {
), ),
SearchField( SearchField(
itemHeight: 40, itemHeight: 40,
suggestionsDecoration: box1(), suggestionsDecoration: searchFieldDecoration(),
suggestions: state.objects suggestions: state.objects
.map((RBAC object) => SearchFieldListItem(object.name!, .map((RBAC object) => SearchFieldListItem(object.name!,
item: object, item: object,

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:searchfield/searchfield.dart';
BoxDecoration box1(){ BoxDecoration box1(){
return const BoxDecoration( return const BoxDecoration(
@ -6,3 +7,9 @@ BoxDecoration box1(){
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(3))); borderRadius: BorderRadius.all(Radius.circular(3)));
} }
SuggestionDecoration searchFieldDecoration(){
return SuggestionDecoration(
boxShadow:const [BoxShadow(color: Colors.black12,spreadRadius: 5,blurRadius: 5)] ,
color: Colors.white,
borderRadius: const BorderRadius.all(Radius.circular(3)));
}

View File

@ -13,7 +13,7 @@ Future<String> getCPUArchitecture() async {
try { try {
Response response = await dio.get(apkUrl, Response response = await dio.get(apkUrl,
options: Options( options: Options(
receiveTimeout: 20000, receiveTimeout:const Duration(seconds: 25),
receiveDataWhenStatusError: true, receiveDataWhenStatusError: true,
responseType: ResponseType.json, responseType: ResponseType.json,
followRedirects: false, followRedirects: false,
@ -37,8 +37,8 @@ Future<String> getCPUArchitecture() async {
throw TimeoutException("Connection timeout"); throw TimeoutException("Connection timeout");
} on SocketException catch (_) { } on SocketException catch (_) {
throw const SocketException("Connection timeout"); throw const SocketException("Connection timeout");
} on DioError catch (_) { } on DioException catch (e) {
throw DioErrorType.connectTimeout; throw e.toString();
} }
return downloadURL; return downloadURL;
} }

View File

@ -18,7 +18,7 @@ class Request {
Map<String, String>? param}) async { Map<String, String>? param}) async {
Response response; Response response;
try { try {
response = await get(Uri.http(host, path!, param), headers: headers) response = await get(Uri.https(host, path!, param), headers: headers)
.timeout(Duration(seconds: requestTimeout)); .timeout(Duration(seconds: requestTimeout));
} on TimeoutException catch (_) { } on TimeoutException catch (_) {
// Fluttertoast.showToast( // Fluttertoast.showToast(
@ -60,7 +60,7 @@ class Request {
Map<String, String>? param}) async { Map<String, String>? param}) async {
Response response; Response response;
try { try {
response = await post(Uri.http(host, path!, param), response = await post(Uri.https(host, path!, param),
headers: headers, body: jsonEncode(body)) headers: headers, body: jsonEncode(body))
.timeout(Duration(seconds: requestTimeout)); .timeout(Duration(seconds: requestTimeout));
} on TimeoutException catch (_) { } on TimeoutException catch (_) {
@ -103,7 +103,7 @@ class Request {
required Map<String, dynamic>? param}) async { required Map<String, dynamic>? param}) async {
Response response; Response response;
try { try {
response = await put(Uri.http(host, path, param), response = await put(Uri.https(host, path, param),
headers: headers, body: jsonEncode(body)); headers: headers, body: jsonEncode(body));
} on TimeoutException catch (_) { } on TimeoutException catch (_) {
// Fluttertoast.showToast( // Fluttertoast.showToast(
@ -187,7 +187,7 @@ class Request {
required Map<String, dynamic>? param}) async { required Map<String, dynamic>? param}) async {
Response response; Response response;
try { try {
response = await delete(Uri.http(host, path, param), response = await delete(Uri.https(host, path, param),
headers: headers, body: jsonEncode(body)) headers: headers, body: jsonEncode(body))
.timeout(Duration(seconds: requestTimeout)); .timeout(Duration(seconds: requestTimeout));
} on TimeoutException catch (_) { } on TimeoutException catch (_) {

View File

@ -5,8 +5,8 @@ class Url {
String host() { String host() {
// return '192.168.10.183:3000'; // return '192.168.10.183:3000';
// return 'agusandelnorte.gov.ph'; return 'agusandelnorte.gov.ph';
return "192.168.10.219:3000"; // return "192.168.10.219:3000";
// return "192.168.10.241"; // return "192.168.10.241";
// return "192.168.10.221:3004"; // return "192.168.10.221:3004";
// return "playweb.agusandelnorte.gov.ph"; // return "playweb.agusandelnorte.gov.ph";

View File

@ -21,10 +21,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: animate_do name: animate_do
sha256: "9aeacc1a7238f971c039bdf45d13c628be554a242e0251c4ddda09d19a1a923f" sha256: "91b3e0306ba2096c7a7e1ee1ba96f491e25e92034c215f4bf8de6a7251c4bef1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "3.1.2"
app_popup_menu: app_popup_menu:
dependency: "direct main" dependency: "direct main"
description: description:
@ -69,66 +69,66 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.10.0" version: "2.11.0"
audioplayers: audioplayers:
dependency: "direct main" dependency: "direct main"
description: description:
name: audioplayers name: audioplayers
sha256: "61583554386721772f9309f509e17712865b38565a903c761f96b1115a979282" sha256: "8e94499b5c123df14cf17c16639de5ff3373e57e537f727e367487fbb7491363"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.0" version: "5.1.0"
audioplayers_android: audioplayers_android:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_android name: audioplayers_android
sha256: dbdc9b7f2aa2440314c638aa55aadd45c7705e8340d5eddf2e3fb8da32d4ae2c sha256: "1c12b60cc10a3b8617ca3f88b927e7e03768f470d9b4f747efd3d58a8a07ee1b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "4.0.1"
audioplayers_darwin: audioplayers_darwin:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_darwin name: audioplayers_darwin
sha256: "6aea96df1d12f7ad5a71d88c6d1b22a216211a9564219920124c16768e456e9d" sha256: "2fb6133ffcf28fb3f9d3e11f8a3ef190e5fedb2b7b95ea865b56a21d1163e670"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.0" version: "5.0.1"
audioplayers_linux: audioplayers_linux:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_linux name: audioplayers_linux
sha256: "396b62ac62c92dd26c3bc5106583747f57a8b325ebd2b41e5576f840cfc61338" sha256: cca3f272c7186dd2e0025b8864e1413ac5e081d74b17e28b02ceb2df4c110235
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.0" version: "3.0.0"
audioplayers_platform_interface: audioplayers_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_platform_interface name: audioplayers_platform_interface
sha256: f7daaed4659143094151ecf6bacd927d29ab8acffba98c110c59f0b81ae51143 sha256: "47eae55e99ced11589998cf27e4eaabf5b475a7bd8bea7516ee6c2536a2e1abf"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.1" version: "6.0.0"
audioplayers_web: audioplayers_web:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_web name: audioplayers_web
sha256: ec84fd46eed1577148ed4113f5998a36a18da4fce7170c37ce3e21b631393339 sha256: "9f155590c6ba9ba469df637f4729264e4234dc3941ece4690dad63ffac19b5af"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0" version: "4.0.0"
audioplayers_windows: audioplayers_windows:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_windows name: audioplayers_windows
sha256: "1d3aaac98a192b8488167711ba1e67d8b96333e8d0572ede4e2912e5bbce69a3" sha256: "8813b712ba919bb324bde5e3ba97edc81bface945953a54a3dea70b5608bcc70"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.2" version: "3.0.0"
auto_size_text: auto_size_text:
dependency: "direct main" dependency: "direct main"
description: description:
@ -157,10 +157,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: badges name: badges
sha256: "6e7f3ec561ec08f47f912cfe349d4a1707afdc8dda271e17b046aa6d42c89e77" sha256: a7b6bbd60dce418df0db3058b53f9d083c22cdb5132a052145dc267494df0b84
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.1.2"
barcode_scan2: barcode_scan2:
dependency: "direct main" dependency: "direct main"
description: description:
@ -169,6 +169,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.4" version: "4.2.4"
better_open_file:
dependency: "direct main"
description:
name: better_open_file
sha256: aa67d9bc38160401e48023833f93c789b4e2b1c0eb8b6643bd5816d0c1c65dbd
url: "https://pub.dev"
source: hosted
version: "3.6.4"
bloc: bloc:
dependency: transitive dependency: transitive
description: description:
@ -277,10 +285,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.3.0"
checked_yaml: checked_yaml:
dependency: transitive dependency: transitive
description: description:
@ -309,10 +317,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.0" version: "1.17.2"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -333,10 +341,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: cool_alert name: cool_alert
sha256: "48a0b6c04914b6dc7e8d7eaccf2adf21bace6533a3eda0aeb412e0d7a03dc00a" sha256: "080a6c3503a4cded8f626cdead23f17ea40ff066ff50847d71a7a264032ab092"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "2.0.1"
cross_file: cross_file:
dependency: transitive dependency: transitive
description: description:
@ -386,13 +394,13 @@ packages:
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
device_info_plus: device_info_plus:
dependency: transitive dependency: "direct main"
description: description:
name: device_info_plus name: device_info_plus
sha256: f52ab3b76b36ede4d135aab80194df8925b553686f0fa12226b4e2d658e45903 sha256: "86add5ef97215562d2e090535b0a16f197902b10c369c558a100e74ea06e8659"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.2.2" version: "9.0.3"
device_info_plus_platform_interface: device_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -405,10 +413,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: dio name: dio
sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8" sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.6" version: "5.3.3"
easy_app_installer: easy_app_installer:
dependency: "direct main" dependency: "direct main"
description: description:
@ -469,10 +477,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: file_picker name: file_picker
sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf" sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.3.1" version: "5.5.0"
file_utils: file_utils:
dependency: transitive dependency: transitive
description: description:
@ -554,10 +562,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_form_builder name: flutter_form_builder
sha256: "9551c7379adc01a3a3a1100057396407c9534ea8adc937d14a0edd96fcd9e1dc" sha256: "8973beed34b6d951d36bf688b52e9e3040b47b763c35c320bd6f4c2f6b13f3a2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "7.8.0" version: "9.1.1"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -599,10 +607,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_speed_dial name: flutter_speed_dial
sha256: "41d7ad0bc224248637b3a5e0b9083e912a75445bdb450cf82b8ed06d7af7c61d" sha256: "698a037274a66dbae8697c265440e6acb6ab6cae9ac5f95c749e7944d8f28d41"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.2.0" version: "7.0.0"
flutter_spinkit: flutter_spinkit:
dependency: "direct main" dependency: "direct main"
description: description:
@ -623,10 +631,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_svg name: flutter_svg
sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2" sha256: "8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.6" version: "2.0.7"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -665,10 +673,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: form_builder_validators name: form_builder_validators
sha256: f2d90439c56345c23ad8d0c2912e4002cd02563d816f4387c9495051c10d3321 sha256: "19aa5282b7cede82d0025ab031a98d0554b84aa2ba40f12013471a3b3e22bf02"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.6.1" version: "9.1.0"
frontend_server_client: frontend_server_client:
dependency: transitive dependency: transitive
description: description:
@ -729,18 +737,18 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: hive_generator name: hive_generator
sha256: "81fd20125cb2ce8fd23623d7744ffbaf653aae93706c9bd3bf7019ea0ace3938" sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.3" version: "2.0.1"
http: http:
dependency: transitive dependency: transitive
description: description:
name: http name: http
sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.13.6" version: "1.1.0"
http_multi_server: http_multi_server:
dependency: transitive dependency: transitive
description: description:
@ -769,10 +777,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image name: image
sha256: "8e9d133755c3e84c73288363e6343157c383a0c6c56fc51afcc5d4d7180306d6" sha256: a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.3.0" version: "4.0.17"
intl: intl:
dependency: "direct main" dependency: "direct main"
description: description:
@ -817,26 +825,26 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: location name: location
sha256: "9051959f6f2ccadd887b28b66e9cbbcc25b6838e37cf9e894c421ccc0ebf80b5" sha256: "06be54f682c9073cbfec3899eb9bc8ed90faa0e17735c9d9fa7fe426f5be1dd1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.4.0" version: "5.0.3"
location_platform_interface: location_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: location_platform_interface name: location_platform_interface
sha256: "62eeaf1658e92e4459b727f55a3c328eccbac8ba043fa6d262ac5286ad48384c" sha256: "8aa1d34eeecc979d7c9fe372931d84f6d2ebbd52226a54fe1620de6fdc0753b1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.0" version: "3.1.2"
location_web: location_web:
dependency: transitive dependency: transitive
description: description:
name: location_web name: location_web
sha256: "6c08c408a040534c0269c4ff9fe17eebb5a36dea16512fbaf116b9c8bc21545b" sha256: ec484c66e8a4ff1ee5d044c203f4b6b71e3a0556a97b739a5bc9616de672412b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "4.2.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -849,10 +857,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: lottie name: lottie
sha256: "893da7a0022ec2fcaa616f34529a081f617e86cc501105b856e5a3184c58c7c2" sha256: b8bdd54b488c54068c57d41ae85d02808da09e2bee8b8dd1f59f441e7efa60cd
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.4.3" version: "2.6.0"
mask_text_input_formatter: mask_text_input_formatter:
dependency: "direct main" dependency: "direct main"
description: description:
@ -865,26 +873,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.13" version: "0.12.16"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.5.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.0" version: "1.9.1"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -897,18 +905,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: modal_progress_hud_nsn name: modal_progress_hud_nsn
sha256: "408b9bcce97567de94637de932260e50be48db1842edc761aeea61670e5ec30c" sha256: "0b0d95e5ce3e1884390624fbe79fcf90d7de10abe05d26c0e276c25e7130e3e0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.0" version: "0.4.0"
multi_dropdown: multi_dropdown:
dependency: "direct main" dependency: "direct main"
description: description:
name: multi_dropdown name: multi_dropdown
sha256: "65b8f505b251c5173e8eff64c09cd37460d8f8be906c2069a03815ad2641dcd1" sha256: "2db9b41ae543a9277defc2b5ba95622acb72ed0fb49d6dead357a1639371bee3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.9" version: "2.1.0"
multi_select_flutter: multi_select_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
@ -961,10 +969,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: package_info_plus name: package_info_plus
sha256: "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745" sha256: "6ff267fcd9d48cb61c8df74a82680e8b82e940231bb5f68356672fde0397334a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.2" version: "4.1.0"
package_info_plus_platform_interface: package_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -977,18 +985,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.2" version: "1.8.3"
path_drawing:
dependency: transitive
description:
name: path_drawing
sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977
url: "https://pub.dev"
source: hosted
version: "1.0.1"
path_parsing: path_parsing:
dependency: transitive dependency: transitive
description: description:
@ -1049,18 +1049,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: permission_handler name: permission_handler
sha256: "63e5216aae014a72fe9579ccd027323395ce7a98271d9defa9d57320d001af81" sha256: ad65ba9af42a3d067203641de3fd9f547ded1410bad3b84400c2b4899faede70
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.4.3" version: "11.0.0"
permission_handler_android: permission_handler_android:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_android name: permission_handler_android
sha256: d74e77a5ecd38649905db0a7d05ef16bed42ff263b9efb73ed794317c5764ec3 sha256: f2543a236584a5e8be79076f858022f100ce690e31530e6fa4c32ac94f276d3a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.3.4" version: "11.0.3"
permission_handler_apple: permission_handler_apple:
dependency: transitive dependency: transitive
description: description:
@ -1073,10 +1073,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_platform_interface name: permission_handler_platform_interface
sha256: "7c6b1500385dd1d2ca61bb89e2488ca178e274a69144d26bbd65e33eae7c02a9" sha256: f2343e9fa9c22ae4fd92d4732755bfe452214e7189afcc097380950cf567b4b2
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.11.3" version: "3.11.5"
permission_handler_windows: permission_handler_windows:
dependency: transitive dependency: transitive
description: description:
@ -1089,10 +1089,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4" sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.1.0" version: "5.4.0"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -1209,34 +1209,34 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: qr name: qr
sha256: "5c4208b4dc0d55c3184d10d83ee0ded6212dc2b5e2ba17c5a0c0aab279128d21" sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.0" version: "3.0.1"
qr_flutter: qr_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
name: qr_flutter name: qr_flutter
sha256: c5c121c54cb6dd837b9b9d57eb7bc7ec6df4aee741032060c8833a678c80b87e sha256: "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.0" version: "4.1.0"
rive: rive:
dependency: transitive dependency: transitive
description: description:
name: rive name: rive
sha256: f3b8af0898c987d68019e91d92257edd902c28c816e49de033a7272e86bd5425 sha256: f2117a96a189758bc79bf7933865625c7a44a420ae537d2a8f6c492900136a71
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.11.4" version: "0.11.17"
rive_common: rive_common:
dependency: transitive dependency: transitive
description: description:
name: rive_common name: rive_common
sha256: f6687f9d70e6fd3888a9b0e9c0b307966d2ce74cf00cfb01dce906c3bbada52f sha256: e41f12917cb58e0c9376836490ebaa431e12744da0c67e19dad8d4bee9fedd46
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.0" version: "0.2.7"
rxdart: rxdart:
dependency: transitive dependency: transitive
description: description:
@ -1273,10 +1273,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: searchfield name: searchfield
sha256: "62b6653d7194de5a7ea724124846b996d0d211cd3eeeec2e5ca84423650f66f8" sha256: ea1eccae9f6d07dbbfef0bf341dd93b22df453b939461c5473a0be6186f2d720
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.8" version: "0.8.4"
share_plus: share_plus:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1369,10 +1369,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: signature name: signature
sha256: ad23383717dfa926204695ef6928ff513a77387be1b4a8c685099ce3ec35e5f8 sha256: d95143b8e310b395ea0be59a46bb69fa24106cb6ec79815fc56fd320268e24e6
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.3.0" version: "5.4.0"
simple_chips_input: simple_chips_input:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1406,10 +1406,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
sqflite: sqflite:
dependency: transitive dependency: transitive
description: description:
@ -1470,58 +1470,66 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_flutter_core name: syncfusion_flutter_core
sha256: "8db8f55c77f56968681447d3837c10f27a9e861e238a898fda116c7531def979" sha256: aea119c8117953fa5decf4a313b431e556b0959cd35ff88f8fbdc0eda9bedb06
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.10" version: "23.1.36"
syncfusion_flutter_pdf: syncfusion_flutter_pdf:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_flutter_pdf name: syncfusion_flutter_pdf
sha256: a42186922a416c2c9634a8f221aee261101babc2d30b1a1e908a7f034e743046 sha256: "76a50a1d580714c078e2827adbd8b00d5f5c606879d07c44c5d99f0e864edda1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.4" version: "23.1.36"
syncfusion_flutter_pdfviewer: syncfusion_flutter_pdfviewer:
dependency: "direct main" dependency: "direct main"
description: description:
name: syncfusion_flutter_pdfviewer name: syncfusion_flutter_pdfviewer
sha256: "2dc016f251c675f8e4923135c485356473b4d89c677670164292159cd1dd4f45" sha256: e5eaabd0a31fff16caead0d6d66d4c9946de7e46c89da7736de23cd4b2e6f676
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.3" version: "23.1.36"
syncfusion_flutter_signaturepad:
dependency: transitive
description:
name: syncfusion_flutter_signaturepad
sha256: ea6b218d127e0315b3309ee072a1d304c76aa7c497a196b3474f9c6b38c01f82
url: "https://pub.dev"
source: hosted
version: "23.1.36"
syncfusion_pdfviewer_macos: syncfusion_pdfviewer_macos:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_pdfviewer_macos name: syncfusion_pdfviewer_macos
sha256: "8cc925cae532c0fa17e849165796d962107f45b86e66ee334dcaabf6b7305c82" sha256: "6f928bee1f786b8d1939d3c4142c5cc2de2c13d19262d302878935a2bc33850c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.10" version: "23.1.36"
syncfusion_pdfviewer_platform_interface: syncfusion_pdfviewer_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_pdfviewer_platform_interface name: syncfusion_pdfviewer_platform_interface
sha256: "08039ecdb8f79454fb367c6bf5a833846a666039415d2b5d76a7e59a5b3ff710" sha256: "0251864fb82e2bd92a1b17e8562fe342e78cd530e26b0d2f54e94a441ccb4584"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.10" version: "23.1.36"
syncfusion_pdfviewer_web: syncfusion_pdfviewer_web:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_pdfviewer_web name: syncfusion_pdfviewer_web
sha256: "8e5ed0d313a1aa3869e4f2e8d079bc9bfa37ce79d91be7bb328e456f37b7995f" sha256: eb224f52e86326dbf08ea12978c3db0b4e376866a84d4fcb131fc06ec93cbe20
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.10" version: "23.1.36"
syncfusion_pdfviewer_windows: syncfusion_pdfviewer_windows:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_pdfviewer_windows name: syncfusion_pdfviewer_windows
sha256: "3e93f281135fb0562f7e6c343d2db741cf3cbd78c5b04884eef9af414408bc77" sha256: aca74797a97512f4d3ca2be0ed49193fae7e5fd29a9b1b1139429d39c9216bf9
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "21.2.10" version: "23.1.36"
synchronized: synchronized:
dependency: transitive dependency: transitive
description: description:
@ -1550,10 +1558,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.16" version: "0.6.0"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -1582,10 +1590,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: url_launcher name: url_launcher
sha256: eb1e00ab44303d50dd487aab67ebc575456c146c6af44422f9c13889984c00f3 sha256: "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.11" version: "6.1.14"
url_launcher_android: url_launcher_android:
dependency: transitive dependency: transitive
description: description:
@ -1650,6 +1658,30 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.7" version: "3.0.7"
vector_graphics:
dependency: transitive
description:
name: vector_graphics
sha256: "670f6e07aca990b4a2bcdc08a784193c4ccdd1932620244c3a86bb72a0eac67f"
url: "https://pub.dev"
source: hosted
version: "1.1.7"
vector_graphics_codec:
dependency: transitive
description:
name: vector_graphics_codec
sha256: "7451721781d967db9933b63f5733b1c4533022c0ba373a01bdd79d1a5457f69f"
url: "https://pub.dev"
source: hosted
version: "1.1.7"
vector_graphics_compiler:
dependency: transitive
description:
name: vector_graphics_compiler
sha256: "80a13c613c8bde758b1464a1755a7b3a8f2b6cec61fbf0f5a53c94c30f03ba2e"
url: "https://pub.dev"
source: hosted
version: "1.1.7"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -1666,6 +1698,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.2" version: "1.0.2"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
web_socket_channel: web_socket_channel:
dependency: transitive dependency: transitive
description: description:
@ -1678,10 +1718,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" sha256: f2add6fa510d3ae152903412227bda57d0d5a8da61d2c39c1fb022c9429a41c0
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.4" version: "5.0.6"
win32_registry:
dependency: transitive
description:
name: win32_registry
sha256: e4506d60b7244251bc59df15656a3093501c37fb5af02105a944d73eb95be4c9
url: "https://pub.dev"
source: hosted
version: "1.1.1"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
@ -1694,10 +1742,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: xml name: xml
sha256: "979ee37d622dec6365e2efa4d906c37470995871fe9ae080d967e192d88286b5" sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.2.2" version: "6.3.0"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -1707,5 +1755,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">2.19.0 <3.0.0" dart: ">=3.1.0 <4.0.0"
flutter: ">=3.7.0" flutter: ">=3.10.0"

View File

@ -36,15 +36,15 @@ dependencies:
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
flutter_custom_clippers: ^2.0.0 flutter_custom_clippers: ^2.0.0
flutter_svg: ^1.1.6 flutter_svg: ^2.0.7
flutter_form_builder: ^7.7.0 flutter_form_builder: ^9.1.1
form_builder_validators: any form_builder_validators: ^9.1.0
fluttericon: ^2.0.0 fluttericon: ^2.0.0
fluttertoast: ^8.1.1 fluttertoast: ^8.1.1
flutter_zoom_drawer: ^3.0.3 flutter_zoom_drawer: ^3.0.3
cached_network_image: ^3.2.3 cached_network_image: ^3.2.3
auto_size_text: ^3.0.0 auto_size_text: ^3.0.0
animate_do: ^3.0.2 animate_do: ^3.1.2
flutter_spinkit: ^5.1.0 flutter_spinkit: ^5.1.0
toggle_switch: ^2.0.1 toggle_switch: ^2.0.1
convex_bottom_bar: ^3.1.0+1 convex_bottom_bar: ^3.1.0+1
@ -54,34 +54,34 @@ dependencies:
flutter_progress_hud: ^2.0.2 flutter_progress_hud: ^2.0.2
barcode_scan2: ^4.2.1 barcode_scan2: ^4.2.1
qr_flutter: ^4.0.0 qr_flutter: ^4.0.0
signature: ^5.3.0 signature: ^5.4.0
awesome_dialog: ^3.0.2 awesome_dialog: ^3.0.2
system_info2: ^2.0.4 system_info2: ^2.0.4
flutter_bloc: ^8.0.0 flutter_bloc: ^8.0.0
equatable: ^2.0.5 equatable: ^2.0.5
package_info_plus: ^3.0.2 package_info_plus: 4.1.0
easy_app_installer: ^1.0.0 easy_app_installer: ^1.0.0
path_provider: ^2.0.14 path_provider: ^2.0.14
dio: ^4.0.6 dio: ^5.3.3
cool_alert: ^1.1.0 cool_alert: ^2.0.1
permission_handler: ^10.2.0 permission_handler: ^11.0.0
expandable_group: ^0.0.8 expandable_group: ^0.0.8
badges: ^3.0.2 badges: ^3.1.2
app_popup_menu: ^1.0.0 app_popup_menu: ^1.0.0
modal_progress_hud_nsn: ^0.3.0 modal_progress_hud_nsn: ^0.4.0
searchfield: ^0.7.5 searchfield: ^0.8.4
filter_list: ^1.0.2 filter_list: ^1.0.2
simple_chips_input: ^1.0.0 simple_chips_input: ^1.0.0
hive: ^2.0.5 hive: ^2.0.5
hive_flutter: ^1.1.0 hive_flutter: ^1.1.0
mask_text_input_formatter: ^2.4.0 mask_text_input_formatter: ^2.4.0
location: ^4.3.0 location: ^5.0.3
platform_device_id: ^1.0.1 platform_device_id: ^1.0.1
multi_dropdown: ^1.0.9 multi_dropdown: ^2.1.0
searchable_paginated_dropdown: ^1.2.0 searchable_paginated_dropdown: ^1.2.0
audioplayers: ^5.1.0 audioplayers: ^5.1.0
assets_audio_player: ^3.0.6 assets_audio_player: ^3.0.6
flutter_speed_dial: ^6.2.0 flutter_speed_dial: ^7.0.0
im_stepper: ^1.0.1+1 im_stepper: ^1.0.1+1
shared_preferences: ^2.0.20 shared_preferences: ^2.0.20
multiselect: any multiselect: any
@ -90,11 +90,11 @@ dependencies:
flutter_staggered_animations: ^1.1.1 flutter_staggered_animations: ^1.1.1
group_list_view: ^1.1.1 group_list_view: ^1.1.1
search_page: ^2.3.0 search_page: ^2.3.0
file_picker: ^5.3.1 file_picker: ^5.5.0
expandable: ^5.0.1 expandable: ^5.0.1
flutter_simple_treeview: ^3.0.2 flutter_simple_treeview: ^3.0.2
syncfusion_flutter_pdfviewer: ^23.1.36 syncfusion_flutter_pdfviewer: ^23.1.36
url_launcher: ^6.1.11 url_launcher: ^6.1.14
share_plus: ^7.1.0 share_plus: ^7.1.0
device_info_plus: ^9.0.3 device_info_plus: ^9.0.3
better_open_file: ^3.6.4 better_open_file: ^3.6.4
@ -114,7 +114,7 @@ dev_dependencies:
# rules and activating additional ones. # rules and activating additional ones.
flutter_lints: ^2.0.0 flutter_lints: ^2.0.0
build_runner: ^2.1.7 build_runner: ^2.1.7
hive_generator: ^1.1.2 hive_generator: ^2.0.1
# For information on the generic Dart part of this file, see the # For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec # following page: https://dart.dev/tools/pub/pubspec

View File

@ -7,7 +7,7 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <audioplayers_windows/audioplayers_windows_plugin.h> #include <audioplayers_windows/audioplayers_windows_plugin.h>
#include <modal_progress_hud_nsn/modal_progress_hud_nsn_plugin.h> #include <modal_progress_hud_nsn/modal_progress_hud_nsn_plugin_c_api.h>
#include <permission_handler_windows/permission_handler_windows_plugin.h> #include <permission_handler_windows/permission_handler_windows_plugin.h>
#include <platform_device_id_windows/platform_device_id_windows_plugin.h> #include <platform_device_id_windows/platform_device_id_windows_plugin.h>
#include <rive_common/rive_plugin.h> #include <rive_common/rive_plugin.h>
@ -18,8 +18,8 @@
void RegisterPlugins(flutter::PluginRegistry* registry) { void RegisterPlugins(flutter::PluginRegistry* registry) {
AudioplayersWindowsPluginRegisterWithRegistrar( AudioplayersWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin")); registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin"));
ModalProgressHudNsnPluginRegisterWithRegistrar( ModalProgressHudNsnPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ModalProgressHudNsnPlugin")); registry->GetRegistrarForPlugin("ModalProgressHudNsnPluginCApi"));
PermissionHandlerWindowsPluginRegisterWithRegistrar( PermissionHandlerWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
PlatformDeviceIdWindowsPluginRegisterWithRegistrar( PlatformDeviceIdWindowsPluginRegisterWithRegistrar(