* Introduce Single<UploadResult>
* Two stage upload process
- split upload process and use stash
- resolve filename conflict after upload not before
- use NotificationManagerCompat; add notification tag; assign temporaty stash file name
As commit ab4fca5e does, this commit fixed the repeated notification
alarms in DeleteTask.class.
Since progress indication in notification can be cleared by calling
.setProgress(0,0,false) on notificationBuilder(As shown in DeleteTask.class).
This commit also refactored notification related code in UploadService.class.
Make progress and failed notification uses the same notificationBuilder.
* replaced icafe with metadata extractor
* replaced icafe with metadata extractor
* removed icafe from gradle
* removed icafe from gradle
* Revert: travis commented code
* Use original content URI
* merged pr
* commit after merge
* modified unit tests
Add setOnlyAlertOnce flag to NotificationCompat.Builder. This fixed
the issue that notification makes an alarm(beep) every time uploading
progress updated on some devices.
Also let UploadService.class reuse NotificationCompat.Builder as much
as possible(instead of creating a NotificationCompat.Builder every
time in method uploadContribution). And some small refactors.
* Use easy image for image picker
* Do not use harcoded mime type
* Use uploadable file for image uploads
* Add picker files in filepicker module
* Remove redundant checks for file
* Make usage of file extensions consistent
* Add javadocs
* Fix tests
* Enable image upload using bookmark activity
* Fix multiple uploads
* Fix external image uploads
* Fix chooser intents
* Fix image quality checks
* Segregate internal and external upload intents
* Invoke all error messages from one place
* Minor changes
* Fix tests
* Add image processing service tests
* Fix uploads getting stuck
* Fix test
* Use single instance of Gson across the app
* More logs to help debug upload failure
* Add request identifier
* wip
* Fix issues with image quality check dialogs
* Do not use an image array to store all bitmap pixels at once
* Extract image preprocessing to a different service and use computation thread
* Add java docs
* Cleanup code to remove temp file logic
* Add logs in upload flow
* Fix tests
* Fix more tests
* Use wrapper for accessing shared preferences across the app
* Use Json kv store for storing place object
* Fix tests
* Fix test failure
* Fix UI tests
* Use image picker to pick images for upload
* Consolidate storage permissions in Upload activity
* With proper request codes for image upload
* Use constants for upload limits
* Check for request code while handling requests
* Let fragment initiate the camera/gallery instead of activity
* Delete unused external storage utils
* Removed default license settings, and implemented selecting last selected license as default licence(#2170)
* Replace settings license tests with recent upload limit test
* Hide subtitle message when uploading a single image (#2163)
* updateSubtitleVisibility: Javadoc and replace if with ternary operator
* updateSubtitleVisibility: change findViewById to BindView
* Remove null checks for views
Null check is not required while binding views with butterknife.
* Dangling Javadoc comments
* Replace for loop with foreach
* Explicit type can be replaced with <>
* Anonymous type can be replaced with lambda
* Lambda can be replaced with method reference
* Remove redundant methods
* Use capital L for long literals
* Remove unnecessary StringBuilder
* UploadController: Added support for using author names. Fixes#1707.
* Minor PR tidy-up
* Reword preference item
* Null check to pass startUpload test
* SharedPreferences Dep Injection added, updateLicense() updated
method updateLicense() was previously looking to the UploadModel for the
current default license, this has now been changed so that it gets it from
a SharedPreferences object
* UploadModel.license aligned to SharedPreferences
variable UploadModel.license within the constuctor is now assigned to the string of the
"default_license" value within SharedPreferences
Admittedly this may not be completly necissary as UploadModel.license is modified via
UploadPresenter.updateLicense on creation.
* Add cancel and retry buttons on layout contribution
* Make sure your retry logic works
* Add cancel method too
* Add javadocs and remove debug logs
* Remove two unused methods
* Remove old and unused retry buttons as we do for their functions
* Check internet connection before button function, since function requires internet connection
* Remove unused variable
* Display possible solution for badtoken error
* Fix string