+@POST("locations/image360Degree")
+Call<CreateImage360DegreeResponse> createImage360Degree(@Part MultipartBody.Part filePart,
+ @Part("photo_string") RequestBody photoString,
+ @Part("image_id") RequestBody imageId,
+ @Part("region_id") RequestBody regionId,
+ @Part("lat") RequestBody lat,
+ @Part("lng") RequestBody lng,
+ @Part("rotation") RequestBody rotation,
+ @Part("url") RequestBody url);
+----------------------------------------------------------------------------------------------------------------
+private Call<IBaseModule.CreateImage360DegreeResponse> generateCreateImage360DegreeCall(CImage360Degree image) {
+ File file = new File(image.getLocation());
+ RequestBody requestFile =
+ RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part filePart =
+ MultipartBody.Part.createFormData("file", file.getName(), requestFile);
+ String string = image.getImageString();
+ RequestBody imageString =
+ MediaType.parse("multipart/form-data"), string != null ? string : "");
+ MediaType.parse("multipart/form-data"), String.valueOf(image.getFloor().getServerId()));
+ CRegion region = image.getRegion();
+ MediaType.parse("multipart/form-data"), String.valueOf(region == null ? 0 : region.getServerId()));
+ MediaType.parse("multipart/form-data"), String.valueOf(image.getPosition().latitude));
+ RequestBody longitude =
+ MediaType.parse("multipart/form-data"), String.valueOf(image.getPosition().longitude));
+ MediaType.parse("multipart/form-data"), String.valueOf(image.getRotation()));
+ MediaType.parse("multipart/form-data"), String.valueOf(image.getUrl()));
+ return module.createImage360Degree(filePart,
+public Pair<Long, String> createImage360Degree(CImage360Degree image) {
+ Response<IBaseModule.CreateImage360DegreeResponse> response = generateCreateImage360DegreeCall(image, false).execute();
+ IBaseModule.CreateImage360DegreeResponse body = response.body();
+ long id = body.getId();
+ String url = body.getUrl();
+ return Pair.create(id, url);
+ } catch (IOException e) {
+public void createImage360Degree(CImage360Degree image, final Callback<Pair<Long, String>> callback) {
+ generateCreateImage360DegreeCall(image, false).enqueue(new retrofit2.Callback<IBaseModule.CreateImage360DegreeResponse>() {
+ public void onResponse(@NonNull Call<IBaseModule.CreateImage360DegreeResponse> call, @NonNull Response<IBaseModule.CreateImage360DegreeResponse> response) {
+ IBaseModule.CreateImage360DegreeResponse body = response.body();
+ Pair<Long, String> result = null;
+ long id = body.getId();
+ String url = body.getUrl();
+ result = Pair.create(id, url);
+ callback.success(result);
+ public void onFailure(@NonNull Call<IBaseModule.CreateImage360DegreeResponse> call, @NonNull Throwable t) {