* Avoid jargon and slang, change for default, de and pl (#2874)
* Revert "Avoid jargon and slang, change for default, de and pl (#2874)"
This reverts commit 174efe0309.
* check_category_success_title text changed to: Category check requested
* check_category_failure_title new text
* 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
* "Upload your media..." text was being shown while contributions were
still being loaded. Fixed things to show after load is finished and no
contributions are present. Also updated text string since UI now uses
FAB button for uploads (no camera/gallery) icons any more.
* Removed waitingMessage in ContributionsListFragment and from layout
since its never VISIBLE, only GONE.
Remove placeholders and let these descriptions only shown in Android
Studio layout preview. Use plain text in tools:text attributes so
relative string values can also be removed and ease the translation work.
* changed layout and implemented archived notificaitons feature
* set different texts for toolbar,menu option and no notification text in archived
* modified the startup intent for NotificationsActivity
* disabled swipe on archived
* commit
* fixed navigation drawer on notification activity
* handled on back pressed
* updated strings.xml
* removed TODO
* some minor changes
* set progress bar visibility
* some code quality changes
* commit
* some code quality changes
* removing unused import statements
* 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
* Rephrase misleading statement shown when skipping login
The previous statement was misleading as it could also
mean that the user could never upload pictures if he
skips login. This not the case because after skipping
the login he could login again if he wants to upload
pictures.
Clarify it by using a statement which states that he
would have to login in future in case he wants to
upload pictures.
* Rephrase with a better statement
The old statement doesn't read so well.
Rephrase it with a better statement.
* UploadController: Added support for using author names. Fixes#1707.
* Minor PR tidy-up
* Reword preference item
* Null check to pass startUpload test
* Fix memory leak due to wikidata edit listener (#2048)
* Fix bookmark crash fix (#2047)
* Fix bookmark crash fix
* Fix check for bookmark creator
* Bug fix#2042 (#2056)
* Bug fix#2042
* Added a snack with retry when api in AA fails
* Increased connection timeouts in okhttpclient builder
* added missing string resource
* Bugfix/duplicate categories (#2080)
* Increased timeout to 60 seconds
* Bug fix#1550
* filter duplicate categories
* Fix crash because of inactive fragment UI (#2046)
* Fix crash because of inactive fragment UI
* Add java docs
* Add information icon action Fiixes #2055 2.9.0: the 'i' icon in nearby doesn't do anything (#2057)
* Localisation updates from https://translatewiki.net.
* Remove unused mediawiki api dependency (#1991)
* Categories with pipe suffix (#1873)
* Bug fix issue #1826
Changes made :
-Certain category names used to show suffixed with strings prefixed with pipe '|'. Removed everything after the pipe. As per the discussion on the thread, its safe to remove everything after the pipe, including the pipe
* review suggested changes
*Code formatting
*Extracted out the index of pipe in a variable
*Added issue link in comments
* Remove libraries section from README (#1988)
* Remove libraries section from README
* Add wiki link to "libraries used" to README
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Use alert dialog instead of popup window, for nearby information
* Revert irrelevant changes, sorry
* 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
* Add getGeolocation method to geolocation from file path
* Add geolocation check to receiveDirect method checks, means it will be checked durimg nearby direct uploads
* Create method body for geolocation and nearby place coordinate comparaison, this method will be filled on consequent commits
* Add a method to find location missmatch
* app/src/main/java/fr/free/nrw/commons/utils/ImageUtils.java
* Add if check to upload activity to detect pictures with wrong location, and save it to shared prefs
* Do not edit wikidata item if picture has wrong location info
* Add one more bitwise operand to possible warning reasons for wrong location case
* Add a bitwise variable for wrong locatio case
* Share nearby place location just like wikidataEntityId, so that we can compare
* Implement check image geolocation is different method by comparing nearby location and file EXIF geolocation
* Add Javadocs
* Remove logs
* Fix all taken on wrong phrases as taken at
* Fix typo on logs
* Simplify if logic
* Fix string issues
* Show campaigns
* Added a ui util class SwipableCardView which passes the onSwipe event to its children
* NearbyCardView & CampaignView extend SwipableCardView
* Fetch campaigns in ContributionsFragment
* Added an option to enable disable campaign in Settings/Preferences
* synced strings with master
* removed duplicate initialsation of CampaignPresenter
* Recognize user is moving on the map and show a button
* Use variable from strings xml instead of hardcoded string
* Change search this area button location in xml file
* Add location util file to convert mapbox LatLng to commons Latlng and viceversa
* Populate places around searched area
* Update narby map according to new points came from searched area
* Add searchThisAreaMode boolean to stop nearby map updated when we try to search nearby areas.
* Lock auto nearby operations during serch this area mode, with a more modular method and decrease code repetition
* Add an if clausse to prevent multiple refresh view calls, while map is moving
* Disable map gestures during search this area operation, re-eable them on operation is done
* Add progress bar during search this area operation
* Make sure you locked the map during search nearby map process
* Implement recenter map view button
* Fix logic problem and make sure you refreshed the view on coming back to previous position
* Use custom refresh method instead
* Use latest updated location from location manager isntead
* Update ListFragment accordingly too
* Do not update camera target according to bottom sheet status or do not follow users location with camera, if search this area mode is on
* Add javadocs, sorry forgotten previously
* Remove unused method
* Threat both or search this area and regular search in same way
* Make sure distances are correct
* Seperate cutom location updates and current location updates from each other to continue other operations
* Remove all logs, and make sure search this are button is not visible for no reason while around of current location is already loaded
* Notify load attractions from location method about search status, current location of custom location
* Make sure we calculate searched area and display search this area button when we are out of 3/4 of total searched area
* Localisation updates from https://translatewiki.net.
* Remove unused mediawiki api dependency (#1991)
* Categories with pipe suffix (#1873)
* Bug fix issue #1826
Changes made :
-Certain category names used to show suffixed with strings prefixed with pipe '|'. Removed everything after the pipe. As per the discussion on the thread, its safe to remove everything after the pipe, including the pipe
* review suggested changes
*Code formatting
*Extracted out the index of pipe in a variable
*Added issue link in comments
* Remove libraries section from README (#1988)
* Remove libraries section from README
* Add wiki link to "libraries used" to README
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Display nearby notification only if it is loaded
* Cover don't ask again checkbox is selected posibility
* Clean commented out codes
* Add strings to string.xml
* Add unable to display text to strings xml
* Fix nearby card permission explanation string
* Add never ask again checkbox to dialogbox
* Add action to never display checkbox
* Implement a setting on settings page, to be able to enable this setting later
* Revert unnecessary changes
* Added new upload activity that receives shared files from the gallery. Cards show and hide, plus titles are correct. Displayed thumbnails for the shared images
* Better handling of the view paging plus error handling for required fields.
* Code cleanup to make things more readable.
* Extracted a model from the category search fragment that can possibly be shared with the new upload activity.
* Added category selection to the combined upload screen.
* Cleanup before the home-stretch on the GUI.
* Adding license selection.
* Fixed build warnings + cleanup
* Start to support the dark theme.
* Work in progress to add quality checking.
* Fixing merge.
* GPSExtractor: optimized away the EXifInterface object
* Implemented submit functionality, temporarily fixed jacoco crash by disabling DUMMY UploadView object.
* Implemented uploading of categories along with the picture. The category screen now displays GPS and recent categories when nothing is searched.
* Implemented caching of files. Did some work on picture quality detection.
* Implemented too dark picture detection.
* Added a side card for zoom and map buttons along with pretty animations for stuff.
* Added duplicate image on commons checking and fixed files not getting proper file extensions in several places.
* Added support for map button and switched in-app upload buttons to UploadActivity
* Pretty pretty animations!
* Implemented zoom functionality for th background image. Just pinching on the image works instead of requiring buttons.
* Added multi-language descriptions with categories by region.
* Reimplemented the duplicate title checker and implemented a check against putting the same language twice in the description.
* Javadocs for Description and UploadPresenter, plus some general cleanup.
* Small code changes.
* Implemented login checks for the Upload screen.
* Implement receiving data from Nearby.
* Feature/permissions library (#1855)
* Added permission for Dexter, the runtime permission handling library
* [Preparing fir issue #1773] Added a utility function which would take the user to app settings screen where he could manually give us the required permission
* Added an alert dialog with positive and negative callback [Preparing fir issue #1773]
* Improvements in the way External Storage Permission is handled in MultipleShareActivity[Bug fix#1697]
1. Used dexter to handle the external storage permission
2. Behaviour changes : When user tries to share(uppload) images to commons via MultipleShareActivity, following decision tree is followed
a. If the app has permission for external storage, normal upload operation is followed
b. If the app does not has the permission for external storage, dexter is used to ask for the same
c. If the user gives us the required permission, normal upload flow is proceeded
d. If the doesnot gives us the required permission a rationale dialog is shown with the appropriate message to let him know why we need the permission
e. If he presses okay, steps a-c are followed and if he presses cancel, we close the app.
f. If while asking for permission, the user chooses never ask again, then next time he tries to upload an image via MSA, the rational dialog follows the app setting screen where he could manually give us the required permission and the onActivityResult of same is handled
* Added a Constants class to handle request and result codes from one place and other related constants common to the all app elements
* replaced hardcoded strings ok and cancel in DialogUtil to string resources
* init permission rationale dialog in activities onCreate
* Code formatting, updated access modifiers wherever required, added javadocs for new methods created
* *shifted constants to app class
*Added JavaDocs in PermissionUtils
* removed class REQUEST_CODES from CommonsApplication and instead put the enclosing constants in the App class itself
* Made Codacy happy.
* Abstarcted permission acquisition into new class DexterPermissionObtainer
* Fixed Nearby upload detection
* Migrated bad picture detection from AsyncTask to RxJava.
* Removed ShareActivity and related dead code
* Removed dead or duplicate code from FileProcessor
* Added info button to title EditText
* Fixed the add description button not disappearing.
Added "Starting Upload" toast.
Added link to the license on final screen.
Made it so that the map button is hidden when image lacks gps coords.
* Support in app multiple uploads
* Minor changes to fix build
* Changes to fix pending issues with upload flow
* Fix display of similar image fragment
* When uploading several files at once the date is missing #1854 (#2)
* Bug fix issue #1854
* updated ContributionsDao to save create date, which it was not doing currently [it was instead saving current date]
* UploadItem accepts are dateCreated param
* Added a function in UploadModel, getFileCreatedDate which tries to fetched the file creaction date from all possible content providers.
* Fix pending issues in upload flow
* Make multiple uploads work for Google Photos
* Fix default state for upload activity
* Fix keyboard state for license screen
* Fix descriptions for uploads
* wip
* Fix language spinner