* 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>
* 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>
* 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>
* make database function calls suspending and update room version
* replace MainScope with coroutineScope for database operations
* add suspend keyword and refactor code
* Changed files required to get the app to run correctly. Removed suspend from affected DAO files and funcs, and changed to (Kotlin v1.9.22) and (Kotlin compiler v1.5.8)
* Created refresh button icon, and added it to the nearby_fragment_menu.xml (header of the nearby page). Created function refresh() in NearbyParentFragment.java to handle refresh functionality.
* Replaced refresh() func with emptyCache() and reloadMap()
* Attempt at reloadMap(), no testing done yet.
* added changes for a possibly working emptyCache implementation (needs testing).
* Tested changes as working, edited emptyCache to correctly clear cache and then reload map
---------
Co-authored-by: MarcusBarta <marcusbarta@icloud.com>