restart method

Implementation

Future<CuppsCommandResponse> restart() async {
  try {
    log("Restart Called");
    if(isConnected){
      final releaseRes = await release();
      if (releaseRes.status) {
        log("Released for restart");
        final connectRes = await connect();
        if (connectRes.status) {
          // log("ReConnected for restart");
          final initRes = await initialize();
          return initRes;
        } else {
          return connectRes;
        }
      } else {
        return releaseRes;
      }
    }else{
      final connectRes = await connect();
      if (connectRes.status) {
        log("ReConnected for restart");
        final initRes = await initialize();
        return initRes;
      } else {
        return connectRes;
      }
    }
  } catch (e) {
    initializing = false;
    statusMsg = "Restart Exception";
    CUPPS().notifier?.call();
    if("$e".contains("StreamSink is closed")){
      socketService.nullIt();
      return restart();
    }else {
      return CuppsCommandResponse(msg: "Device $deviceName restart Exception: $e", status: false);
    }
  }
}