* Resolves#2307 by adding user level in menu
* Formatted code as requested
* Start sentence with uppercase
* javadoc
* Fixed my typo
* javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* feat: add backgroundColor property on media
* feat: add optional menu items for media backgroundColor
* fix: test pass when running in batch
* refactor: remove backgroundColor from media
* refactor: add string for background color menu
* chore: remove useless change
* feat: change media image background color
* feat: pass backgroundColor to ZoomableActivity
* chore: remove extra space
* Add basic image limit warning to custom selector
* Block upload button when image limit is exceeded
* Complete basic functionality for upload limit: Disabled button, warning sign & toast
* Consolidate functionality between upload limit and not for upload marking
* Upload Limit: write unit tests and optimize control flow
* Upload Limit Tests: improve logic coverage and alter to stay valid if limit is changed
* Upload Limit: polish javadocs and add explanation to warning toast.
* Upload Limit: refactor variable names
* Upload Limit: change warning toast to dialog box, repurposing welcome dialog code & layout
* Upload Limit: remove error icon when the mark as not for upload button is pressed
* UI setup for the crop feature almost setup
* basic setup of rotate feature done
* Added basic changes for editing feature
* Getting data back from edit activity
* Getting data back from edit activity
* Updated contentUri
* Finally the rotated image is getting uploaded
* Minor Improvements for better testing
* Fixed thumbnail preview
* Fixed loss of exif data
* Copy exif data
* Save exif data
* Added java docs
* Minor fix
* Added Javadoc
* Refactoring
* Formatting fixes
* Minor Formatting Fix
* Fix unit test
* Add test coverage
* Formatting fixes
* Formatting Fixes
---------
Co-authored-by: Priyank Shankar <priyankshankar@changejar.in>
* LocationPickerActivity: fix crash on setting location for pictures with no EXIF location
* strings.xml: remove extra string introduced
* optimise constants
* LocationPickerActivity: request for permission only on tapping target icon
* remove newline
* handle location permissions using LocationPermissionsHelper
* fix stuck uploads
* automate retries for failed uploads once the user returns to the app
* UploadWorker: modify PendingIntent flag and Android version code
* MainActivity: remove automatic retry logic
* Revert "MainActivity: remove automatic retry logic"
* set work request as expedited
* handle notification for foreground service on older versions of Android
* set backoff criteria for work requests
* enqueue failed uploads for a retry
* revert "enqueue failed uploads for a retry"
* limit the number of retries for a failed upload
* add a popup that suggests users to switch to unrestricted battery usage mode
* take users to the battery settings page on the first big upload
* take users to battery optimisation settings page using the standard intent
* add instructions to the battery optimisation settings popup
* remove the first usage of fr.free.nrw.commons from the popup
* comply with the wording in the OS settings
* modify battery optimisation popup instructions, add comments and rename firstBigUploadSet
* add filename to the retry log statement
* update database version
* make battery optimisation dialog appear only on Android 6 and above
* use foreground service instead of setting work request as expedited
* fix retried uploads stuck in queued state
* use MIN_BACKOFF_MILLIS constant instead of using the number 10 and add comments
* factorise the creation of the new OneTimeWorkRequest at one place
* ensure work requests are in accordance with the unit tests
* forbid retries for images which have got uploaded without caption
* add a TODO for the suggestion related to retries
* revert "forbid retries for images which have got uploaded without caption"
* Revert "Revert a1b6973 until we find out why it uses OPEN_DOCUMENT by default on fresh install"
This reverts commit 7ce3b7ebb1.
* Potential fix for get_content picker being used in first run
The initial state of the 'openDocumentPhotoPickerPref' seems to be incorrect
during a fresh install on some devices.
Try to ensure we always use the proper initial state by propagating the default
to the preference access code.
This hopefully fixes#5274
Merging as this is a great improvement, additional issues/bugs can be filed as GitHub issues.
* fix in-app camera location loss
* fix failing unit tests
* UploadMediaDetailFragmentUnitTest: modify testOnActivityResultAddLocationDialog to have null location
* reintroduce removed variable
* enable prePopulateCategoriesAndDepictionsBy for current user location
* add relevant comment and fix failing test
* modify dialog and disable location tag redaction from EXIF
* modify in-app camera dialog flow and change location to inAppPictureLocation
* change location to inAppPictureLocation
* fix location flow
* preferences.xml: remove redundant default value
* inform users about location loss happening for first upload
* FileProcessor.kt: remove commented-out code
* prevent user location from getting attached to images with no EXIF location in normal and custom selector
* handle onPermissionDenied for location permission
* remove last location when the user turns the GPS off
* disable photo picker and in app camera preferences in settings for logged-out users
* remove debug statements and add toast inside runnables
* photo picker: toggle behaviour of switch and adjust phrasing for better UX
The enable state used to trigger the GET_CONTENT intent. Alter the flow
such that the GET_CONTENT intent is triggered when switch is disabled.
Adjust default value and other parts of code naming to reflect this.
The existing phrasing had a lot of tech jargon in it which could
result in the non-technical users being confused. Tweak the phrasing
to avoid such phrases.
The documentation in the website could also use some follow up
improvements.
* Adjust strings to clearly convey that location loss is a "risk"
* MainActivity: add ACCESS_MEDIA_LOCATION permission check to retain location info in EXIF metadata
* remove redundant permission check and optimise imports
* FilePicker: switch to ACTION_OPEN_DOCUMENT intent for opening image files
* add a comment explaining the change
* implement GET_CONTENT photo picker toggle switch
* add location loss warning pop up
* SettingsFragment: modify the comment about GET_CONTENT takeover for more clarity
The phrase "Is this a photo of Place ...?" when placed along with an actual place
name could get confusing. For instance, "Is this a photo of Place More London?"
The casing of "Place" is especially confusing. So, tweak the phrase to avoid
this ambiguity.
Co-authored-by: Kaartic Sivaraam <kaartic.sn@zohocorp.com>
* fixed Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4774
* fixed Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4774
* Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4774
* fixed Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4775
* Project Initiated by creating helper classes for database operations
* Database created
* Rest of the work and documentation
* Requested changes done
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* [GSoC] Insert and Remove Images from not for upload (#4999)
* Inserted and marked images as not for upload
* Documentation added
* Test delete
* Implemented remove from not for upload
* Test fixed
* Requested changes done
* Added tests for new lines in existing classes
* [GSoC] Added Bubble Scroll (#5023)
* Library added
* Bubble scroll implemented
* Left and right swipe
* Requested changes
* [GSoC] Hide/Unhide actioned pictures and change numbering (#5012)
* Changed numbering of marked images
* Hide Unhide implemented
* Test fixed
* Improved speed for database operation
* Improved speed for database operation
* Changed progress dialog
* Improved hiding speed
* Test fixed
* Fixed bug
* Fixed bug and improved performance
* Fixed bug and improved performance
* Test fixed
* Bug fixed
* Bug fixed
* Bug fixed
* Bug fixed
* Bug fixed
* Code clean up
* Test hiding images
* Test hiding images
* Test hiding images
* Code clean up and test fixed
* Fixed layout
* Fixed bug
* Bug fixed
* Renamed method
* Documentation added explaining logic
* Documentation added explaining logic
* [GSoC] Full Screen Mode (#5032)
* Gesture detection implemented
* Left and right swipe
* Selection implemented
* onDown implemented
* onDown implemented
* FS mode implemented
* OnSwipe doc
* Scope cancel
* Added label in Manifest
* Merged two features
* Requested changes
* Image uploaded bug fixed
* Increased DB version
* Made requested changes
* Made requested changes
* Made requested changes
* Made requested changes
* Solved image flashing bug
* Solved image flashing bug
* Requested changes
* Requested changes
* Changed name of a function
* Fixed transaction failure on large number of images
* Tested with isIdentity
* Tested with isIdentity
* Increased the threshold
* Added info dialog
* Minor changes
* ImageAdapter Test
* CustomSelectorActivity Test
* Requested changes
* Test for ZoomableActivity
* Test for ZoomableActivity
* Test for ImageLoader
* Test for OnSwipeTouchListener
* Test for rest
* Reverted some test changes
* Added more tests for ImageAdapter
* Added more tests for ImageAdapter and swipe gesture
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
* Fix string for custom selector
* Fix bug #4950 back arrow still present on top-level activity (#4952)
* Fix bug #4949 by correctly setting previous db version number (#4956)
* Fix bug #4949 by correctly setting previous db version number
* Fix failing tests
* Fix bug #4959 by correctly setting previous db version number and updating the current db version (#4960)
* Fix bug #4957 (#4961)
* Update library to new version that handles older Java VMs
Fixes#4972 I believe.
* Versioning for v4.0.0
* Changelog for v4.0.0
* Fix bug #4984 Added queries for package name for Android API 30+ (#4987)
* Update mapbox sdk version (#4989)
* Versioning for v4.0.1
* Changelog for v4.0.1
* Remove network type information from NetworkUtils (#4996)
* Remove network type information from NetworkUtils
* Ignore dependent tests
* Fix#4992 invert the equals condition to be null safe (#4995)
* Fix java.lang.NullPointerException for username in ContributionBoundaryCallback (#5003)
* Fix failing tests for PR #5003 (#5004)
* Fix java.lang.NullPointerException for username in ContributionBoundaryCallback
* Fix failing tests
* Update Room DB Version (#5011)
* Fix#5001 (#5010)
* Fix DB update issue (#5016)
* [WIP] Fix both timezone problem and saved date problem (#5019)
* Fix both timezone problem and saved date problem
* Fixaccidental test code and add comments
* Add issue link to the comments
* Fix format issue and null checks
* Versioning for v4.0.2
* Changelog for v4.0.2
* Add "Report Violation" menu option (#5025)
* Add "Report Violation" menu option
* Update email template
* Update email address
* Fixed typo
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
* Versioning for v4.0.3
* Changelog for v4.0.3
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Started from welcome layout to main layout adding content descriptions
* Adds UI description section to strings.xml and adds a few content descrpitions
* Consolidates UI strings to top of file
* fixes nearby typos
* Removes content descriptions that clash with pr #4766
* Removes unused elements and reverts out-of-scope changes
* Restores pic-of-the-day content description
Co-authored-by: joshuamccluskey <jpiff57@gmail.com>
* Add map fragment for explore and search
* Create structure of explore map by defining view and user action interfaces to presenter
* Add methods to map start, bottom sheet and permission
* Make the simple map visible
* Imitate methods from nearby map for permission needed and non needed map initialisation operations, however, needs to be tested and reactor
* a level of abstraction
* update media params to include coordinates
* Implement pageable presenter to explore
* Create Root fragment for map and media
* Iplement two presenter one for map operations, the other for pageable operations
* Construct general structure for both explore with search query and just by location
* fix injection issue
* Make default explore work with zoom level
* increase offscreen page limit with newly added fragment
* Make two distinct api calls for search with and without query
* Before trying to use same presenter for both search with and without query
* Add notes for Madhur
* Add Madhur's fixes for binding
* Call serch with and without query from the same spot
* partially solve zoom issue
* Make tab view unswipble while map is being used on search activity
* make viewpager unswipable while map is being used
* Code cleanup and reverting unnecessry edits
* Add search this area methods
* Implement search this area button functionality
* Fix search this area button, current location FAB and bottom attribution UI elements
* Add marker click action
* Solve bookmarkdao injection issue
* Make display bottom sheet details on marker click
* remove label and set bottom sheet behavior
* Remove irrelevan buttons like wikidata and article buttons
* Cancel bookmark feature for commons images for know, needs to be thought
* Add search this area button
* Add location off dialog
* Implement back button for explore map fragment while not on search activity
* Make thumbnails visible, they need some styling though
* Make gridle views even more beautiful
* Remove classes added to support query
* Remove query related code from Reach Activity
* Solve two progressbar issue
* Remove query related ekstra codes
* Remove not needed anymore callback
* Make medai details work
* Remove all old removed code dependencies
* Solve initial load takes too long issue
* Solve current position track
* Add placeholder for possible load issues
* Add red stroke to bitmap
* Add borders to rectangles
* Change media details text to details
* Fix file name extension anf File: prefix
* Fix some code style issues
* Fix some style issues
* Fix style issues
* Fix build issue
* Fix test about etMediaListFromSearch
* Fix test issue with Seacrh Activity
* Fix conflict mark
* Entry to new UI
* Getting existing categories
* Hidden categories managed
* Category edit updated
* Category Edition implemented
* Java docs added
* Java docs added
* Java docs added
* Previous UI discarded
* Test added
* More test added
* More test added
* More test added
* More test added
* More java docs added
* Minor changes
* Display toast and disable API in LeaderboardFragment beta flavor
* Display toast and disable API in AchievementsFragment beta flavor
* Removed unused Gravity import
* Added Toast appearance tests for AchievementsFragment
* Added Toast appearance tests for LeaderboardFragment
* Improve Context detection in Achievements+Leaderboard fragments to ensure Context found for Toast
* Add testOnCreateView for AchievementsFragment
* Location wizard
* Location wizard
* Minor fix
* message changed
* Test fail fixed
* Test fail fixed
* Test fail fixed
* last location triggered
* last location added
* Some test added
* Java docs added
* More java docs added
* Fixes#4732 Show alert dialog card for sharing personal detail submission via email when clicking on feedback menu.
* Show alert dialog card for sharing personal detail submission via email when clicking on feedback menu when user is logged in.
Add javadoc for the new methods
Update alert dialog message.
* classes
* Almost done
* All done but build fail
* All done but build fail
* Modifications
* Modifications
* Fixed
* string resource
* minor change
* Maintained code conventions
* Moving
* Exception handled
* id name changed
* Test fail fixed
* Bookmark is available from other activities
* Test fail fixed
* Documentation error fixed
* Test added
* Revert Project_Default.xml
* Minor Change
* Revert changes
* Dialog can't be dismissed
* Dialog can't be dismissed
* Suggest users to turn on camera location
* Added safety pattern
* Title removed
* Changed constant