* Add new activity to manifest
* Create review activity layout base
* Add a new menu item to drawer for peer review
* Add a top menu with randomizer icon to review activity
* Add strings for review button
* Add activity to ActivityBuilderModule for injection
* Add a new drawer item to start review acitivty
* Create base of the Review Activity
* Add fragment pager
* Add new fragment for injection
* Create a fragment pager layout
* Wikimedia hackathon 2018 (#1533)
* First draft of fn to get random recent image
* Use log entries for requests to beta, try to connect refresh button
FIXME: runs http request on main thread, breaks
* Tweak button connection
* Add ReviewController class
* Fix fragments
* Wmhack2018 (#1534)
* tiny fixes
* Load pictures into activities
* Re-use same class for all review fragments (#1537)
And try to add pager indicator
* [WIP] category check
* [WIP] add on-click actions to ReviewActivity
* [WIP] add SendThankTask
* Make it beautiful
* Add some category stuff back in to review (#1538)
* Use standalone category extraction code in MediaDataExtractor
* Add categories to category review page
* Change category question text sizes
* Call randomizer whenever the activity is ready
* Add progressbar
* [WIP] add DeleteTask.askReasonAndExecute
* Fix refresh button string
* Typo: "nominate *for* deletion"
* Add formatting to categories and put them in the same textView
* Pass context and adapters as parameters to controller
* Add actions to controller
* Make everyting work
* Add another fragment to thank
* Fix npe
* Add missing execute method
* Some codes
* Add a funy text
* More random recent image selection (#1542)
time-based randomness is biased - if someone uploaded 100 images in
hour, one week ago, and I select a random point in time, their last
image is way more likely to come up than anything else.
With this, there is still bias towards choosing one of the last N
in any burst of uploads (where N is the number of recent changes
fetched) but it's a bit better than before.
* Create Revision class
* Add meaningluf strings
* Error handling for review image/category fetch (#1543)
* Add information layout for username and filename
* Use Single to get firstRevision
* try to add username and filename
* Ensure caption is shown on every review fragment
* Fix build
* Fixes missing import
* Change button text,show current category, add skip image button
* Modify texts, fix night mode issues
* Positive Wording
* fix landscape issue
* Add checkbox popup,rewording
* Spelling Correction
* Fix merge
* Remove commented out code, use lambda
* Simplify toolbar include
* Fix SettingsActivityTest
* Add test in SettingsActivity to set recent upload limit to 0
* Add tests to recent upload limit setting
* Simplify activity test rule
* Add UploadTest
* Log the URL where the file should be uploaded
* Generate an image file before testing uploads
* With runtime permissions
* With automatic login
* With automatic login
* Get test credentials from travis
* 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
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.