Пример #1
0
  public static void buildComplexMissionItem(MavLinkDrone drone, Bundle itemBundle) {
    MissionItem missionItem = MissionItemType.restoreMissionItemFromBundle(itemBundle);
    if (missionItem == null || !(missionItem instanceof MissionItem.ComplexItem)) return;

    final MissionItemType itemType = missionItem.getType();
    switch (itemType) {
      case SURVEY:
        Survey updatedSurvey = buildSurvey(drone, (Survey) missionItem);
        if (updatedSurvey != null) itemType.storeMissionItem(updatedSurvey, itemBundle);
        break;

      case SPLINE_SURVEY:
        Survey updatedSplineSurvey = buildSplineSurvey(drone, (Survey) missionItem);
        if (updatedSplineSurvey != null) itemType.storeMissionItem(updatedSplineSurvey, itemBundle);
        break;

      case STRUCTURE_SCANNER:
        StructureScanner updatedScanner =
            buildStructureScanner(drone, (StructureScanner) missionItem);
        if (updatedScanner != null) itemType.storeMissionItem(updatedScanner, itemBundle);
        break;

      default:
        Timber.w("Unrecognized complex mission item.");
        break;
    }
  }