* 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 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
* 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>
* 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
* *.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
* Cherry-Picked NPE fix from master (#4569)
* Fix notification bug #4547 (#4570)
* Make Single Query for Nearby and WLM pins (#4573)
* Merge nearby and monument queries
* Bug Fix- query resource path change on shouldQueryForMonuments
* Bug Fixes
1. Propagate exceptions for nearby API calls to caller
2. Fix too much work on main thread exception in NearbyParentFragment
* Modify parameters for Nearby query
* Bug fix- current location marker (#4580)
* Move WLM template below geolocation template (#4582)
* Modify string for WLM upload notice
* Fix bug #4583 (#4591)
* Fix bug #4585 by updating kotlin and acra version (#4592)
* Fixes#4554 - only use WLM2021 template for countries that are included in it (#4574)
* Fixes#4554
1. For WLM uploads reverse geo code and see if the country code is supported -only then is the WLM upload flow triggered, otherwise usual nearby uploads happen
2. Bug Fix - Current Location marker and area
* Fixed compile error added after rebasing
* Bug fix for country code in reverse geo code
* Update WLM camaign dates [Do not merge now, merge only after alpha release] (#4584)
* Updates dates for WML campaign
* Bug fix- campaign dates
* Fixed logic for WLM enablement - stick to the month of September
* Add countries supported by WLM2021 template, except Italy
* Versioning for v3.1.0
* Update changelog.md
* Fix empty default lang bug (#4608)
* Fix bug #4583
* Fix empty default lang bug
* Fixes#4595 - Updated nearby query (#4622)
* Fixes#4595 - Updated nearby query
* Removed logic to replace local language in nearby query - that might acccidentally replace other strings
* Fetch property location in usual nearby query
* Remove duplicate line (#4626)
* Change "learn more" link to new wiki
* Add Sweden's P3426 to property filter
* Fixes#4601 - 1. Handle possible exceptions in upload file from stash 2. Modify MWException, as error is nullable, update getTitle and getMessage to rever that (#4627)
* Versioning for v3.1.1
* Update changelog.md
* Updated DB version to rever integrity
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
* Integrate WLM
- Show monuments in maps along with nearby
* BugFix in Monuments
1. Single preference for monuments and campaigns
2. Expand collapse chips container in nearby
3. Typo fix in Monuments card in Nearby
4. If a nearby place is a monument as well - do not show them separately, show it as a monument instead
5. Bug fix, monument radius, use the same one as that of nearby
* More bug fixes
1. Possible NPE in nearby
2. Added column location_address in BookmarkLocationDao
3. Bug Fix - Display Date in WLM card
4. WLM card on click takes to nearby
* Use lowercase country code in WLM uploads
* Bug-Fix, WLM Campaign Icon
* 1. Updated monuments query to use any of the following properties for monuments - [P1435, P2186, P1459, P1460, P1216, P709, P718, P5694] 2. Append WikiData QID to descriptions template
* Updated WLM Banner String, Handle NPE in contributions callback
* Added nearby-monuments query log lines
* Handle WLM Query exception : - if an exception is thrown in WLM query, continue showing the nearby items if that succeeds
* Fix BookmarkLocationDaoTest
* Added Column Address in BookmarkLocationDaoTest
* Use fallback description as usual nearby pins even for WLM pins, instead of relying on P6375
* Test fix in BookmarkLocationDao
* Updated template for WLM, removed redundant feilds
* Fixed WLM template
* Removed categories from WLM template
* Fixed BookmarkControllerTest
* Fixed BookmarkLocationFragmentUnitTest
* fix ModelFunctions
* Fixed BookmarksDaoLocationTest
* Fixed WLM template
* Add additional classes from 2019 hackathon implementation
* Make first tab work
* Make explore tab work
* Handle back button for contrib and nearby
* Fix framelayout and nav bar allignment
* Fix nav bar tint
* Fix nearby card layout
* Make contributions number visible
* Change menu icon according to fragment
* Make notification icon work and remove drawer
* Make favourites accessible from nav bar
* Turn bookmark and explore activities into fragments
* Use bottom sheet instead of more fragment
* Add actions
* Remove unused classes
* Fix indentation
* remove more fragment title
* Fix explore fragment indentation
* Make toolbar settings as we wanted
* Set card view styles
* Make colors for explore actiivty
* Remove drawer from achievements activity
* Add back button to achievements activity
* remove drawer from review activity
* Remove drawer from settings activity
* Remove drawer from about activity
* Fix dagger injection of fragment
* Implement skip login version
* Add theme missing colors
* Add style to moresheet
* refactor name
* call login with button
* Remove all old bookmarks activity dependency
* Make explore tab items clickable
* Do nothing if same tab is selected
* Fix notification icon color for dark theme
* Fix wrong drawable colors
* Handle back button after media details is visible from contrib and explore fragments
* make favourites open media details
* Fix profile icon
* Make user name visible instead
* Move user back to contrib fragment
* Remove NavigationBaseAvticity
* Fix typo in bookmark fragment
* Fix menu button colors
* Remove explore activity
* remove drawer and dependencies
* Make bookmark media details visible
* Cleanup code
* Code cleanup
* Remove unused layout
* Make contriblist UI look like in mockups
* Change limited connecton toggle
* Move list menu item to nearby fragment
* Fix search button crash
* Make media detail appear
* Back button added
* Fix back button npe
* Change bookmark list view
* Fix always the firs item displayed issue
* Allign contrib list bottom line to simple drawee bottom
* fix fragment string
* Fix back button for mobile uploads
* Make lists appear
* Make fav item selected
* Make favourites clickable
* Add back button to media details
* Add toolbar of notification activity
* Change contributions icon
* Fix card UI
* Fix back button in explore
* Make card views look similar to mockups
* Solve campaign bug visible issue
* Make borders a little softer
* Feature/refractor uploads [WIP] (#2887)
* Fix duplicate param information (#2515)
* Bug fix issue #2476 (#2526)
* Added wikidataEntityID in all db versions, handled db.execSql via method runQuery
* Versioning and changelog for v2.10.2 (#2531)
* Update changelog.md
* Versioning for v2.10.2
* Update changelog.md
* Bugfix/issue 2580 (#2584)
* Corrected string placedholders in certain string files
* Corrected string placedholders in certain string files[Bug fix#2580]
* Bug Fix#2585 (#2647)
* Bug Fix#2585
* Added null checks on view in SearchImageFragment when updating views from external sources
* Disposed the disposables in SearchActivity and SearchImageFragment when no longer in active lifecycle
* use FragmentUtils to verify fragment active state
* Bug Fix issue #2648 (#2678)
* Bug Fix issue #2648
* Handled external storage permission before file download
* * Removed redudant check for permission in MediaDetailPagerFragment (Dexter already does that)
* Removed duplicate code in PermissionUtil$checkPermissionsAndPerformAction, used the existing function with conditional extra parameters
* string name typo correction
* BugFix issue #2652 (#2706)
* Addded null check on bookmark before operating on it
* BugFix issue #2711 (#2712)
* Added null checks in OkHttpJsonApiClient$searchImages MwQueryResponse
* BugFix #2718 (#2719)
* Handled null auth cookies
* Fix#2791: NPE when nominating for deletion and leaving screen (#2792)
* Bug Fix issue #2789 (#2790)
* Handled Illegal State Exception for non existent appropriate view parents in ViewUtils$showShortSnackbar
* BugFix #2720 (#2831)
BugFix deprecated licenes #2720
* ui fixes, wip, upload
* *Issue #2886, BugFix #2832[wip]
* updated UploadActivity code
* modified ui
* Updated UploadPresenterTest
* * updated interfaces names to follow names suffixed with Contract
* added test cases
* card view elevation
* view pager disabled swipe
* bug fix, duplicate image
* used existing non-swipable view pager
* Avoid image view resize with keyboard, added adjustPan and stateVisible as softinputMode for UploadActivity
* retain UploadBaseFragment instances on orientation changes
* * Added test cases for UploadMediaPresenter
* Injected io and main thread schedulers
* categories presenter test cased wip
* Added CategoriesPresenter test
* * Added the logic to show open map (with to be uploaded image's coordinates while uploading image)
* codacy suggested changes * added java docs
* Added travis_wait fot android-wait-for-emulator
* ranamed interface onResponseCallback to Callback
* * Added api to delete picture in UploadModel
* cleanUp in UploadModel. once upload has been initiated
* Removed unused methods from UploadModel and the corresponding test class
* * Added tests for UploadPresenter
* Travis suggested changes
* Addded copy previous title and description
* * Made the upload add descriptions visible when keyboard visible
* add description request focus only when user manually requests it
* Added JavaDocs, review suggested changes
* Fix dagger injection
* use DialogUtil to show info in descriptions
* use activity context for DialogUtil
* Minor changes
* Bug fix, reduced the add description edit text clickable bound (#2973)
* Bugfix/uploads (#3000)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Fix memory leak (#3001)
* Bugfix/uploads (#3002)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Added tooltip in Title in UploadMediaFragment
* BugFix recent categories
* Updated test methods
* Bugfix/uploads (#3011)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Added tooltip in Title in UploadMediaFragment
* BugFix recent categories
* Updated test methods
* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView
* bugfix/uploads (#3012)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Added tooltip in Title in UploadMediaFragment
* BugFix recent categories
* Updated test methods
* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView
* BugFix Illegal State Exception in ViewpPagerAdapter
* Remove irrelevant comment
* merge conflict with strings (#3016)
* Beginnings of integration with Wikipedia client library. (#2642)
* Remove remaining unnecessary API version check.
* Roll up sleeves.
* Add and integrate the beginnings of app adapter.
* Remove vestigial event logging logic.
Event logging is no longer used in this app.
* Beginnings: remove StringUtils and associated redundancies.
* Remove redundant capitalize() method.
* Remove redundant urlEncode() method.
* Remove redundant (and incomplete) language lists.
* Remove redundant usages of SimpleDateFormat.
* Remove redundant json type adapter.
* Remove redundant MW error model classes.
* Rip out redundant MW model classes.
* Pass SessionManager into AppAdapter instead of injecting.
* Wire up more of the AppAdapter.
* Remove redundant Gson initialization and type adapters.
* Rip out PageTitle.
This was being used in some slightly incorrect/unexpected ways.
* Don't need static WikiSite.
* Bump data client library version
* Bump library version and fix build
* Fix tests
* Fix build
* Fix media of the day
* With fixes in recently modified APIs
* Use JSON response for nearby places
* Move okhttp calls to a different class
* wip
* Fetch picture of the day using JSON API
* Search images using JSON APIs
* tests
* Fix injection based on code review comments
* Use wrapper for accessing shared preferences across the app
* Use Json kv store for storing place object
* Fix tests
* Fix test failure
* Fix UI tests
* Show campaigns
* Added a ui util class SwipableCardView which passes the onSwipe event to its children
* NearbyCardView & CampaignView extend SwipableCardView
* Fetch campaigns in ContributionsFragment
* Added an option to enable disable campaign in Settings/Preferences
* synced strings with master
* removed duplicate initialsation of CampaignPresenter