class MapEventFactory {

  static OfflineDownloadEndEvent buildOfflineDownloadCompleteEvent(PhoneState phoneState,
                                                                   String shapeForOfflineRegion,
                                                                   @FloatRange(from = MapboxConstants.MINIMUM_ZOOM,
                                                                     to = MapboxConstants.MAXIMUM_ZOOM) Double minZoom,
                                                                   @FloatRange(from = MapboxConstants.MINIMUM_ZOOM,
                                                                     to = MapboxConstants.MAXIMUM_ZOOM) Double maxZoom,
                                                                   String styleURL,
                                                                   long sizeOfResourcesCompleted,
                                                                   long numberOfTilesCompleted,
                                                                   @OfflineRegion.DownloadState int state) {

    OfflineDownloadEndEvent offlineEvent =
      new OfflineDownloadEndEvent(phoneState, shapeForOfflineRegion, minZoom, maxZoom);
    offlineEvent.setStyleURL(styleURL);
    offlineEvent.setSizeOfResourcesCompleted(sizeOfResourcesCompleted);
    offlineEvent.setNumberOfTilesCompleted(numberOfTilesCompleted);
    offlineEvent.setState(state);
    return offlineEvent;
  }

}