Releases: gotev/android-upload-service
android-upload-service-2.1
Improvements:
- Support for
OkHttp
stack. It's now possibile to implement also custom HTTP stacks (see #95) - Unified library logging and made it configurable and extensible (see #97)
- Support for stacking notifications (#108)
- Removed AllCertificatesAndHostsTruster (see #96)
- Integration with Travis CI (see #98)
- Improved manifest to prevent some warnings (see #109)
- Added test endpoint in node.js server which responds with 401 and a JSON (see #101)
android-upload-service-2.0.1
Improvements:
- Added
setUtf8Charset()
method toMultipartUploadRequest
to be able to use non-latin characters in file names and parameters - Added utility method
setBasicAuth("username", "password")
to multipart and binary upload request builders, to easily set the properAuthentication
header for HTTP Basic Authentication requests. For security reasons, you should use basic auth only on HTTPS connections - Extended node.js demo server provided in the examples by adding HTTP basic auth endpoints for both multipart and binary upload types
- Small fixes
android-upload-service-2.0
Improvements:
- Multi threaded uploading (thanks to @mabdurrahman) which allows to have multiple symultaneous upload requests
- Auto detect content type for uploaded files, if not specified
- node.js demo server now shows also the mime type of the uploaded files
- Possibility to auto delete files after successful upload
- Possibility to auto generate a unique uploadID if not explicitly specified in the request constructor
- Possibility to switch from fixed length streaming mode to chunked streaming mode
- Better handling of server responses
- Refactored the internal structure of the project to allow to extend the library with custom upload requests, without having to modify library files
- Enhanced demo app to show progress of multiple uploads (thanks to @mabdurrahman) and to be able to select streaming mode, set auto file deletion and auto clear of the notification
Migrating to 2.0 from 1.6:
- Library namespace has been changed from
com.alexbbb
tonet.gotev
to be able to deploy artifacts also on Maven Central. Full story here: #84 - To stop all the uploads, use
UploadService.stopAllUploads()
instead ofUploadService.stopCurrentUpload()
- The
UploadServiceBroadcastReceiver
onCompleted
signature has been changed from:
public void onCompleted(String uploadId, int serverResponseCode, int serverResponseCode,
String serverResponseMessage)
to
public void onCompleted(String uploadId, int serverResponseCode, int serverResponseCode,
byte[] serverResponseBody)
to handle better server responses. Before it handled only utf 8 responses terminated with a new line character. That was limitating. To achieve the old 1.6 behaviour, you need to add:
String serverResponseMessage = new String(serverResponseBody);
in your implementation.
- When an upload task is cancelled, you will not receive a
java.net.ProtocolException
in yourUploadServiceBroadcastReceiver
onError
method anymore. To add your business logic when the user cancels an upload, override the newonCancelled(String uploadId)
method in your broadcast receiver implementation.
android-upload-service-1.6
This version is focused on making the library easier to use in external projects, to provide better feedback to the developers and be able to write less and more readable code to accomplish the same tasks.
Improvements:
MultipartUploadRequest
andBinaryUploadRequest
method calls are now chainable- node.js demo server provides full request info for both HTTP/Multipart and Binary uploads, to make debugging easier
- Demo Android App now has a file picker, custom launcher and notification icons
- Improved JavaDocs, which now are available here: http://alexbbb.github.io/android-upload-service/javadoc/
- Updated to gradle 1.5.0
- Updated to
com.android.support:appcompat-v7:23.1.1
- Updated to
com.android.support:support-v4:23.1.1
- It's possible to not have any notification in the Android Notification Center, simply by not invoking
setNotificationConfig
when you build aMultipartUploadRequest
or aBinaryUploadRequest
- When you add a file to an upload request, a
FileNotFoundException
will be immediately thrown if it doesn't exist
Migrating to 1.6 from previous releases:
To clean up the API, some breaking changes have been made from the previous releases, but you'll need less than 5 minutes to reflect them in your code. I suggest you to do that now, so it will be easier to update to the next releases in the future.
- 4d6c116
AbstractUploadServiceReceiver
is now calledUploadServiceBroadcastReceiver
. This was done because there weren't anyabstract
methods left in the class after modifications in the previous releases, so the name needed to be changed - 25b2591 The notification configuration is now in the
UploadNotificationConfig
class, to allow more customizations. Check updated examples in the README.md and in the demo app - All the deprecated methods have been removed:
- Instead of using
UploadService.startUpload(request);
userequest.startUpload();
- Instead of using
new UploadRequest
usenew MultipartUploadRequest
- Instead of using
android-upload-service-1.5
New features:
- setting to clear the notification when the user taps on it
Improvements:
- improvements to README.md file thanks to @YoungjaeKim
- added helper console output in the node.js demo server
- resolved Android JavaDoc issues
- added deprecation tags where needed
- minor fixes
android-upload-service-1.4
New features:
- Binary Upload + node.js server example implementation (thanks to @PanayotCankov)
- Notification ringtone (thanks to @jenorish)
Improvements:
- Added increasing retry delay for failed upload attempts (thanks to @exuvo)
- Use latest gradle version to build library
- Migrated core library project and demo App to Android Studio. Removed all Eclipse + ADT project files.
android-upload-service-1.3.1
Improvements:
- Fixed gradle compilation and execution bugs in library and demo app
android-upload-service-1.3
New features:
- Automatic upload retry
- Support for maven and gradle dependency management
- Launch custom intent when tapping on the notification
- Cancel current upload task
- Set custom user agent
Enhancements:
- The total length of the upload request gets sent to the server before starting the upload. This means better interaction with servers which does not support chunked encoding or needs to know the total upload length in advance to better handle the request, as Akamai servers for example
- Minor fixes
Full solved issues list: https://github.com/alexbbb/android-upload-service/issues?q=milestone%3A1.3+is%3Aclosed
android-upload-service-1.2
New features:
- Custom namespace for UploadRequest intent
Improvements:
- Updated project settings to Android API 21
- Updated android support library jar
- Fixed upload buffer size
- Read server response body and return its value in listener's onCompleted
- Fixed: Implicit intents with startService are not safe
- Fix notification for android v2
- Correctly manage connection keep-alive to avoid broken pipe errors
- It's possible to use AbstractUploadServiceReceiver in any given Context (Activity, Service,..)
android-upload-service-1.1
New features:
- Support custom HTTP method in addition to the standard (POST)
- Upload IDs, so that broadcasts for different uploads can be identified
Improvements:
- Updated project settings to Android API 19
- Updated android support library jar
- Added gradle build system files
- Improved README.MD documentation and added simple server-side PHP script for tests
- Added missing JavaDocs
- Don't trust self-signed SSL certificates by default
- Removed extra boundary bytes at the end of the file upload
- Only add content type for each file if specified
- Use wake lock to keep upload running while the device is sleeping
- Use startForeground and stopForeground to lower the risks of being killed by the system during upload
- Only show success notification if response code from the server is 2XX
- Use different notification ID for the final notification
- Use unique ID for notifications
Special thanks to @eliasnaur for the contribution