* Rename .java to .kt
* Migrated ContributionController
* Rename .java to .kt
* Migrated ContributionDao
* Rename .java to .kt
* Migrated ContributionsContract,ContributionFragment,ContributionListAdapter,ContributionsListContract from java to Kotlin
* Rename .java to .kt
* converted/Migrated
* converted/Migrated
* Rename .java to .kt
* Migrated ContributionController
* Rename .java to .kt
* Migrated ContributionDao
* Rename .java to .kt
* Migrated ContributionsContract,ContributionFragment,ContributionListAdapter,ContributionsListContract from java to Kotlin
* Rename .java to .kt
* Show placeholder and display depiction section when no depictions are available (#6163) (#6165)
* corrected
* corrected
* Update MediaDetailFragment.kt
Spelling correction
* Migrated AboutActivity from Java to Kotlin (#6158)
* 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**
* Convert AboutActivity from Java to Kotlin
This PR converts the AboutActivity class from Java to Kotlin
>Testing:
>Verified all functionalities of the AboutActivity, including toolbar setup, intent launches, and dialog interactions, to ensure behavior remains consistent post-conversion.
>Successfully ran unit tests for AboutActivity to confirm the correctness of methods and logic.
* Thank you for the suggestion! Since these methods all take a single View parameter, replacing them with method references is a great way to simplify the code and improve readability. I'll updated the code accordingly. Added a TODO in the code as a reminder to refactor this in the future.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Localisation updates from https://translatewiki.net.
* Feat: Make it smoother to switch between nearby and explore maps (#6164)
* Nearby: Add 'Show in Explore' 3-dots menu item
* MainActivity: Add methods to pass extras between Nearby and Explore
* MainActivity: Extend loadFragment() to support passing fragment arguments
* Nearby: Add ability to navigate to Explore fragment on 'Show in Explore' click
* Explore: Read fragment arguments for Nearby map data and update Explore map if present
* Explore: Add 'Show in Nearby' 3-dots menu item. Only visible when Map tab is selected
* Explore: On 'Show in Nearby' click, navigate to Nearby fragment, passing map data as fragment args
* Nearby: Read fragment arguments for Explore map data and update Nearby map if present
* MainActivity: Fix memory leaks when navigating between bottom nav destinations
* Explore: Fix crashes caused by unattached map fragment
* Refactor code to pass unit tests
* Explore: Format javadocs
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Localisation updates from https://translatewiki.net.
* enhance spammy category filter (#6167)
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* Localisation updates from https://translatewiki.net.
* correction
* correction
* correction
* GitHub workflow to build betaDebug (#6174)
* [Bug fix] Check if duplicate exist using both original and modified file's checksum (#6169)
* check original file's SHA too along with modified one
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* fix tests
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* Add multiline input for caption and description (#6173)
* allow multiple lines for description/caption
* make caption multiline too
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* correction
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
Co-authored-by: Akshay Komar <146421342+Akshaykomar890@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: Ifeoluwa Andrew Omole <iomole3@gmail.com>
Co-authored-by: Parneet Singh <111801812+parneet-guraya@users.noreply.github.com>
Co-authored-by: Matija Nalis <mnalis-git@voyager.hr>
* MediaDetailFragment.kt: add helper method to retrieve ContributionFragment instance
Before this commit, there was no easy way to check for and retrieve the ContributionFragment instance that
was either the parent or grandparent (parent's parent) fragment. A complicated if check was required to
retrieve it.
After this commit, there is a simple helper method which will retrieve the ContributionFragment instance.
Existing code can now be replaced by calling this method.
* MediaDetailFragment.kt: replace code that is meant to hide nearby card
Before this commit, code would attempt to find and hide the nearby card that would appear
when the user was looking at media details. However, this code did not work.
After this commit, the old code has been replaced with code that correctly hides the
nearby card. Also, this new code uses a helper method call and is overall easier to read.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Add a "copy link" button next to the share button. Add relative English and Simplified Chinese text in strings.xml.
* Change the icon from copy to link
* Fixed typo
* Fixed case
---------
Co-authored-by: Justweng <justweng19@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert ImageDetails to kotlin
* Convert MwException/MwServiceError to kotlin
* Convert ListUserResponse to kotlin
* Convert MwPostResponse to kotlin
* Convert MwQueryResponse to kotlin
* Convert MwQueryResult to kotlin
* Convert MwQueryPage 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
* 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
* BaseMarker.kt: removed unneeded cast
* TransformImageImpl.kt: removed unreachable code
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* DescriptionEditActivity.kt: removed unnecessary non-null assertion (!!) on a non-null receiver of type DescriptionEditHelper
* Media.kt: Property would not be serialized into a 'Parcel'. Added '@IgnoredOnParcel' annotation to remove the warning
* ZoomableActivity.kt: removed Unnecessary non-null assertion (!!) on a non-null receiver of type ZoomableDraweeView
* CategoryClient.kt: removed condition 'page.categoryInfo() == null' as it's always 'false'
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type SessionManager
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type DescriptionEditHelper
* WikidataFeedback.kt: removed unneeded cast
* FailedUploadsFragment.kt: removed unneeded non-null assertion (!!)
* PendingUploadsFragment.kt: removed unneeded non-null assertion (!!)
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* FileUtils.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* LocationPickerActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* MediaDetailFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* NearbyFilterSearchRecyclerViewAdapter.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ProfileActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* RecentSearchesFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ReviewActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* SearchActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* UploadMediaPresenter.java: Changed toUpperCase to toLowerCase(Locale.ROOT)
* CategoriesMediaFragment.kt: Changed arguments!! to requireArguments()
* ChildDepictionsFragment.kt: Changed arguments!! to requireArguments()
* DepictedImagesFragment.kt: Changed arguments!! to requireArguments()
* DepictsFragment: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity())) to requireActivity()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity()) to requireActivity()
* UploadMediaDetailFragment.java: Changed arguments!! to requireArguments()
* WikipediaInstructionsDialogFragment.kt: Changed arguments!! to requireArguments()
* BookmarkItemsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* BookmarkLocationsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* AndroidManifest.xml: Removed redundant label android:label="@string/app_name"
* bs\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* Revert "hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63"
This reverts commit 47232466ab.
* cy\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* sr\strings.xml: Added missing few quantities for lines 35 to 70
* ro\strings.xml: Added missing few quantity and removed not needed zero for <plurals name="contributions_subtitle" fuzzy="true">
* cs\strings.xml: Added missing few many missing quantities for lines 33 - 74
* lt\strings.xml: Added missing few, many missing quantities for lines 34 - 58
* lt\strings.xml: Replaced . . . with ...
* ca\strings.xml: Added missing many quantities for lines 21 - 51, replaced . . . with ...
* ser\strings.xml: Added missing few quantities, replaced . . . with ...
* br\strings.xml: Added missing two, few, many quantities
* pt\strings.xml: Added missing many quantity, changed . . . to ... and ignored typo as it is correct for European Portuguese
* it\strings.xml: changed . . . to ...
* pt\strings.xml: fixed many quantity
* ca\strings.xml: fixed many quantity
* sr\strings.xml: fixed many quantity
* cy\strings.xml: corrected quantities for "share_license_summary
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity. Fixed some typos, added ignore for correct spellings but has warning
* getColumnIndex(): added @SuppressLint("Range") as -1 is expected result for column name doesn't exist
* values-b+sr+Latn\strings.xml: changed . . . to ...
* Revert "values-b+sr+Latn\strings.xml: changed . . . to ..."
This reverts commit 95b909c29f.
* values-b+roa+tara\strings.xml: changed . . . to ...
* Revert "values-b+roa+tara\strings.xml: changed . . . to ..."
This reverts commit b5db1a3e68.
* values-b+roa+tara\strings.xml: changed . . . to ...
* values-b+sr+Latn\strings.xml: changed . . . to ..., add few based on other quantity. Ignored one ImpliedQuantity warning as it is correct.
* it\strings.xml: changed . . . to ..., add many based on other quantity.
* pt-rBR\strings.xml: changed . . . to ..., add many based on other quantity. Fixed typos, ignored warning for "one" quantity as translation didn't use number
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity. Fixed wrong %1$d. Changed . . . to ...
* mk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use 1
* sl\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* ru\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* uk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* is\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* strings.xml: changed . . . to ...
* af\strings.xml: removed not needed zero quantity
* de\strings.xml: fixed duplicate word typo
* diq\strings.xml: changed - to dash (-)
* hi\strings.xml: removed not needed zero
* in\strings.xml: removed not needed one quantity
* iw\strings.xml: removed not needed many quantity
* ja\strings.xml: removed not needed one quantity
* ko\strings.xml: removed not needed one quantity
* ky\strings.xml: removed not needed one quantity
* mr\strings.xml: removed not needed zero quantity
* my\strings.xml: removed not needed one quantity
* su\strings.xml: removed not needed one quantity
* th\strings.xml: removed not needed one and zero quantity
* zh\strings.xml: removed not needed one quantity
* activity_description_edit.xml: changed android:tint to app:tint, changed layout_alignParentRight to layout_alignParentEnd
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed to margin layout
* bottom_sheet_item_layout.xml: changed android:tint to app:tint, added focusable
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* item_place.xml.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_campagin.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_contribution.xml.xml: changed android:tint to app:tint
* nearby_card_view.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* nearby_row_button.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* toolbar_location_picker.xml: changed android:tint to app:tint
---------
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
* 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
* Butterknife to ViewBinding
* code fix to pass all tests
* test fix
* test fix
* test fix
* test fix
* Update ContributionsFragmentUnitTests.kt
* code cleanup and tests improved
* tests fixed
* adjustments and code cleanup
* adjustments and code cleanup
* Converted CategoryInterface to kotlin
* Converted DepictsInterface to kotlin
* Convert the MediaDetailInterface to kotlin
* Convert MediaInterface to kotlin
* Convert ReviewInterface to kotlin
* Convert the UserInterface to kotlin
* Convert the WikiBaseInterface to kotlin
* Convert WikidataInterface to kotlin
* Convert WikidataMediaInterface to kotlin
* Convert UploadInterface to kotlin
* 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
* 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>
* Add conditional on function onAuthorViewClicked for when there's not logged-in user
* Change media.getAuthor() for media.getUser()
* Change hardcoded URL for one given by the BuildConfig object
* fixed:After canceling a sharing, application goes back to the search menu #2296
* fixed:After canceling a sharing, application goes back to the search menu #2296
* fixed:After canceling a sharing, application goes back to the search menu #2296
* fixed SeachActivityUnityTest failure when calling testOnBackPressed and cleaned up unnecessary code
* 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
* 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>