public Observable<ApiResponse> uploadImage(long wmId, Uri uri) { File file = new File(uri.getPath()); RequestBody fbody = RequestBody.create(MediaType.parse("application/octet-stream"), file); MultipartBody.Part part = MultipartBody.Part.createFormData("photo", file.getName(), fbody); return apiService.uploadImage(wmId, part).compose(ApiUtils.<ApiResponse>failRequestAsError()); }
public Observable<Void> uploadMeasurementMetaData( long wmId, MeasurementImageUploadResponse image, MeasurementInfo measurementInfo) { return apiService .uploadMeasurementMetaData(wmId, image.id(), MeasurementInfoWrapper.create(measurementInfo)) .flatMap( new Func1<Response<Void>, Observable<Void>>() { @Override public Observable<Void> call(Response<Void> response) { if (response.isSuccessful()) { return Observable.just(null); } return Observable.error(new Exception("Status code" + response.code())); } }); }