// import 'dart:async'; // import 'dart:developer'; // import 'dart:io'; // // import 'package:flutter/material.dart'; // import 'package:geolocator/geolocator.dart'; // import 'package:huawei_location/huawei_location.dart'; // import 'package:nfc_manager/nfc_manager.dart'; // import 'package:permission_handler/permission_handler.dart'; // import 'package:provider/provider.dart'; // import 'package:test_sa/controllers/providers/api/user_provider.dart'; // import 'package:test_sa/extensions/int_extensions.dart'; // import 'package:test_sa/extensions/text_extensions.dart'; // import 'package:test_sa/extensions/widget_extensions.dart'; // import 'package:test_sa/new_views/app_style/app_color.dart'; // import 'package:test_sa/new_views/pages/land_page/nfc/nfc_reader_sheet.dart'; // import 'package:test_sa/new_views/swipe_module/dialoge/confirm_dialog.dart'; // import 'package:test_sa/new_views/swipe_module/dialoge/qr_scanner_dialog.dart'; // import 'package:test_sa/new_views/swipe_module/dialoge/success_dialog.dart'; // import 'package:test_sa/new_views/swipe_module/enums/swipe_type.dart'; // import 'package:test_sa/new_views/swipe_module/models/swipe_model.dart'; // import 'package:test_sa/new_views/swipe_module/swipe_success_view.dart'; // import 'package:test_sa/new_views/swipe_module/utils/location_utils.dart'; // import 'package:test_sa/new_views/swipe_module/utils/swipe_general_utils.dart'; // import 'package:wifi_iot/wifi_iot.dart'; // todo @sikander delete this file after compelte // class MarkAttendanceWidget extends StatefulWidget { // double topPadding; // bool isFromDashboard; // // MarkAttendanceWidget({Key key, this.topPadding = 0, this.isFromDashboard = false}) : super(key: key); // // // todo MarkAttendanceWidget(this.model, {Key? key, this.topPadding = 0, this.isFromDashboard = false}) : super(key: key); // // @override // _MarkAttendanceWidgetState createState() { // return _MarkAttendanceWidgetState(); // } // } // // class _MarkAttendanceWidgetState extends State { // bool isNfcEnabled = false, isQrEnabled = false, isWifiEnabled = false; // UserProvider _userProvider; // // int _locationUpdateCbId = 0; // // @override // void initState() { // super.initState(); // checkAttendanceAvailability(); // } // // void checkAttendanceAvailability() async { // _userProvider = Provider.of(context, listen: false); // bool isAvailable = await NfcManager.instance.isAvailable(); // log('backend enabled values are nfc ${_userProvider.user.enableNFC} qr ${_userProvider.user.enableQR} wifi ${_userProvider.user.enableWifi}'); // setState(() { // if (isAvailable && _userProvider.user.enableNFC) isNfcEnabled = true; // if (_userProvider.user.enableQR) isQrEnabled = true; // if (_userProvider.user.enableWifi) isWifiEnabled = true; // }); // } // // void checkHuaweiLocationPermission(SwipeTypeEnum attendanceType, BuildContext context) async { // // Permission_Handler permissionHandler = PermissionHandler(); // LocationUtilities.isEnabled((bool isEnabled) async { // if (isEnabled) { // LocationUtilities.havePermission((bool permission) async { // if (permission) { // getHuaweiCurrentLocation(attendanceType, context); // } else { // bool has = await requestPermissions(); // if (has) { // getHuaweiCurrentLocation(attendanceType, context); // } else { // showDialog( // context: context, // builder: (BuildContext cxt) => ConfirmDialog( // message: "You need to give location permission to mark attendance", // onTap: () { // Navigator.pop(context); // }, // ), // ); // } // } // }); // } else { // showDialog( // context: context, // builder: (BuildContext cxt) => ConfirmDialog( // message: "You need to enable location services to mark attendance", // onTap: () async { // Navigator.pop(context); // await Geolocator.openLocationSettings(); // }, // ), // ); // } // }); // // // if (await permissionHandler.hasLocationPermission()) { // // getHuaweiCurrentLocation(attendanceType); // // } else { // // bool has = await requestPermissions(); // // if (has) { // // getHuaweiCurrentLocation(attendanceType); // // } else { // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: "You need to give location permission to mark attendance", // // onTap: () { // // Navigator.pop(context); // // }, // // ), // // ); // // } // // } // } // // Future requestPermissions() async { // var result = await [ // Permission.location, // ].request(); // return (result[Permission.location] == PermissionStatus.granted || result[Permission.locationAlways] == PermissionStatus.granted); // } // // @override // void dispose() { // super.dispose(); // // Stop Session // NfcManager.instance.stopSession(); // } // // @override // Widget build(BuildContext context) { // return Container( // padding: EdgeInsets.only(left: 21, right: 21, bottom: 21, top: widget.topPadding), // decoration: const BoxDecoration(borderRadius: BorderRadius.only(topLeft: Radius.circular(25), topRight: Radius.circular(25)), color: Colors.white), // width: double.infinity, // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // mainAxisSize: MainAxisSize.min, // children: [ // 20.height, // 'click me '.heading5(context), // // LocaleKeys.markAttendance.tr().toSectionHeading(), // // LocaleKeys.selectMethodOfAttendance.tr().toText11(color: const Color(0xff535353)), // GridView( // physics: const NeverScrollableScrollPhysics(), // shrinkWrap: true, // padding: const EdgeInsets.only(bottom: 0, top: 21), // gridDelegate: // SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: (MediaQuery.of(context).size.width < 550) ? 3 : 5, childAspectRatio: 1 / 1, crossAxisSpacing: 8, mainAxisSpacing: 8), // children: availableAttendanceMethodList(context: context), // ) // ], // ), // ); // } // // void handleSwipe({ // SwipeTypeEnum swipeType, // @required bool isEnable, // @required BuildContext context, // }) { // // if (AppState().getIsHuawei) { // if (false) { // checkHuaweiLocationPermission(swipeType, context); // } else { // LocationUtilities.isEnabled((bool isEnabled) { // if (isEnabled) { // LocationUtilities.havePermission((bool permission) { // if (permission) { // SwipeGeneralUtils.showLoading(context); // LocationUtilities.getCurrentLocation( // (Position position, bool isMocked) { // if (isMocked) { // SwipeGeneralUtils.hideLoading(context); // SwipeGeneralUtils.markFakeAttendance(swipeType.name, position.latitude.toString() ?? "", position.longitude.toString() ?? "", context); // } else { // SwipeGeneralUtils.hideLoading(context); // //todo performNfcAttendance(widget.model, lat: position.latitude.toString() ?? "", lng: position.longitude.toString() ?? ""); // handleSwipeOperation(swipeType: swipeType, lat: position.latitude, lang: position.longitude); // } // }, // () { // SwipeGeneralUtils.hideLoading(context); // SwipeGeneralUtils.confirmDialog(context, "Unable to determine your location, Please make sure that your location services are turned on & working."); // }, // context, // ); // } else { // showDialog( // context: context, // builder: (BuildContext cxt) => ConfirmDialog( // message: "You need to give location permission to mark attendance", // onTap: () async { // Navigator.pop(context); // await Geolocator.openAppSettings(); // }, // ), // ); // } // }); // } else { // showDialog( // context: context, // builder: (BuildContext cxt) => ConfirmDialog( // message: "You need to enable location services to mark attendance", // onTap: () async { // Navigator.pop(context); // await Geolocator.openLocationSettings(); // }, // ), // ); // } // }); // } // } // // void handleSwipeOperation({@required SwipeTypeEnum swipeType, double lat, double lang, BuildContext context}) { // switch (swipeType) { // case SwipeTypeEnum.NFC: // handleNfcAttendance(latitude: lat, longitude: lang, context: context); // return; // case SwipeTypeEnum.QR: // performQrCodeAttendance(latitude: lat, longitude: lang, context: context); // return; // case SwipeTypeEnum.Wifi: // //TODO need to implement. // return; // } // } // // void getHuaweiCurrentLocation(SwipeTypeEnum attendanceType, BuildContext context) async { // try { // SwipeGeneralUtils.showLoading(context); // FusedLocationProviderClient locationService = FusedLocationProviderClient()..initFusedLocationService(); // LocationRequest locationRequest = LocationRequest(); // locationRequest.priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY; // locationRequest.interval = 500; // List locationRequestList = [locationRequest]; // LocationSettingsRequest locationSettingsRequest = LocationSettingsRequest(requests: locationRequestList); // // StreamSubscription _streamSubscription; // int requestCode = (await (locationService.requestLocationUpdates(locationRequest))); // // _streamSubscription = locationService.onLocationData.listen( // (Location location) async { // SwipeGeneralUtils.hideLoading(context); // await locationService.removeLocationUpdates(requestCode); // handleSwipeOperation(swipeType: attendanceType); // requestCode = 0; // }, // ); // // // locationService.checkLocationSettings(locationSettingsRequest).then((settings) async { // // await locationService.getLastLocation().then((value) { // // if (value.latitude == null || value.longitude == null) { // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: "Unable to get your location, Please check your location settings & try again.", // // onTap: () { // // Navigator.pop(context); // // }, // // ), // // ); // // } else { // // if (attendanceType == "QR") { // // performQrCodeAttendance(widget.model, lat: value.latitude.toString() ?? "", lng: value.longitude.toString() ?? ""); // // } // // if (attendanceType == "WIFI") { // // performWifiAttendance(widget.model, lat: value.latitude.toString() ?? "", lng: value.longitude.toString() ?? ""); // // } // // if (attendanceType == "NFC") { // // performNfcAttendance(widget.model, lat: value.latitude.toString() ?? "", lng: value.longitude.toString() ?? ""); // // } // // } // // }).catchError((error) { // // log("HUAWEI LOCATION getLastLocation ERROR!!!!!"); // // log(error); // // }); // // }).catchError((error) { // // log("HUAWEI LOCATION checkLocationSettings ERROR!!!!!"); // // log(error); // // if (error.code == "LOCATION_SETTINGS_NOT_AVAILABLE") { // // // Location service not enabled. // // } // // }); // } catch (error) { // log("HUAWEI LOCATION ERROR!!!!!"); // log('$error'); // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.handleException(error, context, null); // } // } // // Future handleNfcAttendance({double latitude = 0, double longitude = 0, BuildContext context}) async { // final userProvider = Provider.of(context, listen: false); // // if (Platform.isIOS) { // SwipeGeneralUtils.readNFc(onRead: (String nfcId) async { // await _processNfcAttendance(userProvider, nfcId, latitude, longitude, context); // }); // } else { // showNfcReader(context, onNcfScan: (String nfcId) async { // await _processNfcAttendance(userProvider, nfcId ?? '', latitude, longitude, context); // }); // } // } // // Future _processNfcAttendance( // UserProvider userProvider, // String nfcId, // double latitude, // double longitude, // BuildContext context, // ) async { // SwipeGeneralUtils.showLoading(context); // try { // // final swipeModel = Swipe( // // swipeTypeValue: SwipeTypeEnum.NFC.getIntFromSwipeTypeEnum(), // // value: nfcId, // // latitude: latitude, // // longitude: longitude, // // ); // //Test model... // final swipeModel = Swipe(swipeTypeValue: SwipeTypeEnum.NFC.getIntFromSwipeTypeEnum(), value: '123', latitude: 24.70865415364271, longitude: 46.66600861881879); // final swipeResponse = await userProvider.makeSwipe(model: swipeModel); // if (swipeResponse.isSuccess) { // if (Platform.isIOS) await Future.delayed(const Duration(seconds: 3)); // SwipeGeneralUtils.hideLoading(context); // Navigator.pushNamed(context, SwipeSuccessView.routeName); // } else { // SwipeGeneralUtils.hideLoading(context); // SwipeGeneralUtils.showErrorDialog(message: swipeResponse.message ?? "Unexpected error occurred", context: context); // } // } catch (errSwipeGeneralUtilsor) { // SwipeGeneralUtils.hideLoading(context); // // Uncomment below line for error handling if needed // // SwipeGeneralUtils.handleException(error, context, null); // } // } // // Future closeWifiRequest() async { // if (Platform.isAndroid) { // await WiFiForIoTPlugin.forceWifiUsage(false); // } // return await WiFiForIoTPlugin.disconnect(); // } // // Future performQrCodeAttendance({double latitude, double longitude, BuildContext context}) async { // UserProvider userProvider = Provider.of(context, listen: false); // var qrCodeValue = await Navigator.of(context).push( // MaterialPageRoute( // builder: (BuildContext context) => QrScannerDialog(), // ), // ); // if (qrCodeValue != null) { // SwipeGeneralUtils.showLoading(context); // try { // //test model.. // final swipeModel = Swipe( // swipeTypeValue: SwipeTypeEnum.QR.getIntFromSwipeTypeEnum(), // value: '2323', // latitude: 24.70865415364271, // longitude: 46.66600861881879, // ); // final swipeResponse = await userProvider.makeSwipe(model: swipeModel); // if (swipeResponse.isSuccess) { // SwipeGeneralUtils.hideLoading(context); // SwipeGeneralUtils.showMDialog(context, backgroundColor: Colors.transparent, isDismissable: true, child: SuccessDialog(widget.isFromDashboard)); // } else { // SwipeGeneralUtils.hideLoading(context); // showDialog( // barrierDismissible: true, // context: context, // builder: (cxt) => ConfirmDialog( // message: swipeResponse.message ?? "", // onTap: () { // Navigator.pop(context); // }, // onCloseTap: () {} // ), // ); // } // } catch (ex) { // SwipeGeneralUtils.hideLoading(context); // } // } // } // // List availableAttendanceMethodList({@required BuildContext context}) { // List availableMethods = []; // if (isNfcEnabled) { // availableMethods.add(attendanceMethod(SwipeTypeEnum.NFC.name, 'nfc_icon', isNfcEnabled, () { // handleSwipe(swipeType: SwipeTypeEnum.NFC, isEnable: isNfcEnabled, context: context); // })); // } // if (isQrEnabled) { // availableMethods.add(attendanceMethod(SwipeTypeEnum.QR.name, 'wifi_icon', isQrEnabled, () { // handleSwipe(swipeType: SwipeTypeEnum.QR, isEnable: isQrEnabled, context: context); // })); // } // if (isWifiEnabled) { // availableMethods.add(attendanceMethod(SwipeTypeEnum.Wifi.name, 'wifi_icon', isWifiEnabled, () { // handleSwipe(swipeType: SwipeTypeEnum.Wifi, isEnable: isWifiEnabled, context: context); // })); // } // return availableMethods; // } // // Widget attendanceMethod(String title, String icon, bool isEnabled, VoidCallback onPress) { // return Container( // padding: EdgeInsets.all(12), // decoration: BoxDecoration( // color: Colors.white, // borderRadius: BorderRadius.circular(18), // border: Border.all(color: AppColor.white40, width: 2), // ), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // mainAxisAlignment: MainAxisAlignment.spaceBetween, // children: [ // icon.toSvgAsset(), // title.heading5(context).custom(color: AppColor.neutral50), // // Text( // // title, // // style: TextStyle(fontSize: 12, fontWeight: FontWeight.w500), // // ), // ], // ), // ).onPress( // () { // log('isEnabled is ${!isEnabled}'); // if (!isEnabled) return; // onPress(); // }, // ); // // return Container( // // decoration: BoxDecoration( // // borderRadius: BorderRadius.circular(15), // // color: isEnabled ? null : Colors.grey.withOpacity(.5), // // gradient: isEnabled // // ? const LinearGradient( // // transform: GradientRotation(.64), // // begin: Alignment.topRight, // // end: Alignment.bottomLeft, // // colors: [ // // //ToDo set Colors according to design provided by designer... // // Colors.blue, // // Colors.green, // // // AppColor.gradiantEndColor, // // // MyColors.gradiantStartColor, // // ], // // ) // // : null, // // ), // // clipBehavior: Clip.antiAlias, // // padding: const EdgeInsets.only(left: 10, right: 10, top: 14, bottom: 14), // // child: Column( // // crossAxisAlignment: CrossAxisAlignment.start, // // children: [ // // // SvgPicture.asset(image, color: Colors.white, alignment: Alignment.topLeft).expanded, // // Icon(iconData, color: isEnabled ? AppColor.black35 : Colors.grey), // // title.heading6(context), // // // title.toText17(isBold: true, color: Colors.white), // // ], // // ), // // ).onPress( // // () { // // log('isEnabled is ${!isEnabled}'); // // if (!isEnabled) return; // // onPress(); // // }, // // ); // } // } // // // Widget customListItem({required String icon, required String heading, required String subHeading, required VoidCallback onTap}) { // // return GestureDetector( // // onTap: onTap, // Handles the tap // // child: Card( // // shape: RoundedRectangleBorder( // // borderRadius: BorderRadius.circular(14), // Circular border radius // // ), // // color: Colors.white, // // child: Row( // // crossAxisAlignment: CrossAxisAlignment.start, // Align items at the top // // children: [ // // // Icon Section // // icon // // .toSvgAsset( // // width: 32, // // color: AppColor.neutral120, // // height: 29, // // ) // // .paddingOnly(top: 8), // // 14.width, // // Expanded( // // child: Column( // // crossAxisAlignment: CrossAxisAlignment.start, // // children: [ // // Text( // // heading, // // style: AppTextStyles.heading6.copyWith(color: AppColor.neutral50), // // ), // // 7.height, // // Text( // // subHeading, // // style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), // // ), // // ], // // ).paddingOnly(end: 50), // // ), // // ], // // ).paddingAll(12), // // ), // // ); // // } // // //qr older code... // // //nfc older code widget // // // // if (AppState().getIsHuawei) { // // if (false) { // // checkHuaweiLocationPermission(SwipeTypeEnum.NFC); // // } else { // // LocationUtilities.isEnabled((bool isEnabled) { // // if (isEnabled) { // // LocationUtilities.havePermission((bool permission) { // // if (permission) { // // SwipeGeneralUtils.showLoading(context); // // LocationUtilities.getCurrentLocation( // // (Position position, bool isMocked) { // // if (isMocked) { // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.markFakeAttendance("NFC", position.latitude.toString() ?? "", position.longitude.toString() ?? "",context); // // } else { // // SwipeGeneralUtils.hideLoading(context); // // //todo performNfcAttendance(widget.model, lat: position.latitude.toString() ?? "", lng: position.longitude.toString() ?? ""); // // } // // }, // // () { // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.confirmDialog(context, "Unable to determine your location, Please make sure that your location services are turned on & working."); // // }, // // context, // // ); // // } else { // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: "You need to give location permission to mark attendance", // // onTap: () async { // // Navigator.pop(context); // // await Geolocator.openAppSettings(); // // }, // // ), // // ); // // } // // }); // // } else { // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: "You need to enable location services to mark attendance", // // onTap: () async { // // Navigator.pop(context); // // await Geolocator.openLocationSettings(); // // }, // // ), // // ); // // } // // }); // // } // // //older code.... // // Future performNfcAttendance({double lat = 0, double lng = 0}) async { // // UserProvider userProvider = Provider.of(context,listen:false); // // if (Platform.isIOS) { // // SwipeGeneralUtils.readNFc(onRead: (String nfcId) async { // // SwipeGeneralUtils.showLoading(context); // // try { // // SwipeModel swipeResponse = await userProvider.makeSwipe(model: Swipe(swipeTypeValue: SwipeTypeEnum.NFC.getIntFromSwipeTypeEnum(), value: '', latitude: lat, longitude: lng)); // // if (swipeResponse.responseCode != 1) { // // SwipeGeneralUtils.hideLoading(context); // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: swipeResponse.message ?? "Unexpected error occurred", // // onTap: () { // // Navigator.pop(context); // // }, // // ), // // ); // // } else { // // bool status = swipeResponse.data; // // if (Platform.isIOS) await Future.delayed(const Duration(seconds: 3)); // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.showMDialog( // // context, // // backgroundColor: Colors.transparent, // // isDismissable: true, // // child: SuccessDialog(widget.isFromDashboard), // // ); // // } // // } catch (ex) { // // SwipeGeneralUtils.hideLoading(context); // // // SwipeGeneralUtils.handleException(ex, context, null); // // } // // }); // // } else { // // showNfcReader(context, onNcfScan: (String nfcId) async { // // SwipeGeneralUtils.showLoading(context); // // try { // // SwipeModel swipeResponse = await userProvider.makeSwipe(model: Swipe(swipeTypeValue: SwipeTypeEnum.NFC.getIntFromSwipeTypeEnum(), value: nfcId??'', latitude: lat, longitude: lng)); // // log('api response i got is ${swipeResponse.toJson()}'); // // if (swipeResponse.responseCode != 1) { // // SwipeGeneralUtils.hideLoading(context); // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: swipeResponse.message ?? "Unexpected error occurred", // // onTap: () { // // Navigator.pop(context); // // }, // // ), // // ); // // } else { // // bool status = swipeResponse.data; //use this status to get transactions. // // if (Platform.isIOS) await Future.delayed(const Duration(seconds: 3)); // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.showMDialog( // // context, // // backgroundColor: Colors.transparent, // // isDismissable: true, // // child: SuccessDialog(widget.isFromDashboard), // // ); // // } // // } catch (ex) { // // SwipeGeneralUtils.hideLoading(context); // // // SwipeGeneralUtils.handleException(ex, context, null); // // } // // // SwipeGeneralUtils.showLoading(context); // // // try { // // // GenericResponseModel? g = await DashboardApiClient().markAttendance(pointType: 2, nfcValue: nfcId ?? "", isGpsRequired: isNfcLocationEnabled, lat: lat, long: lng); // // // if (g?.messageStatus != 1) { // // // SwipeGeneralUtils.hideLoading(context); // // // showDialog( // // // context: context, // // // builder: (BuildContext cxt) => ConfirmDialog( // // // message: g?.errorEndUserMessage ?? "Unexpected error occurred", // // // onTap: () { // // // Navigator.pop(context); // // // }, // // // ), // // // ); // // // } else { // // // bool status = await model.fetchAttendanceTracking(context); // // // SwipeGeneralUtils.hideLoading(context); // // // showMDialog( // // // context, // // // backgroundColor: Colors.transparent, // // // isDismissable: false, // // // child: SuccessDialog(widget.isFromDashboard), // // // ); // // // } // // // } catch (ex) { // // // log(ex); // // // SwipeGeneralUtils.hideLoading(context); // // // // SwipeGeneralUtils.handleException(ex, context, (String msg) { // // // // SwipeGeneralUtils.confirmDialog(context, msg); // // // // }); // // // } // // }); // // } // // } // // // // // Future checkSession() async { // // try { // // SwipeGeneralUtils.showLoading(context); // // await DashboardApiClient().getOpenMissingSwipes(); // // SwipeGeneralUtils.hideLoading(context); // // return true; // // } catch (ex) { // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.handleException(ex, context, null); // // return false; // // } // // } // // //TODO need to confirm .... // Future performWifiAttendance({double? latitude, double? lng}) async { // // if (Platform.isAndroid) { // // if (!(await checkSession())) { // // return; // // } // // } // SwipeGeneralUtils.showLoading(context); // bool isConnected = await WiFiForIoTPlugin.connect(AppState().getMohemmWifiSSID ?? "", // password: AppState().getMohemmWifiPassword ?? "", joinOnce: Platform.isIOS ? false : true, security: NetworkSecurity.WPA, withInternet: false); // // if (Platform.isIOS) { // if (await WiFiForIoTPlugin.getSSID() == AppState().getMohemmWifiSSID) { // isConnected = true; // } else { // isConnected = false; // } // } // // if (isConnected && AppState().isAuthenticated) { // await WiFiForIoTPlugin.forceWifiUsage(true); // await Future.delayed(const Duration(seconds: 6)); // try { // GenericResponseModel? g = await DashboardApiClient().markAttendance(pointType: 3, nfcValue: "", isGpsRequired: isWifiLocationEnabled, lat: lat, long: lng); // bool status = await model.fetchAttendanceTracking(context); // SwipeGeneralUtils.hideLoading(context); // await closeWifiRequest(); // if (g?.messageStatus == 2) { // showDialog( // barrierDismissible: true, // context: context, // builder: (cxt) => ConfirmDialog( // message: g?.errorEndUserMessage ?? "", // onTap: () { // Navigator.pop(context); // }, // onCloseTap: () {}, // ), // ); // } else { // showMDialog( // context, // backgroundColor: Colors.transparent, // isDismissable: false, // child: SuccessDialog(widget.isFromDashboard), // ); // } // } catch (ex) { // await closeWifiRequest(); // SwipeGeneralUtils.hideLoading(context); // SwipeGeneralUtils.handleException(ex, context, null); // } // } else { // if (AppState().isAuthenticated) { // SwipeGeneralUtils.hideLoading(context); // SwipeGeneralUtils.confirmDialog(context, "LocaleKeys.comeNearHMGWifi.tr()"); // } else { // await closeWifiRequest(); // } // } // } // // // older grid widget.. // // attendanceMethod(SwipeTypeEnum.NFC.name, Icons.nfc, isNfcEnabled, () { // // handleSwipe(swipeType: SwipeTypeEnum.NFC, isEnable: isNfcEnabled); // // }), // // attendanceMethod(SwipeTypeEnum.QR.name, Icons.qr_code_2, isQrEnabled, () async { // // handleSwipe(swipeType: SwipeTypeEnum.QR, isEnable: true); // // }), // // //if (isWifiEnabled) //todo // // attendanceMethod(SwipeTypeEnum.Wifi.name, Icons.wifi, isWifiEnabled, () { // // // if (AppState().getIsHuawei) { // // if (false) { // // checkHuaweiLocationPermission(SwipeTypeEnum.Wifi); // // } else { // // LocationUtilities.isEnabled((bool isEnabled) { // // if (isEnabled) { // // LocationUtilities.havePermission((bool permission) { // // if (permission) { // // SwipeGeneralUtils.showLoading(context); // // LocationUtilities.getCurrentLocation( // // (Position position, bool isMocked) { // // if (isMocked) { // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.markFakeAttendance("WIFI", position.latitude.toString() ?? "", position.longitude.toString() ?? "", context); // // } else { // // SwipeGeneralUtils.hideLoading(context); // // //todo performWifiAttendance(widget.model, lat: position.latitude.toString() ?? "", lng: position.longitude.toString() ?? ""); // // } // // }, // // () { // // SwipeGeneralUtils.hideLoading(context); // // SwipeGeneralUtils.confirmDialog(context, "Unable to determine your location, Please make sure that your location services are turned on & working."); // // }, // // context, // // ); // // } else { // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: "You need to give location permission to mark attendance", // // onTap: () async { // // Navigator.pop(context); // // await Geolocator.openAppSettings(); // // }, // // ), // // ); // // } // // }); // // } else { // // showDialog( // // context: context, // // builder: (BuildContext cxt) => ConfirmDialog( // // message: "You need to enable location services to mark attendance", // // onTap: () async { // // Navigator.pop(context); // // await Geolocator.openLocationSettings(); // // }, // // ), // // ); // // } // // }); // // } // // }),