registerAppTasks method

void registerAppTasks()

Implementation

void registerAppTasks(){
  registerDataTaskFunction("appBrowserDetected",(Map<String,dynamic> params)async{
    Map<String,dynamic> data=await Simplify.appDetails;
    data["dataTask"]="isAppBrowserNotify";
    sendMessageToWebview(data);
  });
  registerDataTaskFunction("getCurrentLocation",(Map<String,dynamic> params) async {
    Map<String,dynamic >data=params["data"];
    simplify.debugMessage("Getting Current Location");
    data["dataTask"]="getCurrentLocation";
    data["dataTaskResult"]=await LocationHelper.getCurrentLocation();
    sendMessageToWebview(data);
  });
  registerDataTaskFunction("getPosPrintersList", (Map<String,dynamic> params) async {
    Map<String,dynamic >data=params["data"];
    data["dataTask"]="getPosPrintersList";
    // data["dataTaskResult"]=await _printHandler.getPosPrintersList();
    sendMessageToWebview(data);
  });
  registerDataTaskFunction("getPrintersList", (Map<String,dynamic> params) async {
    Map<String,dynamic >data=params["data"];
    data["dataTask"]="getPrintersList";
    data["dataTaskResult"]=await printHelper.getPrintersList();
    sendMessageToWebview(data);
  });
  registerDataTaskFunction("launchUrl",(Map<String,dynamic> params){
    Map<String,dynamic >data=params["data"];
    if(data.containsKey("launchDetails")){
      Map<String,dynamic> launchDetails=data["launchDetails"];
      if(launchDetails.containsKey("launchUrl")){
        String tempLaunchUrl=launchDetails["launchUrl"].toString();
        try{
          Simplify.launchUrl(tempLaunchUrl);
        }
        catch(ex){
          Simplify.getExceptionMessage(ex);
        }
      }
    }
  });
  registerDataTaskFunction("print", (Map<String,dynamic> params) async {
    Map<String,dynamic >data=params["data"];
    print("Printing Document");
    data["dataTask"]="print";
    data["dataTaskResult"]=await printHelper.printPdf(data: base64Decode(data.getString("pdf_base64")));
    print(data["dataTaskResult"]);
    sendMessageToWebview(data);
  });
  registerDataTaskFunction("printPosByteData", (Map<String,dynamic> params) async {
    Map<String,dynamic >data=params["data"];
    var printerId="";
    var result=Simplify.getDefaultResult();
    if(data.containsKey("printer")){
      printerId=data["printer"]["id"];
    }
    else if(data.containsKey("printerId")){
      printerId=data["printerId"];
    }
    else{
      result["message"]="printer parameter missing";
    }
    if(printerId!=""){
      if(data.containsKey("rawBytesJson")){
        var paperSize="72mm";
        if(data.containsKey("paperSize")){
          paperSize=data["paperSize"];
        }
        List<int> rawBytes=List.empty(growable:true);
        Map<String, dynamic> originalData=json.decode(data["rawBytesJson"]);
        originalData.forEach((key,value) {
          rawBytes.add(value as int);
        });
      }
      else{
        result["message"]="printing parameters missing";
      }
    }
    data["dataTaskResult"]=result;
    sendMessageToWebview(data);
  });
  registerDataTaskFunction("selectPrinter", (Map<String,dynamic> params) async {
    Printing.pickPrinter(context: state.context);
    // data["dataTaskResult"]=await _printHandler.getPosPrintersList();
    // sendMessageToWebview(data);
  });
  registerDataTaskFunction("share",(Map<String,dynamic> params){
    Map<String,dynamic >data=params["data"];
    if(data.containsKey("share")){
      Map<String,dynamic> share=data["share"];
      if(share.containsKey("shareType")){
        if(share["shareType"].toString()=="text"){
          if(share.containsKey("shareContent")){
            String shareContent=share["shareContent"].toString();
            print("Share String : $shareContent");
            SimpleShare.shareString(shareContent);
          }
        }
      }
    }
  });
}