| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -12,6 +12,7 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/generic_response_model.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/generic_response_model.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/privilege_list_model.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/ui/dialogs/success_dialog.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/ui/dialogs/success_dialog.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart';
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -47,7 +48,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  void checkAttendanceAvailability() async {
 | 
					 | 
					 | 
					 | 
					  void checkAttendanceAvailability() async {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    bool isAvailable = await NfcManager.instance.isAvailable();
 | 
					 | 
					 | 
					 | 
					    bool isAvailable = await NfcManager.instance.isAvailable();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    setState(() {
 | 
					 | 
					 | 
					 | 
					    setState(() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      AppState().privilegeListModel!.forEach((element) {
 | 
					 | 
					 | 
					 | 
					      AppState().privilegeListModel!.forEach((PrivilegeListModel element) {
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (element.serviceName == "enableNFC") {
 | 
					 | 
					 | 
					 | 
					        if (element.serviceName == "enableNFC") {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          if (isAvailable) if (element.previlege ?? false) isNfcEnabled = true;
 | 
					 | 
					 | 
					 | 
					          if (isAvailable) if (element.previlege ?? false) isNfcEnabled = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if (element.serviceName == "enableQR") {
 | 
					 | 
					 | 
					 | 
					        } else if (element.serviceName == "enableQR") {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -144,6 +145,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  Future<void> performNfcAttendance(DashboardProviderModel model, {String lat = "0", String lng = "0"}) async {
 | 
					 | 
					 | 
					 | 
					  Future<void> performNfcAttendance(DashboardProviderModel model, {String lat = "0", String lng = "0"}) async {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (Platform.isIOS) {
 | 
					 | 
					 | 
					 | 
					    if (Platform.isIOS) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      Utils.readNFc(onRead: (String nfcId) async {
 | 
					 | 
					 | 
					 | 
					      Utils.readNFc(onRead: (String nfcId) async {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.showLoading(context);
 | 
					 | 
					 | 
					 | 
					        Utils.showLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        try {
 | 
					 | 
					 | 
					 | 
					        try {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -152,7 +154,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					            Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            showDialog(
 | 
					 | 
					 | 
					 | 
					            showDialog(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              context: context,
 | 
					 | 
					 | 
					 | 
					              context: context,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              builder: (cxt) => ConfirmDialog(
 | 
					 | 
					 | 
					 | 
					              builder: (BuildContext cxt) => ConfirmDialog(
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                message: g?.errorEndUserMessage ?? "Unexpected error occurred",
 | 
					 | 
					 | 
					 | 
					                message: g?.errorEndUserMessage ?? "Unexpected error occurred",
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                onTap: () {
 | 
					 | 
					 | 
					 | 
					                onTap: () {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  Navigator.pop(context);
 | 
					 | 
					 | 
					 | 
					                  Navigator.pop(context);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -172,9 +174,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          }
 | 
					 | 
					 | 
					 | 
					          }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } catch (ex) {
 | 
					 | 
					 | 
					 | 
					        } catch (ex) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					          Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          Utils.handleException(ex, context, (msg) {
 | 
					 | 
					 | 
					 | 
					          Utils.handleException(ex, context, null);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Utils.confirmDialog(context, msg);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          });
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      });
 | 
					 | 
					 | 
					 | 
					      });
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } else {
 | 
					 | 
					 | 
					 | 
					    } else {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -186,7 +186,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					            Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            showDialog(
 | 
					 | 
					 | 
					 | 
					            showDialog(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              context: context,
 | 
					 | 
					 | 
					 | 
					              context: context,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              builder: (cxt) => ConfirmDialog(
 | 
					 | 
					 | 
					 | 
					              builder: (BuildContext cxt) => ConfirmDialog(
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                message: g?.errorEndUserMessage ?? "Unexpected error occurred",
 | 
					 | 
					 | 
					 | 
					                message: g?.errorEndUserMessage ?? "Unexpected error occurred",
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                onTap: () {
 | 
					 | 
					 | 
					 | 
					                onTap: () {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  Navigator.pop(context);
 | 
					 | 
					 | 
					 | 
					                  Navigator.pop(context);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -206,7 +206,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } catch (ex) {
 | 
					 | 
					 | 
					 | 
					        } catch (ex) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          print(ex);
 | 
					 | 
					 | 
					 | 
					          print(ex);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					          Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          Utils.handleException(ex, context, (msg) {
 | 
					 | 
					 | 
					 | 
					          Utils.handleException(ex, context, (String msg) {
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Utils.confirmDialog(context, msg);
 | 
					 | 
					 | 
					 | 
					            Utils.confirmDialog(context, msg);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          });
 | 
					 | 
					 | 
					 | 
					          });
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -228,19 +228,23 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (isConnected) {
 | 
					 | 
					 | 
					 | 
					    if (isConnected) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if (Platform.isIOS) {
 | 
					 | 
					 | 
					 | 
					      // if (Platform.isIOS) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        await closeWifiRequest();
 | 
					 | 
					 | 
					 | 
					      //   await closeWifiRequest();
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        await Future.delayed(Duration(seconds: 6));
 | 
					 | 
					 | 
					 | 
					      //   await Future.delayed(Duration(seconds: 6));
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } else {
 | 
					 | 
					 | 
					 | 
					      // } else {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        await WiFiForIoTPlugin.forceWifiUsage(true);
 | 
					 | 
					 | 
					 | 
					      //   await WiFiForIoTPlugin.forceWifiUsage(true);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      }
 | 
					 | 
					 | 
					 | 
					      // }
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      await WiFiForIoTPlugin.forceWifiUsage(true);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      await Future.delayed(const Duration(seconds: 6));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      try {
 | 
					 | 
					 | 
					 | 
					      try {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        GenericResponseModel? g = await DashboardApiClient().markAttendance(pointType: 3, nfcValue: "", isGpsRequired: isWifiLocationEnabled, lat: lat, long: lng);
 | 
					 | 
					 | 
					 | 
					        GenericResponseModel? g = await DashboardApiClient().markAttendance(pointType: 3, nfcValue: "", isGpsRequired: isWifiLocationEnabled, lat: lat, long: lng);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bool status = await model.fetchAttendanceTracking(context);
 | 
					 | 
					 | 
					 | 
					        bool status = await model.fetchAttendanceTracking(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					        Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (Platform.isAndroid) {
 | 
					 | 
					 | 
					 | 
					        // if (Platform.isAndroid) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          await closeWifiRequest();
 | 
					 | 
					 | 
					 | 
					        //   await closeWifiRequest();
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        // }
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        await closeWifiRequest();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        showMDialog(
 | 
					 | 
					 | 
					 | 
					        showMDialog(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          context,
 | 
					 | 
					 | 
					 | 
					          context,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          backgroundColor: Colors.transparent,
 | 
					 | 
					 | 
					 | 
					          backgroundColor: Colors.transparent,
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -250,9 +254,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } catch (ex) {
 | 
					 | 
					 | 
					 | 
					      } catch (ex) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        await closeWifiRequest();
 | 
					 | 
					 | 
					 | 
					        await closeWifiRequest();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					        Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.handleException(ex, context, (msg) {
 | 
					 | 
					 | 
					 | 
					        Utils.handleException(ex, context, null);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          Utils.confirmDialog(context, msg);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        });
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      }
 | 
					 | 
					 | 
					 | 
					      }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } else {
 | 
					 | 
					 | 
					 | 
					    } else {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					      Utils.hideLoading(context);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -270,7 +272,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  Future<void> performQrCodeAttendance(DashboardProviderModel model, {String lat = "0", String lng = "0"}) async {
 | 
					 | 
					 | 
					 | 
					  Future<void> performQrCodeAttendance(DashboardProviderModel model, {String lat = "0", String lng = "0"}) async {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    var qrCodeValue = await Navigator.of(context).push(
 | 
					 | 
					 | 
					 | 
					    var qrCodeValue = await Navigator.of(context).push(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      MaterialPageRoute(
 | 
					 | 
					 | 
					 | 
					      MaterialPageRoute(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        builder: (context) => QrScannerDialog(),
 | 
					 | 
					 | 
					 | 
					        builder: (BuildContext context) => QrScannerDialog(),
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ),
 | 
					 | 
					 | 
					 | 
					      ),
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    );
 | 
					 | 
					 | 
					 | 
					    );
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (qrCodeValue != null) {
 | 
					 | 
					 | 
					 | 
					    if (qrCodeValue != null) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -288,9 +290,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } catch (ex) {
 | 
					 | 
					 | 
					 | 
					      } catch (ex) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        print(ex);
 | 
					 | 
					 | 
					 | 
					        print(ex);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					        Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.handleException(ex, context, (msg) {
 | 
					 | 
					 | 
					 | 
					        Utils.handleException(ex, context, null);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          Utils.confirmDialog(context, msg);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        });
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      }
 | 
					 | 
					 | 
					 | 
					      }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }
 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -304,9 +304,7 @@ class _MarkAttendanceWidgetState extends State<MarkAttendanceWidget> {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } catch (ex) {
 | 
					 | 
					 | 
					 | 
					    } catch (ex) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      print(ex);
 | 
					 | 
					 | 
					 | 
					      print(ex);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      Utils.hideLoading(context);
 | 
					 | 
					 | 
					 | 
					      Utils.hideLoading(context);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      Utils.handleException(ex, context, (msg) {
 | 
					 | 
					 | 
					 | 
					      Utils.handleException(ex, context, null);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Utils.confirmDialog(context, msg);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      });
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }
 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |