connectToAvailableNeededDevices static method

Future<bool> connectToAvailableNeededDevices()

Implementation

static Future<bool> connectToAvailableNeededDevices() async {
  PlatformDevices platformDevices = _instance.platformDevices;
  log("Initializing devices");
  try {
    // if (_instance.requiredDevices.contains(DeviceType.bp)) {
    //   for (var dev in platformDevices.bpDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //         });
    //       }
    //     });
    //   }
    // }
    // if (_instance.requiredDevices.contains(DeviceType.bt)) {
    //   for (var dev in platformDevices.btDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //         });
    //       }
    //     });
    //   }
    // }
    // if (_instance.requiredDevices.contains(DeviceType.bc)) {
    //   for (var dev in platformDevices.bcDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //           if (initRes.status) {
    //             dev.lock();
    //           }
    //         });
    //       }
    //     });
    //   }
    // }
    // if (_instance.requiredDevices.contains(DeviceType.bg)) {
    //   for (var dev in platformDevices.bgDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //         });
    //       }
    //     });
    //   }
    // }
    // if (_instance.requiredDevices.contains(DeviceType.oc)) {
    //   for (var dev in platformDevices.ocDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //           if (initRes.status) {
    //             dev.lock();
    //           }
    //         });
    //       }
    //     });
    //   }
    // }
    // if (_instance.requiredDevices.contains(DeviceType.pr)) {
    //   for (var dev in platformDevices.prDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //           if (initRes.status) {
    //             dev.lock();
    //           }
    //         });
    //       }
    //     });
    //   }
    // }
    // if (_instance.requiredDevices.contains(DeviceType.ms)) {
    //   for (var dev in platformDevices.msDevices) {
    //     dev.connect().then((connectionRes) {
    //       if (connectionRes.status) {
    //         dev.initialize().then((initRes) {
    //           log("$initRes");
    //           if (initRes.status) {
    //             dev.lock();
    //           }
    //         });
    //       }
    //     });
    //   }
    // }

    if (_instance.requiredDevices.contains(DeviceType.bp) && platformDevices.bpDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.bpDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes =
            await platformDevices.bpDevices.first.initialize().timeout(const Duration(seconds: 12), onTimeout: () {
          return CuppsCommandResponse(status: false, msg: "TimeOut");
        });
        log("$initRes");
      }
    }
    if (_instance.requiredDevices.contains(DeviceType.bt) && platformDevices.btDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.btDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes =
            await platformDevices.btDevices.first.initialize().timeout(const Duration(seconds: 12), onTimeout: () {
          return CuppsCommandResponse(status: false, msg: "TimeOut");
        });
        log("$initRes");
      }
    }

    if (_instance.requiredDevices.contains(DeviceType.bg) && platformDevices.bgDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.bgDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes =
            await platformDevices.bgDevices.first.initialize().timeout(const Duration(seconds: 12), onTimeout: () {
          return CuppsCommandResponse(status: false, msg: "TimeOut");
        });
        log("$initRes");
      }
    }

    if (_instance.requiredDevices.contains(DeviceType.bc) && platformDevices.bcDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.bcDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes =
            await platformDevices.bcDevices.first.initialize().timeout(const Duration(seconds: 12), onTimeout: () {
          return CuppsCommandResponse(status: false, msg: "TimeOut");
        });
        log("$initRes");
        if (initRes.status) {
          CuppsCommandResponse lockRes = await platformDevices.bcDevices.first.lock();
          log("$lockRes");
        }
      }
    }

    if (_instance.requiredDevices.contains(DeviceType.oc) && platformDevices.ocDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.ocDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes =
            await platformDevices.ocDevices.first.initialize().timeout(const Duration(seconds: 12), onTimeout: () {
          return CuppsCommandResponse(status: false, msg: "TimeOut");
        });
        log("$initRes");
        if (initRes.status) {
          CuppsCommandResponse lockRes = await platformDevices.bcDevices.first.lock();
          log("$lockRes");
        }
      }
    }
    if (_instance.requiredDevices.contains(DeviceType.ms) && platformDevices.msDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.msDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes =
            await platformDevices.msDevices.first.initialize().timeout(const Duration(seconds: 12), onTimeout: () {
          return CuppsCommandResponse(status: false, msg: "TimeOut");
        });
        log("$initRes");
        if (initRes.status) {
          CuppsCommandResponse lockRes = await platformDevices.bcDevices.first.lock();
          log("$lockRes");
        }
      }
    }
    if (_instance.requiredDevices.contains(DeviceType.pr) && platformDevices.prDevices.isNotEmpty) {
      CuppsCommandResponse connectRes = await platformDevices.prDevices.first.connect();
      if (connectRes.status) {
        CuppsCommandResponse initRes = await platformDevices.prDevices.first.initialize();
        log("$initRes");
        if (initRes.status) {
          CuppsCommandResponse lockRes = await platformDevices.bcDevices.first.lock();
          log("$lockRes");
        }
      }
    }

    // for (var dev in platformDevices.bpDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.btDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.bcDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.beDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.bgDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.ddDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.msDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.ocDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.prDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.ziDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    // for (var dev in platformDevices.zlDevices) {
    //   CuppsCommandResponse connectRes = await dev.connect();
    //   log("$connectRes");
    //   if (connectRes.status) {
    //     CuppsCommandResponse initRes = await dev.initialize();
    //     log("$initRes");
    //   }
    // }
    log("Initializing devices done");
    return true;
  } catch (e) {
    log("$e");
    return false;
  }
}