setPrivacyPlan method

Future<bool> setPrivacyPlan({
  1. required List records,
  2. required int enable,
  3. int timeout = 5,
})

Implementation

Future<bool> setPrivacyPlan(
    {required List records, required int enable, int timeout = 5}) async {
  bool ret = await _command.writeCgi(
      "trans_cmd_string.cgi?cmd=2017&command=6&mark=212&"
      "privacy_plan1=${records[0]}&"
      "privacy_plan2=${records[1]}&"
      "privacy_plan3=${records[2]}&"
      "privacy_plan4=${records[3]}&"
      "privacy_plan5=${records[4]}&"
      "privacy_plan6=${records[5]}&"
      "privacy_plan7=${records[6]}&"
      "privacy_plan8=${records[7]}&"
      "privacy_plan9=${records[8]}&"
      "privacy_plan10=${records[9]}&"
      "privacy_plan11=${records[10]}&"
      "privacy_plan12=${records[11]}&"
      "privacy_plan13=${records[12]}&"
      "privacy_plan14=${records[13]}&"
      "privacy_plan15=${records[14]}&"
      "privacy_plan16=${records[15]}&"
      "privacy_plan17=${records[16]}&"
      "privacy_plan18=${records[17]}&"
      "privacy_plan19=${records[18]}&"
      "privacy_plan20=${records[19]}&"
      "privacy_plan21=${records[20]}&"
      "privacy_plan_enable=$enable&",
      timeout: timeout);
  if (ret) {
    CommandResult result =
        await _command.waitCommandResult((int cmd, Uint8List data) {
      if (cmd == 24785) {
        String str = utf8.decode(data);
        return str.contains("cmd=2017;") && str.contains("command=6;");
      }
      return false;
    }, timeout);
    if (result.isSuccess) {
      Map data = result.getMap();
      if (data["status"] == "0" || data["result"] == "0") {
        return true;
      }
    }
  }
  return false;
}