Tried to not change a lot of the logic in the code and to be as close as possible to the documentation and to iOS.
Made some things differently:
RequestBuilder - implementation of builder pattern for the requests. Usage (placeholders are uppercased):
RequestBuilder.with"NAME_OF_ACTION"Action().andParam(PARAM_NAME, PARAM_VALUE).andParams(MAP_OF_PARAMS).create()
Kept the RequestFactory.create() for the unit tests. A lot of them depend on code that is overriding the default factory. This might be removed in future.
RequestSender.sendRequests() does not depend on Request object parameter.
Added FileTransferManager where most of the code downloading and uploading files is placed
Requesting interface is removed
RequestOld becomes Request and the static fields (appId, accessKey, etc) are moved to APIConfig
Background
Tried to not change a lot of the logic in the code and to be as close as possible to the documentation and to iOS.
Made some things differently:
RequestBuilder.with"NAME_OF_ACTION"Action().andParam(PARAM_NAME, PARAM_VALUE).andParams(MAP_OF_PARAMS).create()
Kept the RequestFactory.create() for the unit tests. A lot of them depend on code that is overriding the default factory. This might be removed in future.