import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'package:barcode_scan/barcode_scan.dart'; import 'package:fluttertoast/fluttertoast.dart'; import '../main.dart'; class Util{ scan()async{ String BarcodeText =''; try{ ScanResult result = await BarcodeScanner.scan(); BarcodeText = result.rawContent; return {'STATUS':1,'DATA':BarcodeText}; } catch(e){ return {'STATUS':0,'DATA':e}; } } JsonDataPostRaw(Map jsonData, String url,{timeout:false,duration:10}) async{ const JsonDecoder decoder = const JsonDecoder(); try { var response; if (timeout) response = await http.post( '$url', headers: {'Content-type': 'application/json'}, body: json.encode(jsonData)).timeout( Duration(seconds: duration)); else response = await http.post( '$url', headers: {'Content-type': 'application/json'}, body: json.encode(jsonData)); final Map data = decoder.convert(response.body); return data; } on TimeoutException catch(e){ return {"STATUS":"ERROR","ERROR":"Request Timeout"}; } on Exception catch(exception){ print(url); // Toast("Not Connected to Server", Colors.red); return {"STATUS":"ERROR","ERROR":"Not Connected to Server. $exception"}; } } showToast(type,text)async{ await Fluttertoast.cancel(); Fluttertoast.showToast( msg: "$text", toastLength: Toast.LENGTH_SHORT, gravity: ToastGravity.BOTTOM, timeInSecForIosWeb: 1, backgroundColor: (type=='ERROR')?Colors.red:(type=='SUCCESS')?Colors.green:Colors.black38, textColor: Colors.white, fontSize: 16.0 ); } showLoading(context,{dissmissable=false,onwillpop}){ showDialog( context: context, builder: (BuildContext context) { return WillPopScope( onWillPop: onwillpop??()async{return true;}, child: new Center( child: new CircularProgressIndicator(), ), ); }, barrierDismissible: dissmissable, ); } checkinternet()async{ try { var result = await InternetAddress.lookup('google.com').timeout(Duration(seconds: 3),onTimeout: (){return null;}); if (result!=null && result.isNotEmpty && result[0].rawAddress.isNotEmpty) { return true; } else return false; } on SocketException catch (_) { return false; } } }