* Set imeOptions to actionDone and enforce singleLine for xlarge
* Set imeOptions to actionDone and enforce singleLine for landscape
* Set imeOptions to actionDone and enforce singleLine
* Update askUserForTwoFactorAuth for IME_ACTION_DONE to trigger performLogin
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* feat: Set imeOptions to actionNext for login_password to improve focus transition
* feat: Enhance keyboard visibility for email verification code input
* 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
* 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
* 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>
* 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
* *.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
* Ensure to clear the cookies when logging out
It turns out that we failed to clear the cookies from the cookie JAR
when logging the user out. As a consequence, the cookie were retained
and it was possible to edit depictions as the previous user even without
logging in to the app (using the retained cookies).
Make sure we properly clear the cookies when we log the user out.
As an aside, the fact that the edit button shouldn't have been shown
is a different issue being tracked in #5726
* session: reuse removeAccount method for log out
The removeAccount method takes care of invoking the non-deprecated
API in applicable API levels. The logout method did not do such a
thing. Avoid redundancy, and reuse the removeAccount method for
logging out.
* Refactor :API calls separated from activity added to LoginClient
* getLoginToken() modifier set to private
* Code Cleanup : removed non-null from twofactor and Locale import
* Indentation fix
* logErrorsInsteadOfCrashing only ever returned false, so remove it and simplify logger
* Removed unused getMediaWikiBaseUrl()
* Removed getDesiredLeadImageDp() from commons app adapter, since it's unused
* Inlined the isLoggedIn() method of the app adapter
* Inline the app adapter username/password
* Removed the unused getRestbaseUriFormat() from the commons app adapter
* Remove references to the data-client SharedPreferenceCookieManager
* Manage our own OkHttpClient and remove the AppAdapter implementation
* Convert the result classes to kotlin
* Convert response and callback to kotlin
* Cleanup code-quality warnings before converting
* Converted the LoginClient to kotlin
* Updated the UserExtendedInfoClientTest to be kotlin, and live in the correct spot
* Update UploadMediaDetailFragment.java
* Update LoginActivity.java
Clear CompositeDisposable after logging in successfully. It may help solve the problem of saving the contribution to the previous account
* Revert "Update UploadMediaDetailFragment.java"
This reverts commit b1b4257f20.
Co-authored-by: Obsidian_zero <1198474846@qq.com>
* Fixes#3790
Use WorkManagers to process upload contributions
** Removed UploadService and Added UploadWorker to process contributions Upload
** Made nescessary changes to remove the usages of the Service from the classes
** UI Fxies- Minor changes in the retry and cancel uplaod icons to give them a clickable area of 48 dp
* Fixes#3790
Use WorkManagers to process upload contributions
** Removed UploadService and Added UploadWorker to process contributions Upload
** Made nescessary changes to remove the usages of the Service from the classes
** UI Fxies- Minor changes in the retry and cancel uplaod icons to give them a clickable area of 48 dp
* Updated JavaDocs in UploadWorker, Fixed Test cases
* Updated JavaDocs in UploadWorker, Fixed Test cases
* Updated gradle
* Revert "Updated gradle"
This reverts commit c8979fe6dc.
* rolledback to compileSDKVersion 28, fixed tests
* Don't call the show notifications on the main thread
* Bug Fix- Duplicate contributions, handle upload stash errors
* Fixes#3341, #4018
* Defined two feild author and user in Media and used them at the corresponding places
Minor bug fixes
-displaying userName in uploadedBy.
-modified HTML parsing in getArtist.
-Replaced creator with author.
* Fixes#3341, #4018
* Defined two feild author and user in Media and used them at the corresponding places
Minor bug fixes
-displaying userName in uploadedBy.
-modified HTML parsing in getArtist.
-Replaced creator with author.
* fixes#4001
* Overrides the onSaveInstanceState method and onRestoreInstanceState method in LoginActivity.java
* In onSaveInstanceState save ProgressDailog state or visiblity and text of TextView(errorMessage)
* In onRestoreInstanceState restore All saved Data
* Update the commit -1a92b17e37
* formatting the codechanges
* reformated the codechange
* 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
* Added Support for System Wide Dark Theme
* changed methods to private
* Moved Strings to strings.xml
* Used Dagger to reduce code repetition
* Changes made as per review suggestions
* Minor Changes
* Fixes as per suggestions
* Minor Fixes as per suggestion
* made the variables static
* removed irrelevant code
* Migrated logEvents to retrofit (#3087)
* Switched wikimedia-android-data-client for new features
* Added UserCLient and UserInterface
* Migrated ContributionsSyncAdapter to UserClient
Fixed sync related bugs
* Removed unused code
* Removed unused code
* Updated wikimedia-android-data-client to new version
* Update library for data client (#3131)
* Backend overhaul fetch media by filename (#3081)
* Added class MwParseResponse and MwParseResult for receiving parse output
* Migrated fetchMediaByFilename to retrofit
* Removed unused code
* Added tests
* Migrated isUserBlockedFromCommons to retrofit (#3085)
* Switched wikimedia-android-data-client for new features
* Added UserCLient and UserInterface
* Migrated isUserBlockedFromCommons to retrofit
* Added tests and removed dead code
* Implemented ban checking functionality in UploadActivity
* Removed unused class AuthenticatedActivity
* Fixed tests
* Fixed NullPointerException when a user accessed image details without logging in.
* * Login the login token way, handle LoginResult minutely, add account based on LoginResult (#3151)
* Added progress updater in UploadService to show upload progress in no… (#3156)
* added progress updater in UploadService to show upload progress in notification
* formatting changes
* [Dependency: Quadtree] Remove unused code from cache controller (#3163)
* Basic logging with redacted sensitive headers (#3159)
* As per #3026, removed the obsolete classes in package mwapi (#3150)
* fixed compile time error (#3165)
* [Dependency fluent]: Remove unused dependency fluent (#3164)
* Donot init quiz checker in onResume (#3167)
* clear image cache on logout (#3168)
* Fixed default locale and upload locales in descrptions (#3166)
* Fix 2FA login (#3170)
* Fix build (#3172)
* Localisation updates from https://translatewiki.net.
* Closes#3094 (#3095)
* BugFix in SpinnerDescriptionsAdapter and SpinnerLanguagesAdapter (use the langguage code provided by the spinner, donot set the language to the one returned by the locale)
* Update changelog.md
* Versioning for v2.11.0
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Center map on location clicked in nearby list and notification card(#2060) (#2366)
* center map on location clicked in nearby (#2060)
* improved animation
* Center map on location clicked in nearby list
* removed unnecessary methods
* center map on location clicked in nearby notification card
* some minor changes
* travis build error
* resolved errors
* Tidy up PR
* removed swipe to delete (#2589)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* edited CREDITS file (#3145)
* Unused dependencies are removed (#3141)
Part of #3128
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Working with #3129 issue (#3146)
* Replace Hard-Coded strings with those from strings.xml.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* delete res/values-en-gb (#3153)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* First commit (#3093)
Fixes info icon color is Review
* Solution #3126 (#3155)
Fixed wrong upload dates after image upload
* Bugfix/fix upload presenter tests (#3158)
* Revert "Merge branch 'backend-overhaul' into master"
This reverts commit 0090f24257, reversing
changes made to 9bccbfe443.
* * Fixed upload presenter tests
* Deleted app/src/main/res/values-en-gb/error.xml
* Localisation updates from https://translatewiki.net.
* Remove dependency on Exif parsing library. (#2947)
* Remove dependency on Exif parsing library.
* Fix test.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Refactor nearby classes mvp (#2969)
* Create parent contract
* Create map child contract and fill methods
* Add javadocs and specific interfaces for list
* Move general method to parent and add javadocs for parent
* Add explanation for keeping an emty View interface under NearbyListContract
* Move constracts under contract package
* Create presenters for map and list and implement user actions accordingly
* Add javadocs
* Add presenter, contract and fragment for parent Fragment of both NearyListFragment and NearbyMapFragment
* Implement missing methods
* Fix typo
* Add main views on fragment
* İmplement child fragment logic and their retain
* Relate parent presenter with parent fragment
* Add all location permission related methods to view contract and implement in fragment. Call them from presenter by passing locationServiceManager parameter
* Define refreshView method as updateMapAndList which is a better naming. Define it at presenter part.
* Define a presenter variable in fragment and call updateMapAndList method from there, if permissions are okay
* Add lock neabry method to unlisten nearby operations during updates
* Add network connection established check on view side, check it from presenter
* try to simplify previous method during refactor
* Add missing methods for NearbyMap
* Connect child fragment and prent fragment with presenter
* Change nearby design, first create views then register listeners
* AddnetworkBroadcatsReceiver on view side, call it from presenter
* Add comments
* Change the old NearbyFragment by our new NearbyParentFragment for first tests
* Prevent crash caused child fragment is actually null by checking if it is attached or not.
* Makes sure that initialize nearby operations method is called just after all views and fragments are ready and attached
* Make sure updateMAoAndList method is called when everything ready
* Rename a method with prepoer name
* Call update map and add required markers
* Find out zoom level problem
* Implement add nearby markers and add current marker methods
* remove unneeded codes copied from previous implementation
* Revert "remove unneeded codes copied from previous implementation"
This reverts commit 42539651de.
* add some commits and clear code
* Remove location listener implementation from view, handle them in presenter instead. And add timber debug notes and required method calls
* Style ,issues
* Refactor a variable name to camel case and bind search this area view
* Search this area button action is added
* Mostly implement search this area methods, not tested yet even once
* Make sure everything is called in required order and seach this area method basically works
* Rename methods accordingly and add Javadocs
* Add current location marker and remove circle around it
* Remove unused methods
* Add current location marker with object animator and remove previous marker is exists
* include clear map into add markers method and reorder methods
* Make search this area button appear at correct time
* Try to load un search this area is called
* Clear logs
* Add changes for permission made by Vivek to newly added fragments along with our nearby classes
* Add a view to nearby map ragment and insert map view as an item inside it
* Add logs to uınderstand why on meap ready callback is never called
* Add list item clicked and bottom sheet for list of nearby items is expanded
* Make nearby map ready callback came
* Add required methods to be called after map view is ready
* State: Map ready call is not called but permissions and methods are in correct order
* Remove unused logs
* Try to use SupportMapFragment instead, still no success...
* use SupportMapFragment instead
* Remove unused Near
* Upgrade mapbox sdk versions
* Remove Style import from fragment/NearbyMapFragment
* Remove Style import from **fragments/NearbyParentFragment
* Remove nearby/NearbyMapFragment
* Remove unused/old NearbyFragment and NearbyMapFragment
* Remove import of already removed class
* Make sure you removed everything related with mapbox implementation
* Update mapbox map
* Remove unused classes, do not forget centerMapToPlace doesn't work on this branch
* Remove Style class it required updated version of mapbox map
* Add base codes for new activity
* Prove that our mapbox sdk let us implement the map directly inside the activity
* Add base codes for testing mapbox activity in a single fragment inside activity
* Add codes from mapbox demo repository to test support fragment, map works in a single layer fragment
* Add base codes for test layered fragment activity
* Add Support fragment inside a fragment and proves that layered fragmentw with map works
* Test view pager and tab layout with support map fragment to see it works, it works!
* Move Contributions Fragment related codes to test activity
* Move nearby card methods
* Inject location manager and implement NerabyParentFragmentContract.View on test fragment
* Coppy the content of SupportMapFragment from mapbox repository, use this code to modify later. This method war suggested by mapbox team instead of extending the class
* Implement NearbyMapContract.View on our new SupportMapFragment
* Start to mplement logic of checking permissions
* Fix small dagger issue to inject location manager properly
* Request permission for nearby places if fragment is loaded and tab is selected
* Initialize map operations if map ready and tab is selected
* Markers loads at correct time
* Style the map according to new version of mapbox map
* Add some map elements like FABs and give their actions
* Implement map marker click actions
* Implement nearby Fabs logic with a small issue
* fix FABs are not closing problem
* Unkown problem occurs at map load when I try to use MainActivity again.
* Revert "Unkown problem occurs at map load when I try to use MainActivity again."
This reverts commit 3dc084415b.
* Search this area buttons are added but button function does not work and button visibility is problematic
* Fix issue with MainActivity with the help of Ashish
* Fix search this area button visibility issue
* Fix the issues with updating search nearby markers and camera position together
* Fix progress bar visibility issue
* Prevent loding map each time tab selected
* Take toolbar back
* Implement back button with presenter
* Add click actoion to bottom sheet details
* Add nearby list into bottom sheeet
* Make reuse existing fragments if there is any
* Code cleanup
* Cleanup
* Code cleanup
* Add lifecyle codes to prevent leaks
* Cleanup
* Code cleanup
* cleanup
* Make list item clicked and map focus to same place
* Add bookmark from list fragment
* Make nearby card click action work
* Revert "Fix conflicts"
This reverts commit f3451745d3, reversing
changes made to c5d4d5533d.
* Code cleanup
* Cleanup
* Make recenter button work when list sheet is expanded
* Cleanup
* Code cleanups
* NPE issue is not detected for now, can be solved on seperate PR
* Update map after Wikidata edit
* Cherry picked previously reverted merge, hoping this will fix enourmus amounts of diff files
* Previous merge bringed an file which should be deleted. Delete it.
* Revert irrelevant changes on build.gradle
* Revert irrelevant changes
* Jetbrains annotation is not included to build gradle, this issue caused build issues on my branch so I removed it to be able to build
* Rename ListView
* Use a singleton to access the presenter, instead of passing it to a variable inside fragment
* Fix code style issues
* Move hardcoded colors to colors.xml file
* Make larger methods smaller
* Make current location marker follow
* Do not track users position if user is searching around
* Revert irrelevant shanges at build gradle
* Remove unneeded variable
* Remove mvp directory, add sub directories directly under nearby directory instead
* Remove unneeded public definiton
* Remove unneeded namespace
* Add public defiiton, it is needed to reach the constructor.
* On Logout, fetch the CSRF token and then make the post logout call (#3182)
* Api call for logout
* call clear cached onCompleteSessionLogout
* Correction is passed file name to checkPageExistsUsingTitle, function expects file name prefixed with File: (#3194)
* Merge master (#3196)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Mapped values-en-gb to values-en-rGB (#3161)
Fixes "Error: Invalid resource directory name" bug.
* Localisation updates from https://translatewiki.net.
* Removes the "Other" deletion option mentioned in #3174 (#3183)
* Localisation updates from https://translatewiki.net.
* Renamed resource file to prevent build from failing (#3189)
* Localisation updates from https://translatewiki.net.
* Removed some jargon/slang from strings.xml (#3162)
* Localisation updates from https://translatewiki.net.
* solve issue Avoid 'form movements' in the login screen #1107 (#2936)
* Disabled review buttons while an image is being loaded (#3185)
* Disabled review buttons while an image is being loaded
* Added javadocs for the new methods
* Fix build
* Revert "Merge branch 'backend-overhaul' into master"
This reverts commit 0090f24257, reversing
changes made to 9bccbfe443.
* fixed test handleSubmitTest
* With media client APIs migrated to retrofit (#2998)
* With media client APIs migrated to retrofit
* Add test cases and java docs
* Fix test
* Fix build
* Fix build and other minor issues
* Fix tests
* Categories related client API's migrated to retrofit (#3053)
* Commit 1
* searchCategories migrated to retrofit
* SearchCategoriesFragment migrated to new API
* Removed unused code
* Created tests
* implemented searching by prefix
fixed SearchCategoryFragment behaviour where the same categories would be added to the list instead of new ones.
* added tests
* Migrated searchTitles to searchCategories, function behaviour seems identical
* With media client APIs migrated to retrofit (#2998)
* With media client APIs migrated to retrofit
* Add test cases and java docs
* Fix test
* Fix build
* Fix build and other minor issues
* Fix tests
* Categories related client API's migrated to retrofit (#3053)
* Commit 1
* searchCategories migrated to retrofit
* SearchCategoriesFragment migrated to new API
* Removed unused code
* Created tests
* implemented searching by prefix
fixed SearchCategoryFragment behaviour where the same categories would be added to the list instead of new ones.
* added tests
* Migrated searchTitles to searchCategories, function behaviour seems identical
* OkHttpJsonApi#getMediaList migrated to retrofit (#3054)
* Migrated OkHttpJsonApi#getMediaList partially to MediaClient#getCategoryImages
* Migrated rest of OkHttpJsonApi#getMediaList functionality to MediaClient#getCategoryImages
* Removed unused code and tests
* Fixed small bug
* Added tests
* Removed unused CategoryImageController
* getSubCategoryList and getParentCategoryList migrated to retrofit (#3055)
* Migrated getSubCategoryList to retrofit
* Migrated getParentCategoryList to retrofit
* Removed obsolete functions
* Added tests
* Fixed small bugs
* Migrated OkHttpJsonApiClient#getMedia and getPictureOfTheDay to MediaClient
* Removed obsolete functions and added tests
* Fixed merge errors
* With media client APIs migrated to retrofit (#2998)
* With media client APIs migrated to retrofit
* Add test cases and java docs
* Fix test
* Fix build
* Fix build and other minor issues
* Fix tests
* Categories related client API's migrated to retrofit (#3053)
* Commit 1
* searchCategories migrated to retrofit
* SearchCategoriesFragment migrated to new API
* Removed unused code
* Created tests
* implemented searching by prefix
fixed SearchCategoryFragment behaviour where the same categories would be added to the list instead of new ones.
* added tests
* Migrated searchTitles to searchCategories, function behaviour seems identical
* OkHttpJsonApi#getMediaList migrated to retrofit (#3054)
* Migrated OkHttpJsonApi#getMediaList partially to MediaClient#getCategoryImages
* Migrated rest of OkHttpJsonApi#getMediaList functionality to MediaClient#getCategoryImages
* Removed unused code and tests
* Fixed small bug
* Added tests
* Removed unused CategoryImageController
* getSubCategoryList and getParentCategoryList migrated to retrofit (#3055)
* Migrated getSubCategoryList to retrofit
* Migrated getParentCategoryList to retrofit
* Removed obsolete functions
* Added tests
* Fixed small bugs
* Consume login client from data client library (#2894)
Fix actions for review client
Use data client library for notifications
With delete helper migrated to data client
With wikidata edits
With notifications and modifications migrated to data client
With upload migrated to retrofit
Delete unused code
Reuse thank interface from the library