* Fixes#3303
* Refactor Nearby to alig lifecycle methods
* Pass updated place list to listfragment
* Added default zoom rate to mapbox
* Removed NearbyListFragmet and added the ui login to handle the same in NearbyParentFragment
* More code refactor
* Make BottomSheetList hideable
* onFragmentHide, hide the bottom sheets
* BigFix, Fragmet visibility, register/un-register camera move based on fragments lifecycke
* More code refactor
* Let the ExecutorUtil have non-ui thread
* Add Location Marker on non-ui thread (the non-ui stuffs)
* BugFixes
* Removed configchanges "orientation" from MainActivity in Manifest (That was messing with the fragment lifecycle)
* Some null checks
* Initialise lastknown location in onMapReady
* UI Fixes
* Adjusted UI to support dark and no-dark themes both (in nearby)
* Do not update map on Location Slightly changed
* Fix failing test case, let TestCommonsApplication extend Application instead of CommonsApplication
* start map view when nearby is visible
* start the map when NearbyFragmet is visible
* More bugfixes
* Added DUMMY view for NearbyPresenter's onDetach State
* Added a wrapper frame layout parent for MapView to preven it from drawing above other views
* More bugfixes (Fixes#3287)
* Gray out the un-selected markers from the nearby filter list
* BugFix, search this area should search the nearby places for the current camera position
* More BugFixes
* Handle null primitives with proxy
* Current location marker flow via permission flow
* onCameraMove should have null-check on NearbyController.latestSearchLocation instead of currentLocation
* Search for places around last focus location
* Handle location updates
* If the user is browsing the map, donot update the map with current location
* 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
* 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)
* 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
* Use fileProvider instead of Uri.fromFile()
* As Uri.fromFile() will not work on Android 7.0+, with a targetSdkVersion of 24 or higher, throws FileUriExposedException
* 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
* Use image picker to pick images for upload
* Consolidate storage permissions in Upload activity
* With proper request codes for image upload
* Use constants for upload limits
* Check for request code while handling requests
* Let fragment initiate the camera/gallery instead of activity
* Delete unused external storage utils
In the upload revamp, commit f607c1c1 (Multiple uploads with over haul (#1968), 19 Nov 2018),
kept back the label for the single upload intent but removed the label for the multiple upload
intent.
Correct it and bring back the label for the multiple upload intent thus giving a more useful
label for the intent, again.
* Added new upload activity that receives shared files from the gallery. Cards show and hide, plus titles are correct. Displayed thumbnails for the shared images
* Better handling of the view paging plus error handling for required fields.
* Code cleanup to make things more readable.
* Extracted a model from the category search fragment that can possibly be shared with the new upload activity.
* Added category selection to the combined upload screen.
* Cleanup before the home-stretch on the GUI.
* Adding license selection.
* Fixed build warnings + cleanup
* Start to support the dark theme.
* Work in progress to add quality checking.
* Fixing merge.
* GPSExtractor: optimized away the EXifInterface object
* Implemented submit functionality, temporarily fixed jacoco crash by disabling DUMMY UploadView object.
* Implemented uploading of categories along with the picture. The category screen now displays GPS and recent categories when nothing is searched.
* Implemented caching of files. Did some work on picture quality detection.
* Implemented too dark picture detection.
* Added a side card for zoom and map buttons along with pretty animations for stuff.
* Added duplicate image on commons checking and fixed files not getting proper file extensions in several places.
* Added support for map button and switched in-app upload buttons to UploadActivity
* Pretty pretty animations!
* Implemented zoom functionality for th background image. Just pinching on the image works instead of requiring buttons.
* Added multi-language descriptions with categories by region.
* Reimplemented the duplicate title checker and implemented a check against putting the same language twice in the description.
* Javadocs for Description and UploadPresenter, plus some general cleanup.
* Small code changes.
* Implemented login checks for the Upload screen.
* Implement receiving data from Nearby.
* Feature/permissions library (#1855)
* Added permission for Dexter, the runtime permission handling library
* [Preparing fir issue #1773] Added a utility function which would take the user to app settings screen where he could manually give us the required permission
* Added an alert dialog with positive and negative callback [Preparing fir issue #1773]
* Improvements in the way External Storage Permission is handled in MultipleShareActivity[Bug fix#1697]
1. Used dexter to handle the external storage permission
2. Behaviour changes : When user tries to share(uppload) images to commons via MultipleShareActivity, following decision tree is followed
a. If the app has permission for external storage, normal upload operation is followed
b. If the app does not has the permission for external storage, dexter is used to ask for the same
c. If the user gives us the required permission, normal upload flow is proceeded
d. If the doesnot gives us the required permission a rationale dialog is shown with the appropriate message to let him know why we need the permission
e. If he presses okay, steps a-c are followed and if he presses cancel, we close the app.
f. If while asking for permission, the user chooses never ask again, then next time he tries to upload an image via MSA, the rational dialog follows the app setting screen where he could manually give us the required permission and the onActivityResult of same is handled
* Added a Constants class to handle request and result codes from one place and other related constants common to the all app elements
* replaced hardcoded strings ok and cancel in DialogUtil to string resources
* init permission rationale dialog in activities onCreate
* Code formatting, updated access modifiers wherever required, added javadocs for new methods created
* *shifted constants to app class
*Added JavaDocs in PermissionUtils
* removed class REQUEST_CODES from CommonsApplication and instead put the enclosing constants in the App class itself
* Made Codacy happy.
* Abstarcted permission acquisition into new class DexterPermissionObtainer
* Fixed Nearby upload detection
* Migrated bad picture detection from AsyncTask to RxJava.
* Removed ShareActivity and related dead code
* Removed dead or duplicate code from FileProcessor
* Added info button to title EditText
* Fixed the add description button not disappearing.
Added "Starting Upload" toast.
Added link to the license on final screen.
Made it so that the map button is hidden when image lacks gps coords.
* Support in app multiple uploads
* Minor changes to fix build
* Changes to fix pending issues with upload flow
* Fix display of similar image fragment
* When uploading several files at once the date is missing #1854 (#2)
* Bug fix issue #1854
* updated ContributionsDao to save create date, which it was not doing currently [it was instead saving current date]
* UploadItem accepts are dateCreated param
* Added a function in UploadModel, getFileCreatedDate which tries to fetched the file creaction date from all possible content providers.
* Fix pending issues in upload flow
* Make multiple uploads work for Google Photos
* Fix default state for upload activity
* Fix keyboard state for license screen
* Fix descriptions for uploads
* wip
* Fix language spinner
* Delete Contributions Activity content to rewrite it
* Add layout for new Contributions Activity design
* Bind views
* Override auth cookie required
* Add tabs and fragments method
* Create ContributionsFragment which will hold ContributionsListFragment and MediaDetailsFragment
* Add NearbyFragment which will hold NearbyMapFragment and NearbyListFragment
* Add ContributionsActivityPagerAdapter inner class to manage view pager
* Create strings will be written on tabs for contributions and nearby
* Create setTabAndViewPagerSynchronisation method to sycn view pager and tab layout. If user swipe pages, tabs will also change (and vice versa)
* Add theme dependent background color for Drawer Layout of activity_contributions layout file
* Add theme dependent background color for tabs in main
* Create Contributions Fragment structure which will hold Media Detail Fragment and Contributions List Fragment
* Inifilate contributions list fragment view
* Create variables and methods to reuse and create Media Detils Fragment and Contributions List Fragment which will be inside Contribution Fragment
* Override cursor loader methods
* set MediaDetilsView fragment or ContributionListFragment according to users state
* Show details of an image when item is clicked
* Add delete and retry functionality, note: not tested yet
* Override media count methods
* Implement onBack Pressed settings
* Register and unregister datasetObservers
* Add contributin list fragment
* Add contribution list layout with FABs for camera and galerry
* Make sure we called onAuthAcquired from fragment after is is attached
* Create ContributionListViewUtils class to change visibility of views according to MediaDetailsFragment visiblity or their loading state
* Make number of uploads visible if contribution list is visible and number of uploads is uploaded. Progress bar is visible if contribution list is visible and number of uploads are uploading. Both invisible if Media Details Fragment is visible
* Return parent fragment instead of parent activity
* GetPagerFragment instead of getActivity since currently ContributionsFragment take over responsibility from ContributionsActivity
* Add contribution number next to tab text for contribution, as discussed in thread
* Remove number of uploads from contributions fragment since we moved it text of tab layout
* Add unread notifications asynctask to check unread notifications on background
* Save latest time user notification activity viewed
* Add shared preferences provider for latest notification activity visit time
* Add shared preferences provider for latest notification activity visit time
* Change notification icon (add blue dot) whenever a notification comes
* Recover notifications state on come back to contributions list from media details fragment
* Add date with year parameter to Notification class, because we will use it on comparasion of dates
* Check if user visited noifications activity after last notification came
* Add ation to notification icon
* Add nearby custom card view class
* Add card view to activity
* Add a button which will be displayed when nearby permission is not granted thus closest point can't be displayed on main screen. Besides, theme dependent click styles are added to button
* Add button click and permission request logic. Not: solve why location manager is null
* Inject location manager to activity instead
* Make card view dismissable with swip
* Add preference to disable or display closest nearby location
* Add a bugfix to set visibility of nearby notification cardview
* Add UI modifier methods to display notifications
* Modify getFromWikidataQuery method, so that based on the restunClosestResult boolean, we get only the closest nearby place, instead of fetching bunch of nearby places each time
* Make inner class vaariables public to reach them out of package
* Temporarily comment out icon setter methods since it crashes under API19
* Inject location manager
* Register location manager accoring to permission is given, then call nearby card view updater methods
* Change method calls loadAttractionsFromLocation by considering new parameter to decide between closest nearby call or an usual nearby call
* Add progress bar to nearby cardview
* Fix notifications string
* Hide nearby card view when Media Details is visible
* Change tab on nerby card view click
* Add hardcoded strings to strings.xml
* Move nearby activity to new nearby frament
* Add fragments for nearby list and map into outer nearby fragment
* Change options menu item according to tab view
* Make nearby card view invisible on swipe to nearby tab
* Use retained nearby fragment
* Add action to list sheet button
* This commit caused contrib list become invisible thus,
Revert "Use retained nearby fragment"
This reverts commit 86b3633b23.
* Make sure retained fragments are used for -both- nearby and contrib fragments
* Remove unrelated part added because of confusion, sorry
* Make sure nearbyNotificationCardView visibility works corrent
* Move nearby methods from nerby activity to nearby fragment, and add a lastLocationDuplicate variable to distinguish first time location from nearby fragment and nearby notification card on contributions activity
* Change activity.findViewByID lines with parentFragment.view.findViewById
* Remove toolbar from nearby fragment, since contributions activity already has
* Disable view pager swipe, since using map is very hard with swipe option of view pager
* Place progress bar inside nearby card notification to center
* Make sure using retaied nearby map fragment and nearby list fragment inside nearby fragment
* Update nearby notification content on slight location updates too, if it is first update after on resume. This prevented very long time loading progress bar
* Add case for no nearest pleace found, to prevent bug
* Prevent a possible bug can be caused from activity already killed
* Add click actions to FAB buttons in contributions list fragment. And arrange FAB margins
* Try to use a new location manager instance instead of using single object for both nearby map and nearby notification card view. Because location manager has a state mechanism which is designed to be called from a single point. When I call same methods from both nearby card view notification and nearby map, next update time of map etc. gets confused.
* Set radius to initial value on getFromWikidataQuery (when it is called for getting closest result to be used in nearby card view notification). Normally, algorithm increase radius, this technique works for nearby map but when it comes to finding nearest point, it can return null
* Add an enum to make card view visibility more stable, however, still there is a bug.
* Prevent some more nearby card view visilbility bugs, however still there is a bug
* Add some nullchecks for precaution
* Check nearby permission and refresh nearby view if nearby tab selected, othervise do nothing
* Send user to contrib tab if permission is denied after masrhmallow
* Change nearby fragment background so that progress bar is visible now
* Reduce code duplicate
* request location and gps permission from contribution nearby car view too
* Make sure using retained fragments
* Make sure Contrib list fragment is retained on orientation change
* Fix NPE at options menu
* Make fragment flag fancier, define it per fragment instance, instead of activity
* Fix Service leak and onsavedInstance NPE errrors both occured on orientation change
* Refresh nearby map on orientation change
* Remove unused imports, organise logs and add comments for NearbyMapFragment class
* Remove all references of nearby activity, since we don't use it anymore
* Remove unused imports, organise logs and add comments for Nearby Controller
* Remove unused imports, organise logs and add comments for NearbyFragment
* Remove unused imports, organise logs and add comments for NearbyNotificationCardView
* Change class name from Contributions Activity to Main Activity. Remove unused imports, organise logs and add comments for MainAtivity
* Remove extra spaces
* Remove unused imports and logs
* Remove unused imports, organise logs and add comments for LocationServiceManager
* Remove unused imports, organise logs and add comments for NotificationsActivity
* Remove unused imports, organise logs and add comments for Contributions Fragment
* bug fix nearby notification card dismiss/restore issue
* Change display_nearby_notification_summary varibale with Tap here to see the nearest place that needs pictures
* Add nearest place notification card dismiss toast
* Fix mistake made on previous commit, while fixing conflicts
* Set no data yet message invisible after contributions list is loaded
* Change FAB margins, according to Josephine's review
* Change FAB margins, according to Josephine's review
* Change contributions list background to white, to make FAB more visible
* Add infobutton with popup window next to nearby tba, to explain what does this tab do
* Change hambuger icon to back arrow when media details activity visible
* On back button clicked from nearby fragment, switch back to contributions fragment, instead of closing the app
* Check nearby card view visibility on coming back from media details activity
* Change notification icon with default vector supplied by android vector repos. If we use the one I drawn on inkscape, produced vector is not compatible with API level 19 and below. I couldn't find a proper solution, and decided to change icon
* Fix a possible NPE, caused by loation manager has Main activity reference after it is destroyed
* Change hardcoded string with var from string xml
* Make sure you listen storage permissions from contribution list framgent FABs
* Make sure you listened storage permissions for Neaby fragment buttons too
* Check NPEs causing crashes. Now it does not crash after coming back from settings activity
* Make notification icon compatible with <API19 devices, by drawing and using .png images
* Change back icon arrow vector with png
* Attempt to solve location manager caused memory leak
* Fix memory leaks and optimize imports
* Merge 2.9 release
* Add bookmark star images
* Add bookmark item in navigation menu
* Add Activity for bookmarks
* Implement bookmarks viewpager
* Bookmark object and bookmarkDao
* Implement Bookmark Picture Fragment and Controller
* Implement image detail bookmark menu action UI
* contentProvider + config + dao rework
* Fix Dao and Content Provider crashes
* Link bookmark controllers and dao
* Implement bookmark location fragment, controller
* Add bookmark icon to location items
* Add empty bookmark list behavior and refactoring
* bookmarkLocation dao and contentProvider
* Fix bookmarks location crashes
* Rename and refactor classes
* Implement location list refresh
* Fix picture list update
When user come back from detail picture fragment, it solve the refresh bug.
* full test coverage
* Refactor bookmarks classes
* Fix bookmarks pictures loading
* Fix bookmark locations list display
* Java Documetation
* Fix Code review quality
* Fix DB version update
* Remove forgotten todo
* Update bookmark activity base class
Change from AuthenticatedActivity to BaseNavigationActivity
* Fix log reporting for release builds
* Fix logs for release builds
* wip
* Clean up the branch to exclude unrelated changes
* With java docs
* Uncomment quiz checker
* Check for external storage permissions before sending logs
* With more java docs
* Fix crash while zipping log files
* Do not log token and cookies
* Add instruction to restart app
* Quiz (#1629)
* Layout inflated
* Layout for mcq added
* Inflated Basic Layout
* Implemented basic flow
* Added the basic implementation pf score
* Added the result layout
* Added the result layout
* Added functionality to set result
* Changed the launcher intent to Quiz Activity for testing purpose
* Explanations of answers added
* Improved the layout of quiz result a bit
* Fixed some minor issues
* Fixed build issues
* Api Added and basic structure for calling implemented
* Added intents
* Added the title
* Fixed image error and improved quality of pr
* Made separate class for checking quiz
* Added counter
* Implemented back and next for quiz result
* Added back functionality to quiz
* Added progressBar
* Fixed bugs
* Improved code quality
* Imporved code Quality
* Updated strings
* Added share screenshot function
* Added checks and improved UI
* Removed unused string
* Removed unused string
* Adding checks and improving code quality
* Changed string
* Improved code quality
* Update strings.xml
* Update MediaWikiApi.java
* Fix build
* Implemented Statistics
* Basic Structure Implemented
* Layout made screen independent and menu inflated
* Share Screenshot using cache
* Improved the Image Bound and added strings
* Improved the quality of Pr
* Wired to navigation drawer
* Changed the bounds of the image
* Added Info icon
* Removed the unecessary functionality
* Updated JavaDocs and fetch the username
* Fetch JsonObject from the api using JavaRx and OkHttp
* Added JavaDocs and improved quality
* fixed strings file
* Improved the quality of pr
* Render thanks , images used in articles on screen
* fetch and rendered the upload count
* FeaturedImages statistics rendered and Javadocs added
* added ProgressBar
* Added Class for calculating level
* added level info and returned level info
* level up info rendered on achievement activity
* Inflated Level Number
* Added the structure for badge
* Added LevelUpInfo Programmetically on Drawable
* aligned the text
* changed the text
* Implemented the structure for changing colour of drawable
* Added functionality to change colours of badge during runtime
* Added custom alert for share option
* Improved the UI of screen
* Added the alertDialog for info button
* Improved the quality of PR
* Added Builder model
* Added Enum Model and increased levels to 15
* removed redundant class
* Changed strings and added subtext
* Feedback Module: Add reverts rate parameter (#1649)
* Fetched Revert Count
* Refactored Achievements class and display the fetched results
* Refactored the levelController to include revert as parameter
* Fixed error
* Fixed bug
* Added information for parameters and improved code quality
* Javadocs added
* Added null check and javadocs
* Removed extra spaces
* Search activity, image search fragment added
* Removed explore icon xml
* Updated Javadocs for search Activity and Navigation Base Activity
* SearchImageItem class updated
* Javadocs added for search activity
* removed redundant code and added javadocs for search image modules
* Javadocs added for updateImageList method
* Rename featuredImage to explore
* Fixed null query issue
* changed cisibility to gone in case of successful Fetch
* Consolidate the networking libraries - drop volley in favor of OkHttp
* Extracted a few networking related items into a new Dagger module and finished the process of mocking the main component for tests.
* Refactoring to extract GpsCategoryModel and ensure single-responsibility-principle is maintained in CategoryApi.
* fixed featured image back bug
* Localisation updates from https://translatewiki.net.
* Javadocs added
* Add option to set image as wallpaper (#1535)
* Add option to set image as wallpaper
* Added java docs
* Toast message on setting the wallpaper successfully
* Localisation updates from https://translatewiki.net.
* SearchHistory Fragment added
* Search History Item added
* Content Provider, RecentSearchesDao added
* Database version changed to 7 and added methods for find, save ,..
* Delete icon deleted
* Reverted changes in gradle files
* Reverted changes in gradle files 2
* Optimized Improts
* reverted refractor for container name
* Refactored packagename, changed name to query in POJO class.
* Updated lastUsed to lastSearched
* Javadocs updated
* Check if user has been in search page for 5 seconds if yes then save it to history
* If else indentation updated
* added import in test
* edittext replaced with Searchview
* RxSearchview added
* Added support for API 21+
* Snackbar removed on success
* Improved code
* Pagination added
* Removed unnecessary toast
* Comment added in method
* Support for landscape mode added
* Fixed screen rotation issue on Explore and Search activity
* Clear focus added
* Delete all function added in Content Provider and called from fragment
* Scrollbar Recyclerview added
* Share Icon changed to 32 dp and back button added in explore, search activity.
* Removed unnecessary code
* Wrote and run tests for Recent Searches
(creating db, migrating from versions, deletion, finding,..
* Category Search Fragment added
* Adapter factory added
* Renderer added
* Improvements
* Viewpager adapter added
* Updated XML
* Improvements in category card design
* tabs colors changed
* renamed images to media
* Java docs improved
* Javadoc added for setTabs
* JavaDoc for ViewPagerAdapter added
* Refreshed listview after delete
* Added mediaContainer
* Fixed ghost issue in image search fragment
* Ghost issue for categories fixed
* Removed Calling API call onback press
* Category Details activity added
* Menu added in category details activity
* back button added
* back button bugs
* Improvements in category images fragment
* JavaDoc added for some methods
* trimming added, Tab layout hided, recent searches refreshed
* SubCategory list fragment added, API added to extract subCategory Details
* API params updated to get more precise results
* Javadocs added for MWAPI method
* Pagination removed
* Fix API for fetching images inside category
* Parent category API added
* Fix#1704
* Fix#1704 corrected
* Fix#1702
* Fix#1702 and #1704
* added try catch statements
* Optimimzed imports
* loops replaced with Functions
* Javadocs for various methods added
* Fix java docs for Dao
* Javadocs for various methods added
* Fix java docs for Dao
* More javadocs added for explore Feature
* Javadocs added
* Javadocs added
* Improvements in indentation (#1739)
* Added Basic Pic Of the Day App Widget
* Added Java Lib for XML to JSON
* Added missing json library from xml to json
* Undone formatting
* Consolidate the networking libraries - drop volley in favor of OkHttp
* Extracted a few networking related items into a new Dagger module and finished the process of mocking the main component for tests.
* Refactoring to extract GpsCategoryModel and ensure single-responsibility-principle is maintained in CategoryApi.
* Updated PicOfDayAppWidget class to parse HTML
* fixed featured image back bug
* Localisation updates from https://translatewiki.net.
* Javadocs added
* Add option to set image as wallpaper (#1535)
* Add option to set image as wallpaper
* Added java docs
* Toast message on setting the wallpaper successfully
* Localisation updates from https://translatewiki.net.
* Add dependencies to com.android.support.test.rules and runner
Needed for ActivityTestRule used in SettingsActivityTest
* Added Basic Pic Of the Day App Widget
* Added Java Lib for XML to JSON
* Added missing json library from xml to json
* Undone formatting
* Updated PicOfDayAppWidget class to parse HTML
* 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
* Use standalone category extraction code in MediaDataExtractor
* Add categories to category review page
* Integrate API for displaying featured images
* Add pagination and refactor code so that it can be reused for category images
* Add license info to the images
* Fix author view
* Remove unused values
* Fix minor issues with featured images
* Fix null license url issue
* Remove some log lines
* Fix back navigation issue
* fix tests
* fix test inits
* Gracefully handling various error situations
* Added java docs