/**
   * 保存路线
   *
   * @param route 路线
   * @param listener 回调
   */
  private void saveRoute(final Route route, final OnRouteListener listener) {
    route.setCreator(UserManager.getInstance(mContext).getUser());
    route.save(
        mContext,
        new SaveListener() {
          @Override
          public void onSuccess() {
            UserManager.getInstance(mContext)
                .addRoute(
                    new UserManager.OnUpdateListener() {
                      @Override
                      public void onSuccess() {
                        listener.onSuccess(null);
                        mRoutes.add(0, route);
                      }

                      @Override
                      public void onError() {
                        listener.onError(null);
                      }
                    });
          }

          @Override
          public void onFailure(int i, String s) {
            listener.onError(s);
          }
        });
  }
  /**
   * 复制路线
   *
   * @param route 路线
   * @param listener 回调
   */
  public void copyRoute(final Route route, final OnRouteListener listener) {
    final Route myRoute = new Route();
    myRoute.setCreator(UserManager.getInstance(mContext).getUser());
    myRoute.setName(route.getName());
    myRoute.setDescription(route.getDescription());
    myRoute.setStatus(Route.PLANNING);
    myRoute.setDays(route.getDays());
    myRoute.save(
        mContext,
        new SaveListener() {
          @Override
          public void onSuccess() {
            UserManager.getInstance(mContext)
                .addRoute(
                    new UserManager.OnUpdateListener() {
                      @Override
                      public void onSuccess() {}

                      @Override
                      public void onError() {}
                    });
            BmobQuery<Daily> query = new BmobQuery<>();
            query.addWhereEqualTo("route", new BmobPointer(route));
            query.order("day");
            query.findObjects(
                mContext,
                new FindListener<Daily>() {
                  @Override
                  public void onSuccess(List<Daily> list) {
                    copyDaily(myRoute, list, listener);
                  }

                  @Override
                  public void onError(int i, String s) {
                    listener.onError(s);
                  }
                });
          }

          @Override
          public void onFailure(int i, String s) {
            listener.onError(s);
          }
        });
  }