* 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>
* Fixes bug causing the progress dialog to load forever (#5212)
* Fixes bug causing the progress dialog to load forever (#5212)
* remove unnecessary new line (#5212)
* Add XML map icons with a tick/question mark for the Upload Wizard
The existing map icon may not be intuitive enough to indicate
whether the location EXIF data will be included
The two new XML map icons are intended to indicate the status of
location sharing with the location data in the Upload Wizard
* Label the map icon in the Upload Wizard if location is included
If an image is capture with the in-app camera, the location in the
image metadata by default
If so, the map icon in the Upload Wizard should be labelled with
a green tick during initialisation of its UploadMediaDetailFragment instance
* Update the map icon in Upload Wizard if location is pin-pointed
If the user selects images from the device storage
to upload, the location EXIF data might originally not be included
The map icon is labelled with a red question mark
After pin-pointing the location manully, the map icon should be
labelled with a green tick instead
* Fix Upload Wizard map icon XML rendering failure
SVG path is invalid, resulting in failure to render the icons
Also imports are required for UploadMediaDetailFragment to
use Drawable objects and R objects
* Add hasLocation() to UploadableFile to indicate existence of EXIF
When an image is chosen from the album to the Upload Wizard,
its EXIF might contain location data. hasLocation() and fix of init()
in UploadMediaDetailFragment ensures that the map icon is shown
correctly
* Fix init() NullPointerException in UploadMediaDetailFragment
* Fix comment typo in UploadMediaDetailFragment
Fix the comment about red and green labels for the map icon
* Use SLF4J logging for try-catch clauses in UploadableFile class
Instead of using printStackTrace(), error directed to logcat
* Use Timber for logging in UploadableFile
Clean up the catch clause in hasLocation() and getDataTimeFromExif()
* fix Bug index out bound
* fix Bug index out bound
* fix Bug index out bound
* fix Bug index out bound
* add some comments for that
* add some comments for that
* add some comments for that
* add some comments for that
Full mode R8 configurations are hindering the working of the app severly.
So, disable the same.
Also, ensure the POJO classes used to hold the API responses aren't optimized
so that we could use the response properly without any issues.
* Makes depicted place and category items unselectable for nearby place
* UploadCategoriesFragmentUnitTests.kt fixes and javadoc addition
* comment fix
* Fixes tests and hidden category appearing and dissapearing issue
* bug fix 5240
Signed-off-by: Zeeshan Alam <zeeshan.alam@fmr.com>
* Incorporated review comments. Remove method MediaDetailPagerFragment.newInstance(false, false, 0) which was called only in unit test
* Added Required empty public constructor
---------
Signed-off-by: Zeeshan Alam <zeeshan.alam@fmr.com>
* 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
* add null check to prevent crash
* 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"