* 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
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
* 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
* Do not use an image array to store all bitmap pixels at once
* Extract image preprocessing to a different service and use computation thread
* Add java docs
* Cleanup code to remove temp file logic
* Add logs in upload flow
* Fix tests
* Fix more tests
* Use wrapper for accessing shared preferences across the app
* Use Json kv store for storing place object
* Fix tests
* Fix test failure
* Fix UI tests
* Fix#2215 Added BetaCheckerUtil class and made necessary changes
* Fix#2215 Fixed formatting error in LogSender class
* Fix#2215 Renamed BetaCheckerUtil to ConfigUtils
* Fix#2215 Fixed formatting in CommonsApplicationModule
* Fix memory leak due to wikidata edit listener (#2048)
* Fix bookmark crash fix (#2047)
* Fix bookmark crash fix
* Fix check for bookmark creator
* Bug fix#2042 (#2056)
* Bug fix#2042
* Added a snack with retry when api in AA fails
* Increased connection timeouts in okhttpclient builder
* added missing string resource
* Bugfix/duplicate categories (#2080)
* Increased timeout to 60 seconds
* Bug fix#1550
* filter duplicate categories
* Fix crash because of inactive fragment UI (#2046)
* Fix crash because of inactive fragment UI
* Add java docs
* Add information icon action Fiixes #2055 2.9.0: the 'i' icon in nearby doesn't do anything (#2057)
* Localisation updates from https://translatewiki.net.
* Remove unused mediawiki api dependency (#1991)
* Categories with pipe suffix (#1873)
* Bug fix issue #1826
Changes made :
-Certain category names used to show suffixed with strings prefixed with pipe '|'. Removed everything after the pipe. As per the discussion on the thread, its safe to remove everything after the pipe, including the pipe
* review suggested changes
*Code formatting
*Extracted out the index of pipe in a variable
*Added issue link in comments
* Remove libraries section from README (#1988)
* Remove libraries section from README
* Add wiki link to "libraries used" to README
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Use alert dialog instead of popup window, for nearby information
* Revert irrelevant changes, sorry
* Update WelcomeActivity.java
Now it starts welcome screen after not finishing the pager. Moved "Skip Tutorial" button here so it does not animate by swipe.
* Update activity_welcome.xml
Putting "Skip Tutorial" button here so that it does not animate by swipes.
* Update LoginActivity.java
Removing the set of "first run " flag from here. we set it after the buttons press or on WelcomeActivity's finish()
* Update welcome_do_upload.xml
removing "skip tut" button from here.
* Update welcome_dont_upload.xml
Removing "Skip Tutorial" button from here so that it does not animate by swipes.
* Update welcome_image_details.xml
Removing "Skip Tutorial" button from here so that it does not animate by swipes.
* Update welcome_wikipedia.xml
Removing "Skip Tutorial" button from here so that it does not animate by swipes.
* Update WelcomePagerAdapter.java
the "welcomyesButton" is removed from the child views in pager, so it is optional now.
* Add JavaDoc to WelcomeActivity.onBackPressed()
* Fix#2103: Remove welcomeYesButton from landscape layout
* Refactor WelcomePagerAdapter
* Add "rawUsername" (without underscore instead of spaces) to SessionManager as Bundle to preserve string.
* Update UploadController.java
* Update UploadController.java
* Update for my fork (#4)
* Added resaons in dropdown list
* Made changes
* Fixed Conflicts
* Shifted strings to String.xml
* Localisation updates from https://translatewiki.net.
* Remove unused mediawiki api dependency (#1991)
* Categories with pipe suffix (#1873)
* Bug fix issue #1826
Changes made :
-Certain category names used to show suffixed with strings prefixed with pipe '|'. Removed everything after the pipe. As per the discussion on the thread, its safe to remove everything after the pipe, including the pipe
* review suggested changes
*Code formatting
*Extracted out the index of pipe in a variable
*Added issue link in comments
* Remove libraries section from README (#1988)
* Remove libraries section from README
* Add wiki link to "libraries used" to README
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Main screen ui changes, fixes#725 Main screen UI overhaul (#1922)
* 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
* Small ui fixes on new main ui (#1995)
* Return to main activity from notifications activity on back button is pressed
* Make nearby info image a little far from nearby text, to prevent wrong clicks
* Bug fix issue #1999 (#2000)
* Added a threshold on swipe, ie. if a swipe is considered a swipe only if it covers a distance of 100dp
* Multiple uploads with over haul (#1968)
* 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
* Fix visibility error on media details view (#2009)
* Localisation updates from https://translatewiki.net.
* Update UploadController.java
* Repair gradle file
Repair gradle build file so that it uses buildToolsVersion buildToolsVersion.
* Repair gradle
repair gradle
* repair gradle
repair gradle to fix Travis
* Update UpdateModel()
sessionManager.getUserName() >> sessionManager.getRawUserName()
It will build new Contribution with stored username string without underscore.
* Add getAuthorName. In case getRawUserName return null as described in #1982 this method, will return getUsername. Users with underscore issue will see the fix after re-log.
* 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 Traceur for getting meaningful RxJava stack traces (#1832)
* Hotfix for overwrite issue in 2.8.0 (#1838)
* This solution is an hotfix for overrite issue came back on 2.8.0 version. What I did is checking the extension, and if it is null, adding .jpg suffix. Because commons files always have suffixes, and we should compare file names after adding suffixes. Othervise overrides are possible.
* Check if file title includes an extension already, by checking if is there any dot in it.
* Fix logic error
* Add uncovered tests
* Remove unecessary line breaks
* Make Javadocs more explicit
* Versioning and changelog for v2.8.2 (#1842)
* Versioning for v2.8.2
* Changelog for v2.8.2
* Add logs in wiki data edit and session refresh flow (#1874)
* Fix logout (#1875)
* [WIP] Refactor feedback and quiz to reduce possibility of NPE (#1881)
* Refactor feedback and quiz to reduce possibility of NPE
* Handle throwables in quiz checker
* Minor refactoring
* Set Traceur to only work in DEBUG mode (#1884)
* Bug fix for uploaded images count in achievements activity (#1885)
* Versioning and changelog for v2.8.3 (#1886)
* Update changelog.md
* Versioning for v2.8.3