* fix issue6020: prevent unintentional deletion of subfolders and non-images by custom selector
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix: resolve crash when submitting feedback without internet access
* feat:Added check for wheather internet connection was available for a network
* feat:Added SnackBar for Retry and User Info
* feat:Made the feedback dialog not leave screen in case of error
* feat:Removed the network checking from the function
* feat:Added try catch block for the Feedback
* feat:Removed Unnecessary imports
* feat:Used Snackbar and timber instead of log and Toast
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix issue5847 as owner required: make the icon always visible and just adjust the count accordingly,comment the setVisibility method and make pending_upload_icon always visible
* set pending_upload_icon android visible level: visible and tool visible level: gone
* fix issue 5847, The upload icon is now set to always be visible, while the original code has been commented out and retained with a note for potential re-use in the future.
* refactor
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
Co-authored-by: bxy379987 <bxy379987@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename .java to .kt
* Migrated delete and description module to kotlin (WIP)
* Fix: Unit tests
* Fix: Unit tests
* Rename .java to .kt
* Migrated data, db, and converter module to kotlin
* Fix: Unit tests
* Fix: Unit tests
---------
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>
* Rename `.java` to `.kt`
* Migrated FeedbackContentCreator to kotlin
* Rename FeedbackDialog from `java` to `kt`
* Migrated Feedback Dialog from `java` to `kt`
* Renamed OnFeedbackSubmitCallback to kotlij
* Migrated OnFeedbackSubmitCallback to kotlin
* Fixed: TestCase Failure
* Fixed Test : Changed Private Modifier to Public
* Suppressed deprecated and added TODO for lint
* Linked Deprecation with Github Issue
* Rename Feedback from java to kt
* Migrated Feedback Data Class to Kotlin
* Modified the data class to var for mutuability
* Convert Edit to kotlin along with deleting unused class
* Converted ExtMetadata to kotlin
* Convert ImageInfo to kotlin
* Removed unused class
* Convert Notification to kotlin
* Convert PageProperties to kotlin
* Convert PageTitle to kotlin
* Convert Namespace to kotlin
* Refactor : Fixed lint issues on EditActivity
- Using 'Log' instead of 'Timber'
- Line is longer than allowed by code style (> 100 columns)
- Use of getter method instead of property access syntax
- Should be replaced with Kotlin function
- Cascade 'if' should be replaced with 'when'
* Suppress Deprecation
* Linked Deprecated with Github Issue
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename AchievementFragment from `.java` to `.kt`
* Migrated AchievementFragment to kotlin
* Revamped Achievement Screen
* fixed AchievementFragment Unit Test
* fixed Level on MoreBottomSheetFragment
* Implemented Badge and Minor Code Refactor
* Fixed the badge issue & made the badge clickable
* Removed Redundant XML Code & Converted badges to green color and added values inside it
* Fixed : showSnackBarWithRetry Test
* Fixed : Theme issues on Light Mode
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert DepictSearchResponse to kotlin
* Convert Entities to kotlin
* Convert WikiSite to kotlin
---------
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
* Convert OkHttpJsonApiClient and CategoryApi to kotlin
* Convert GsonUtil to kotlin
* Convert WikidataConstants to kotlin
* Convert WikidataEditListener to kotlin
* Convert WikidataEditService to kotlin
* work in progress
* Convert RequiredFieldsCheckOnReadTypeAdapterFactory to kotlin
* Converted type adapters
* Convert WikiSiteTypeAdapter to kotlin
* Fixed nullability
* Convert ViewModelFactory to kotlin
* Convert UpdateAvatarResponse and related test to Kotlin
* Convert LeaderboardResponse and related test to kotlin
* Convert LeaderboardListAdapter to kotlin
* Convert UserDetailAdapter to kotlin
* Convert LeaderboardListViewModel to kotlin
* Convert DataSourceClass to kotlin
* Convert the LeaderboardFragment to kotlin
* Converted AchievementsFragment to kotlin
* Revert "Converted AchievementsFragment to kotlin"
This reverts commit 4fcbb81e5d.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert a batch of easier modules
* Convert the NetworkingModule to kotlin
* Converted the ApplicationlessInjection to kotlin
* Convert CommonsDaggerAppCompatActivity to kotlin
* Convert CommonsDaggerContentProvider to kotlin
* Convert CommonsDaggerIntentService to kotlin
* Convert CommonsDaggerService to kotlin
* Convert CommonsDaggerSupportFragment to kotlin
* Convert CommonsDaggerBroadcastReceiver to kotlin
* Convert CommonsApplicationModule to kotlin
* Fix imports and make them consistent
* 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 ICampaignsView to kotlin along with simple fix
* Convert CampaignView to Kotlin
* Convert CampaignsPresenter to Kotlin
* Convert CampaignsPresenter to kotlin
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* refactor getIconFor method and remove call to highlightNearestPlace()
It ensures single responsibility on getIconFor method
* refactor and fix icon issue when coming from nearby banner
---------
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
* Modified findUniqueFileName() in UploadWorker.kt to use a random 3-digit alphanumeric hash to append to a file name to make it unique. This improves speed over using an incrementing number to append as there are fewer collisions.
* Modified findUniqueFileName() in UploadWorker.kt to use a random 5-digit numeric hash rather than the previous 3-digit alphanumeric hash
* Removed unnecessary variable "chars"
---------
Co-authored-by: Jinniu Du <127721018+Donutcheese@users.noreply.github.com>
Co-authored-by: Zihan Pan <u7726755@anu.edu.au>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* 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>