* 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
* Fix SettingsActivityTest
* Add test in SettingsActivity to set recent upload limit to 0
* Add tests to recent upload limit setting
* Simplify activity test rule
NetworkBroadcastReceiver is unregistered in onPause() and not reregistered in onResume(). This causes the snackbar doesn't disappear after network becomes available. Fixed this and improved the null checking logic in snackbar related code.
* Update gradle version.
Also update jacoco plugin to work with latest gradle.
* Update target sdk to 28.
* Update other dependencies to latest versions.
* Remove totally unused(?) local jar file.
* Remove dependency on nineoldandroids.
The functions it provides are no longer necessary.
This also removes a homemade "evaluate" function, which is readily
available in the Support library.
* Remove dependency on Traceur.
This library has not been updated in two years (may no longer be maintained?), and no longer works with
the latest RxJava.
* Enable test coverage only when performing CI.
Running test coverage on every single build while developing in the IDE is quite a waste of time.
* Suppress gradle Notes and Warnings from reflection-using packages.
The build output was getting extremely long, and was actually causing
the build to fail because of the sheer size of the log.
* Suppress gradle Note messages during tests and CI.
Stop CI messages from exploding to 10k+ lines.
* Temporarily remove instrumented test(s).
The project's instrumented tests consist of a single test which sets a
SharedPreference, then verified that the SharedPreference was set.
I humbly submit that this is not worth the trouble of having the CI
server download the system image, spin up an emulator, load the APK, and
run it just for this purpose.
Once the instrumented tests are ready for prime time, we can reinstate
instrumented tests in CI.
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