* Disable hardware acceleration and keyboard animation
This is a temporary commit to see if it fixes issue #3364
* Remove unused import
* Bump up version code and modify version name
* Modify handleKeyboardInsets to handle insets correctly
* Refactor handleKeyboardInsets()
* Refactor handleKeyboardInsets()
* Fix inset in login activity
Change trivial string formatting and function calls
for Timber logging.
This resolves all the lint warnings in the
Android/Lint/Correctness/Messages group.
All these messages are not really necessary because
the app has its own localizations, and android.R.string
sometimes doesn't display the localized string.
Resolves#6470.
* DatabaseUtils.kt: change getString() to allow null returns
Before this change, a call to getString() would assume that the specified column
name actually exists. A bad String input would cause a null value to be returned
to getString(), which would then throw a NPE because getString() can only return
non null Strings.
This change expands the getString() method to check if the column name exists.
If it does exist, the String is retrieved normally. Else, a null value is
returned. The method signature is changed to allow null return values.
* *Dao.kt: change some usages of getString()
Before this change, the getString() method in DatabaseUtils.kt was changed
to allow returning a null value upon method failure. All usages of getString()
were not changed.
This change updates all usages of getString() which require non null return
values. If null is returned, an empty string is used instead.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* chore: upgrade target SDK and refactor function signatures to resolve build issues
* chore: bump android gradle plugin version
* chore(ui): add extension functions for applying edge to edge insets
* fix: apply system bar top and bottom insets for edge to edge
* fix: force edge to edge for backward compatibility and consistent UI
* fix: apply top bar insets as padding and make the status bar color white
Since the toolbars have primary color as bg, we should make the status bar white
* chore: bump robolectric version for API 35 compatibility
* fix: preserve existing margins when adding new insets
* feat(customselector): improve RecyclerView edge-to-edge inset handling
It allows the last item to sits above the navigation bar while preserving edge-to-edge appearance.
* feat(notification): improve RecyclerView edge-to-edge insets handling
Also, refactor LocationPicker and DescriptionEdit activities to use extension functions and reduce duplication
* fix(quiz): enable and handle edge-to-edge insets and status icon colors
* fix: bottom insets not dispatched on all API versions consistently
Upgraded core-ktx version installCompatInsetsDispatch wasn't available on current version
* fix: return fallback value when versionName is null
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: resolve compilation errors
* docs: add KDoc for edge-to-edge insets utility functions
* fix(SearchActivity): apply insets for system bars
* fix(util): add utility function to handle keyboard insets with animation
* fix(upload): handle keyboard insets for upload media detail card view
* fix(login): hadle IME insets and make edge-to-edge backward compatible
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Convert WikidataItemDetailsActivity to kotlin
* Convert RecentSearchesDao to kotlin
* Convert RecentSearchesFragment to kotlin
* Convert ExploreListRootFragment to kotlin
* Convert the ParentViewPager to kotlin
* Convert ExploreMapRootFragment to kotlin
* Convert SearchActivity to kotlin
* Convert ExploreFragment to kotlin
* Convert ExploreMapCalls and ExploreMapContract to kotlin
* Convert ExploreMapController to kotlin
* Convert the map presenter to kotlin
* Convert the ExploreMapFragment to kotlin
* Fix import issue
* Convert BookmarkItemsController to kotlin
* Split BookmarkItemsDao apart and converted to Kotlin
* Convert and cleanup content providers
* Convert BookmarkItemsFragment to kotlin
* Convert BookmarkPicturesFragment to kotlin
* Convert BookmarkPicturesDao to kotlin and share some useful DB methods
* Convert BookmarkPicturesController to kotlin
* Convert BookmarkFragment to kotlin
* Convert BookmarksPagerAdapter to kotlin
* Convert BookmarkListRootFragment to kotlin
* Unused class removed
* Convert BasePresenter to kotlin
* Removed redundent class
* Move the Utils class into the utils package
* Inline the creation of a page title object
* Move license utilities into their own file
* Inline app rating since its only ever used in 1 place
* Moved GeoCoordinates utilities into their own class
* Moved Monuments related utils into their own class
* Moved screen capture into its own util class
* Moved handleWebUrl to its own utility class
* Moved fixExtension to its own class
* Moved clipboard copy into its own utility class
* Renames class to match remaining utility method
* Convert UnderlineUtils to kotlin
* Converted the copy-to-clipboard utility to kotlin
* Converted license name and url lookup to kotlin
* Converted fixExtension to kotlin
* Convert handleGeoCoordinates to kotlin
* Monument utils converted to kotlin
* Convert then inline screeen capture in kotlin
* Convert handleWebUrl to kotlin
* refactor: replace unused exception variable with underscore
* refactor: code style fix
* fix: remove unnecessary latLng variable and return null directly
* fix: use explicit true/false instead of isFABsExpanded
* refactor: simplify marker update logic by reducing redundant conditions
* refactor: use data object instead of object
* fix: check placeBindings for null instead of checking each destructured value
* fix: check placeBindings for null instead of checking each destructured value
* docs: fix KDoc for contentUri property by removing incorrect @param tag
* docs: correct @see link in KDoc for showBadgesWithCount
* docs: fix KDoc tag from @property to @param for context in BottomSheetAdapter
* docs: comment out KDoc for disabled method to avoid unresolved @param warning
* docs: fix KDoc for onLongPress by removing invalid @param imageUri
* docs: clean up invalid KDoc tags on property and add docs to isEmpty
* docs: remove invalid @param originalImageCoordinates from findOtherImages KDoc
* docs: fix incorrect @param tag in checkDuplicateImage KDoc
* docs: fix incorrect @param in onLongPress KDoc
* docs: fix invalid @param and @return tags on author property
* docs: fix incorrect @param in provideWikidataMediaInterface KDoc
* docs: fix incorrect @param name in getWikiText KDoc
* docs: escape wikilinks with [[ ]] to avoid KDoc resolution warnings
* docs: fix KDoc by adding missing param descriptions to startActivityWithFlags
* docs: fix KDoc by replacing @param with @property for contentUri
* docs: fix malformed KDoc in startYourself, remove invalid @param line
* docs: remove invalid @param tag in createDialogsAndHandleLocationPermissions
* docs: remove invalid @param tags to @property
* @docs: remove invalid @property tags
* docs: clean up KDoc by removing invalid @param and @return tags
* docs: fix incorrect @param name in removeBlocklisted KDoc
* docs: fix incorrect @param name in checkDuplicateImage KDoc
* docs: fix incorrect @param tag
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Refactor Unit Test: Replace Unsafe Casting with Type-Safe Mocking for findViewById
>PR refactors the unit test for NearbyParentFragment by replacing unsafe casting in the findViewById mocking statements with type-safe
>Ensured all findViewById mocks now use a consistent, type-safe format (findViewById<View>(...)) to reduce verbosity and potential casting errors.
>Verified the functionality of prepareViewsForSheetPosition remains unchanged, ensuring no regression in test behavior.
* Update NearbyParentFragmentUnitTest.kt
* Refactor: Rename Constants to Follow CamelCase Naming Convention
>Updated all constant variable names to follow the camelCase naming convention, removing underscores in the middle or end.
>Ensured variable names remain descriptive and align with code readability best practices.
* Replace private val with const val for URL constants in QuizController
* Renaming the constant to use UPPER_SNAKE_CASE
* Renaming the constant to use UPPER_SNAKE_CASE
* Update Done
* **Refactor: Convert `minimumThresholdForSwipe` to a compile-time constant**
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix: correctly handle permission callbacks on Main thread
The PermissionUtils was incorrectly executing permission callbacks on a background thread, leading to a Handler error. Now, it is using Main dispatcher.
* fix crash when opening camera while having partial storage access
* Convert upload dagger module to kotlin
* Code cleanup and convert the upload contract to kotlin
* Code cleanup and convert CategoriesContract to kotlin
* Code cleanup and convert MediaLicenseContract to kotlin
* Code cleanup and convert UploadMediaDetailsContract to kotlin
* Code cleanup, fixed nullability and converted DepictsContract to kotlin
* Removed unused class
* Convert FileMetadataUtils to kotlin
* Convert EXIFReader to kotlin
* Convert FileUtils to kotlin
* Convert FileUtilsWrapper to kotlin
* Convert ImageProcessingService to kotlin
* Convert PageContentsCreator to kotlin
* Convert PendingUploadsPresenter and contract to Kotlin with some code-cleanup
* Convert ReadFBMD to kotlin
* Convert SimilarImageInterface to kotlin
* Removed unused classes
* Fix merge/rebase issue
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename .java to .kt
* Migrated filepicker module from Java to Kotlin
* Rename .java to .kt
* Migrated filepicker module from Java to Kotlin
* fix: test cases
* Get good test around the basic KvStore before starting conversion
* Converted BasicKvStore to kotlin and removed dead code
* Converted JsonKvStore to kotlin
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert SessionManager to kotlin along with other small fixes
* Convert WikiAccountAuthenticator to kotlin
* Migrate WikiAccountAuthenticatorService to kotlin
* Converted AccountUtil to kotlin
* Convert SignupActivity to kotlin
* Convert LoginActivity to kotlin
* Merge from main
* move createLocale() method to companion object and add test dependency
* use mockk() from Mockk library for mocking sealed classes
* change method parameter to null-able String type
* add null check for accessing property from unit tests
* change method signature to match old method's signature
It fixes the NullPointerException when running ImageProcessingUnitTest
* Fix unresolved references and make properties public for unit tests
* fix tests in UploadRepositoryUnitTest by making return type null-able
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- AbstractTextWatcher
- ActivityUtils
- CommonsDateUtil
- DateUtil
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- DeviceInfoUtil
- ExecutorUtils
- FragmentUtils
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- ImageUtils
- ImageUtilsWrapper
- LangCodeUtils
- LayoutUtils
- LengthUtils
- LocationUtils
- MapUtils
* Rename .java to .kt
* Migrated all remaining files in util module
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- AbstractTextWatcher
- ActivityUtils
- CommonsDateUtil
- DateUtil
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- DeviceInfoUtil
- ExecutorUtils
- FragmentUtils
* Issue #5811: "Delete folder" menu in custom image selector
* Issue 5811: folder deletion for api < 29.
* Issue 5811: folder deletion for api < 29.
* Issue 5811: folder deletion for api 29.
* Issue 5811: folder deletion
* Issue 5811: fixes merge conflicts, replaces used function onActivityResult with an ActivityResultLauncher
* Update Constants.java
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* remove unused result expectancy for settings screen launch
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* initial refactor to new result api, wip
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* refactor camera launcher
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* revert callback for video handling
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* invoke callbacks when cancelled
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* handle gallery picker result based on preference
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove old method of refactoring for file picker
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove legacy result handling callback
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* request code used for handling result was never used for launching an activity, hence removed
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* extract voice result handling into function
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* refactor test
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove unused tests
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* cleanup
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* fix-docs
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* add space after ,
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* *.kt: bulk correction of formatting using ktlint --format
* *.kt: replace wildcard imports and second stage auto format ktlint --format
* QuizQuestionTest.kt: modified property names to camel case to meet ktlint standard
* LevelControllerTest.kt: modified property names to camel case to meet ktlint standard
* QuizActivityUnitTest.kt: modified property names to camel case to meet ktlint standard
* MediaDetailFragmentUnitTests.kt: modified property names to camel case to meet ktlint standard
* UploadWorker.kt: modified property names to camel case to meet ktlint standard
* UploadClient.kt: modified property names to camel case to meet ktlint standard
* BasePagingPresenter.kt: modified property names to camel case to meet ktlint standard
* DescriptionEditActivity.kt: modified property names to camel case to meet ktlint standard
* OnSwipeTouchListener.kt: modified property names to camel case to meet ktlint standard
* MediaDetailFragmentUnitTests.kt: corrected excessive line length to meet ktlint standard
* DepictedItem.kt: corrected property name format and catch format to for ktlint standard
* UploadCategoryAdapter.kt: corrected class definition format to meet ktlint standard
* CustomSelectorActivity.kt: reformatted function names to first letter lowercase to meet ktlint standard
* MediaDetailFragmentUnitTests.kt: fix string literal indentation to meet ktlint standard
* NotForUploadDao.kt: file renamed to match class name, new file NotForUploadStatusDao.kt
* UploadedDao.kt: file renamed to match class name, new file UploadedStatusDao.kt
* Urls.kt: fixed excessive line length for ktLint standard
* Snak_partial.kt & Statement_partial.kt: refactored to remove underscores in class names to meet ktLint standard
* *.kt: fixed consecutive KDOC error for ktLint
* PageableBaseDataSourceTest.kt & UploadPresenterTest.kt: fixed excessive line lengths to meet ktLint standard
* CheckboxTriStatesTest.kt: renamed file to match class name to meet ktLint standard
* .kt: resolved backing-property-naming error in ktLint, made matching properties public, matched names and refactored
* TestConnectionFactory.kt: fixed property naming to adhere to ktLint standard
* change the overridden method signature as per API 34
* add version check condition to compare with API 23 before adding flag
* refactor: add final keywords, fix typo, and remove redundant spaces
For optimized code only
* upgrade: migrate to SDK 34 and upgrade APG
Additionally, add Jetpack Compose to the project
* AndroidManifest: add new permission for API 34
DescriptionActivity should not be exposed
* refactor: permission should not be check on onCreate for some cases
* add method to get correct storage permission and check partial access
Additionally, add final keywords to reduce compiler warnings
* refactor: prevent app from crashing for SDKs >= 34
* add new UI component to allows user to manage partially access photos
Implement using composeView
* change the overridden method signature as per API 34
* add version check condition to compare with API 23 before adding flag
* refactor: add final keywords, fix typo, and remove redundant spaces
For optimized code only
* upgrade: migrate to SDK 34 and upgrade APG
Additionally, add Jetpack Compose to the project
* AndroidManifest: add new permission for API 34
DescriptionActivity should not be exposed
* refactor: permission should not be check on onCreate for some cases
* add method to get correct storage permission and check partial access
Additionally, add final keywords to reduce compiler warnings
* refactor: prevent app from crashing for SDKs >= 34
* add new UI component to allows user to manage partially access photos
Implement using composeView
* replace deprecated circular progress bar with material progress bar
* remove redundant appcompat dependency
* add condition to check for partial access on API >= 34
It prevents invoking photo picker on UploadActivity.
* UploadWorker: add foreground service type
* fix typos in UploadWorker.kt
* add permission to access media location
* Splitted the query
* Made changes to the query
* Improvised query
* Improvised query by dividing in the batches
* Fixed failing tests
* Improved batches
* Improved sorting
* Fixes issue caused by search this area button
* Fixed failing tests
* Fixed unnecessary reloads on onResume
* Fixed few pins not loading on changing apps
* Improved zoom level and fixed the pins not loading from the center
* Removed toggle chips and changed pin's color
* Fixed wikidata url
* Fixed unit tests
* Implemented retry with delay of 5000ms
* Fixed exception issue and pins issue
* Added change color icon to pin
* Improved pin clicking
* Removed search this area button
* Implemented caching of places
* Fixed unit test
* Factorized methods
* Changed primary key from location to entity id
* Fixed tests
* Fixed conflicts
* Fixed unit test
* Fixed unit test
* Fixed the bug
* Fixed issue with pin loading on the first launch
* Updated javadocs
* Temporary commit - only for testing
* Replaced Temporary commit
* Temporary commit - Added jcenter
* Made minor changes
* Fixed unit tests
* Fixed unit tests
* Fixed minor bug
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Removed mapbox code1
* Removed mapbox code2
* Fixed failing tests
* Fixed failing due to merging
* Resolves issue #2239 by adding an arrow for direction
* Removed unnecessary change in styles.xml
* spacing
* javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Update DialogUtil to return the dialog object
* Update first instance of Builder to DialogAlert
* Update DialogUtil to allow null instead of empty string
* Update MediaDetailFragment to use DialogUtil
* Remove unnecessary semicolons
* Update AboutActivity to use DialogUtil
* Update ProfileActivity to use DialogUtil
* Update AchievementsFragment to use DialogUtil
* Remove wrong message set in ProfileActivity
* Update DialogUtil to accept null instead of empty string
* 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>
* 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
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Added ability to access nearby tab without location permissions
* added ability to remember user choice if the permission is denied.
* fixed the issue with permission dialog box in contribution tab.
* changed name for stored variables
* minor change
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>