While uploading multiple images to Amazon s3 using retrofit post request from background service other GET/POST API calls fails with error connection timeout. Although timeout is set to 10 Minutes.
My current implementation
ApiInterface.java
@Multipart
@POST
Call<JSONObject> upload(@Url String url, @Part("key") RequestBody key, @Part("AWSAccessKeyId") RequestBody AWSAccessKeyId, @Part("policy") RequestBody policy, @Part("signature") RequestBody signature, @Part("success_action_status") RequestBody successActionStatus, @Part MultipartBody.Part file);
UploadImagesService.java
RequestBody key = RequestBody.create(MediaType.parse("text/plain"), s3key);
RequestBody AWSAccessKeyId = RequestBody.create(MediaType.parse("text/plain"), s3Info.S3_ACCESS_KEY);
RequestBody policy = RequestBody.create(MediaType.parse("text/plain"), s3Info.S3_POLICY);
RequestBody signature = RequestBody.create(MediaType.parse("text/plain"), s3Info.S3_SIGNATURE);
RequestBody success_action_status = RequestBody.create(MediaType.parse("text/plain"), "201");
MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", temp_file.getName(), RequestBody.create(MediaType.parse("image/*"), temp_file));
ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
Call<JSONObject> call = apiService.upload("https://" + s3Info.S3_BUCKET_NAME + ".s3.amazonaws.com", key, AWSAccessKeyId, policy, signature, success_action_status, filePart);
How can I track uploaded data and also how can I make sure that in case of failure uploading resumes instead of restarting?