* Closes#3027
* Concat category search with search with image title list and default categories
* Fixed unit test CategoriesPresenterTest.searchForCategoriesTest
* bug fix [search for categories even when the edit text is empty (perform title based search)]
* Category items should show the selected item on top
* 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
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
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
* 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
* Closes#3048
* response.body().string() was called more than once and because response body can be huge so OkHttp doesnot store it in memory, it reads it as a stream from network when we need it, which cannot be done without a new request.
* null check in response.body()
* Fixed possible NumberFormatException, made review suggested changes
* added getUploadCount test case
* * Refactored ContributionsListFragment to use RecyclerView
* Added ContributionsPresenter
* Extracted out the cursor to presenter
* Probable fix for #3028
* Improved the logic for cache in ContributionViewHolder
* Some more refactoring
* While displaying images in ContributionsList, check if status is not completed && local uri exists, use that uri to show image
* typo correction in LocalDataSource
* Fixed formatting in ContributionsPresenter
* retain adapter position when orientation changes
* retain child position with its id
* Made ContributionViewHolder not implement ViewHolder
* Code formatting, review suggested changes
* initialise the rv layout managers only when needed
* added test cases for ContributionPresenter
* removed not needed semi colon
* added more java docs and code formatting
* 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)
* Api call
* added captions
* final commit
* some minor changes
* sigular
* test for captions
* mock fetchCaptionbyFileName
* corrected method name
* * used ? instead of !! (unsafe call on nullable)
* updated unit test for fetchCaptionByFilename()
* Updated language codes displayed for Hebrew, Indonesian and Yiddish (#2880)
* Function 'fixLanguageCode' encapsulated with unit tests (#2880)
* Renaming class "StringUtils" as "LangCodeUtils" and small String formatting improvement in "SpinnerLanguagesAdapter"
* 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 APIs for explore
* With tests
* Use JSON APIs for explore
* With tests
* BugFix #2731 (#4)
* Increased sdk version to 23
* with more robust tests
* Fix crashes and other reported issues
* Add javadocs
* Use common method for search and categories
* Add javadocs
* replaced icafe with metadata extractor
* replaced icafe with metadata extractor
* removed icafe from gradle
* removed icafe from gradle
* Revert: travis commented code
* Use original content URI
* merged pr
* commit after merge
* modified unit tests
* 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 easy image for image picker
* Do not use harcoded mime type
* Use uploadable file for image uploads
* Add picker files in filepicker module
* Remove redundant checks for file
* Make usage of file extensions consistent
* Add javadocs
* Fix tests
* Enable image upload using bookmark activity
* Fix multiple uploads
* Fix external image uploads
* Fix chooser intents
* Fix image quality checks
* Segregate internal and external upload intents
* Invoke all error messages from one place
* Minor changes
* Fix tests
* Add image processing service tests
* Show bookmarked nearby locations differently (#2059)
* added custom bookmark marker
* passed value of bookmarkplacelist in tests
* update the nearby markers on clicking bookmark buttons
* Fix uploads getting stuck
* Fix test
* Use single instance of Gson across the app
* More logs to help debug upload failure
* Add request identifier
* wip
* Fix issues with image quality check dialogs