* 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.
* * 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()
* BugFix #2915
* Refractor ReviewActivity and ReviewImageFragment and the related layout files, to properly use the scrollview
* Use ButterKnife for ViewBindings in ReviewImageFragment
* updated resource id names to follow underscore notation in xml
* Use menu item instead of ImageView over toolbar in ReviewActivity
* use tools:replace instead of android:text for dummy texts
* merge nested if's [Codacy review]
* updated string review_category_yes_button_text, use textAllCaps in yes and no button in ReviewFragment
* updated other strings to use non bold letters
* Use previous Title/Description option added
* Update UploadActivity.java
* add previous title/description option modified
* declaration of Descripton object moved within the loop
* spinner position gets adjusted according to the description's language
* prev Title/Desc option for multiple upload added
* Tooltip for previous title/description button added
* UI and other resolved issues
* 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
* Add new activity to manifest
* Create review activity layout base
* Add a new menu item to drawer for peer review
* Add a top menu with randomizer icon to review activity
* Add strings for review button
* Add activity to ActivityBuilderModule for injection
* Add a new drawer item to start review acitivty
* Create base of the Review Activity
* Add fragment pager
* Add new fragment for injection
* Create a fragment pager layout
* Wikimedia hackathon 2018 (#1533)
* First draft of fn to get random recent image
* Use log entries for requests to beta, try to connect refresh button
FIXME: runs http request on main thread, breaks
* Tweak button connection
* Add ReviewController class
* Fix fragments
* Wmhack2018 (#1534)
* tiny fixes
* Load pictures into activities
* Re-use same class for all review fragments (#1537)
And try to add pager indicator
* [WIP] category check
* [WIP] add on-click actions to ReviewActivity
* [WIP] add SendThankTask
* Make it beautiful
* Add some category stuff back in to review (#1538)
* Use standalone category extraction code in MediaDataExtractor
* Add categories to category review page
* Change category question text sizes
* Call randomizer whenever the activity is ready
* Add progressbar
* [WIP] add DeleteTask.askReasonAndExecute
* Fix refresh button string
* Typo: "nominate *for* deletion"
* Add formatting to categories and put them in the same textView
* Pass context and adapters as parameters to controller
* Add actions to controller
* Make everyting work
* Add another fragment to thank
* Fix npe
* Add missing execute method
* Some codes
* Add a funy text
* More random recent image selection (#1542)
time-based randomness is biased - if someone uploaded 100 images in
hour, one week ago, and I select a random point in time, their last
image is way more likely to come up than anything else.
With this, there is still bias towards choosing one of the last N
in any burst of uploads (where N is the number of recent changes
fetched) but it's a bit better than before.
* Create Revision class
* Add meaningluf strings
* Error handling for review image/category fetch (#1543)
* Add information layout for username and filename
* Use Single to get firstRevision
* try to add username and filename
* Ensure caption is shown on every review fragment
* Fix build
* Fixes missing import
* Change button text,show current category, add skip image button
* Modify texts, fix night mode issues
* Positive Wording
* fix landscape issue
* Add checkbox popup,rewording
* Spelling Correction
* Fix merge
* Remove commented out code, use lambda
* Simplify toolbar include