* Part of issue #5996: Fix IDE warnings in ContributionsListFragment (naming, null-safety, deprecations)
* Part of issue #5996: Clean final IDE warnings (parameter name alignment, remove redundant toggle)
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Make OkHttpConnectionFactory raise MwIOException when a non-suppressed API call returns an error
* Add AlertDialog displaying specific error message when categories search API call returns an error
* Add test for error alert dialog to UploadCategoriesFragment unit tests
* Add error handling when API call fails to CategoriesPresenter.onAttachViewWithMedia
I noticed this issue years ago because it used a hard-to-understand
string that needed better documentation (see #688). I forgot it,
but recently, I started to explore the app much more deeply and
came back to it.
It looks like this string is only used in this layout element,
but the element itself is not used anywhere. It usage appears to
have been removed in #634.
* Disable hardware acceleration and keyboard animation
This is a temporary commit to see if it fixes issue #3364
* Remove unused import
* Bump up version code and modify version name
* Modify handleKeyboardInsets to handle insets correctly
* Refactor handleKeyboardInsets()
* Refactor handleKeyboardInsets()
* Fix inset in login activity
* Add braces to conditions.
* Remove an unnecessary semicolon.
* Remove an unnecessary constructor.
This fixes all the Java lint errors of these types.
Strings files for he, id, yi were replaced with iw, in, and ji in 2016.
Those files cause build warnings, and they aren't used,
so it's OK to just remove them.
* test:add mock JSON resource files for campaigns API responses
* feat:make campaign model fields mutable to allow for correct deserialization
* test:implement unit tests for fetching campaigns and fix DTO mocking logic
* test:implement unit tests for fetching campaigns and fix DTO mocking logic
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Change trivial string formatting and function calls
for Timber logging.
This resolves all the lint warnings in the
Android/Lint/Correctness/Messages group.
Lint recommended replacing Switch with SwitchMaterial.
This was a very simple replacement, and I tested it in
the custom selector, where it is used, and it works as
it worked previously.
* Update alternative texts for the welcome screen
I've also updated their documentation for translators (qq)
in transltaewiki itself.
Resolves#689.
* Fixed typo
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
I was working on this file recently, and Android Studio
showed a warning that it has tabs instead of spaces,
so here's it's fixed.
A minor thing, but prevents distractions.
The "Inspect Code" linter complained that these two files
had Right-to-left text compatibility issues. I couldn't
really see any problems neither in English nor in Hebrew,
but the linter's suggestion still made sense, so I cleaned it up.
This fixes all the errors of the type
"Android Lint: Internationalization / Right-to-left text compatibility issues".
There should be a comma before "etc." in a list,
and there already is a comma before "etc."
in the string depicts_search_text_hint, so it should be
in this string to for consistency.
Resolves issue #6492.
Remove the title of a web activity and the accompanying
string resource.
This was not a real translatable message, but something that
looks more like an identifier that shouldn't be translated.
As far as I can tell, it's not seen anywhere in the interface
because the actual title is set in the code that calls it.
This fixes the layouts to work in both left to right (LTR)
and right to left (RTL) languages.
Also replace two hard-coded strings in the depicts picker
with proper string resources.
Fixes#6502.
All these messages are not really necessary because
the app has its own localizations, and android.R.string
sometimes doesn't display the localized string.
Resolves#6470.
Make the text of the panel consistent with its title.
The title is "Featured images", so the text should
use the same term.
Also move this resource next to the title, to make it easier
for the translators.
* Prevent IndexOutOfBoundsException in setUploadMediaDetails by validating index and list size (#6404)
* fixed UninitializedPropertyAccessException by safely initializing and accessing imageAdapter (#6404)
* fixed indexOutOfBoundsException by safely handling saved state and index in onViewCreated (#6404)
* resolve Unresolved reference by replacing setImageToBeUploaded with direct field assignments (#6404)
* Fix test compilation by removing obsolete testSetImageToBeUploaded and adding tha testInitializeFragmentWithUploadItem (#6404)
* Fix test compilation by removing testInitializeFragmentWithUploadItem with unresolved onImageProcessed (#6404)
* fix: test failures in UploadMediaDetailFragmentUnitTest by removing obsolete tests and initializing defaultKvStore (#6404)
* Fixed all the typos
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
I was going over all the strings and documenting them (see #6457),
and I had a very hard time understand what this message does.
I read the code and finally figured it out. I added qq documentation
for it so now it's clearer, but I also think that the English
message can be clearer:
* "subsequent" changed to "the next" - shorter, easier word.
* "media" changed to "item" - "media" could mean a lot of things,
and "item" is clearer in this context.
* DatabaseUtils.kt: change getString() to allow null returns
Before this change, a call to getString() would assume that the specified column
name actually exists. A bad String input would cause a null value to be returned
to getString(), which would then throw a NPE because getString() can only return
non null Strings.
This change expands the getString() method to check if the column name exists.
If it does exist, the String is retrieved normally. Else, a null value is
returned. The method signature is changed to allow null return values.
* *Dao.kt: change some usages of getString()
Before this change, the getString() method in DatabaseUtils.kt was changed
to allow returning a null value upon method failure. All usages of getString()
were not changed.
This change updates all usages of getString() which require non null return
values. If null is returned, an empty string is used instead.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Its usage was removed from the file
app/src/main/res/layout/fragment_achievements.xml in a8387f0,
but the message remained in the strings file.
Resolves#6456.
As I was documenting undocumented strings (see #6457), I noticed
that two messages are only used once in a few lines of code that
were commented out in 2023.
To clean up the messages, I am removing them from the strings
list and deleting the commented-out code.
Android Studio reported that there's an identifier
with a non-ASCII letter. It was nearbyFılterStateInstance,
with a Turkish dotless i. I renamed to ASCII dotted i.
This brings the number of Internationalization
issues in Inspect Code to zero.
* added hash code to folder.kt and image.kt to pair with equals
* fixed deprecation in readParcelable function
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Another comment: While working on this, I also noticed that
"Recent Searches" is hardcoded in the XML file, and
I'm not sure where does it actually appear. I fixed it, too,
but perhaps it can be completely removed.
Fixes#6439.
* Fix#6409: Add listener call in ImageAdapter to update UI and upload button on deselection
* Fix image deselection issue in ImageAdapter to update UI correctly (#6409)
* Prevent duplicate image selections on multiple taps in ImageAdapter when showAlreadyActionedImages is off (#6409)
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix: enable h/w acceleration for UploadActivity to resolve ime issue
* fix(upload): handle keyboard insets for bottom buttons at Depicts step
* fix(upload): handle keyboard insets for buttons at select category step
* fix(upload): hide keyboard before navigating to Media License screen
This solves keyboard opened at the License screen issue, if we proceed by pressing next at the Upload Categories screen when the keyboard is opened
* activity_review.xml: add new GUI elements to replace old ones
Before this commit, the info icon shared the same GUI element with the "Skip this image" text.
This made the Kotlin code to handle taps on the info icon difficult to write, and would crash
with a NPE when the user used a language that is read right to left and the info icon was pressed.
This commit creates new GUI elements. Notably, the info icon has it's own element. A LinearLayout
is used to place the skip button and the info icon button together. Kotlin code can now be
simplified and the NPE bug can be fixed.
* ReviewActivity.kt: simplify info icon code to work with some languages
Before this commit, if the language was set to a language that is read right to left,
pressing the info icon would crash the app with a NPE. This was because the Kotlin
code assumed that the icon would always be on the right of the skip button
(index 2 in the drawable array). When a right to left language was used, the icon
would be on the left and index 2 would be null.
This commit builds upon prior GUI changes. The info icon now has its own button.
Kotlin changes now remove the use of the drawable array to find the info icon and
instead directly references the new info icon button. The info icon button now works
properly for both left-to-right and right-to-left languages while maintaining correct
positioning.
* activity_review.xml: fix xml to be more readable
This commit moves around some lines in the XML to make it more readable.
* activity_review.xml: change button configuration
This change simplifies the button configuration XML and makes the info icon button slightly smaller
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Fix: URL generation for GlobalFileUsage in FileUsagesUiModel.kt for issue #6307
* Add clickable functionality to 'Usages on Other Wikis' in FileUsagesContainer for issue #6307
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
It fixes crash when opening certain screens like Contribution Details, Bookmark, etc. on lower Android versions
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
* chore: upgrade target SDK and refactor function signatures to resolve build issues
* chore: bump android gradle plugin version
* chore(ui): add extension functions for applying edge to edge insets
* fix: apply system bar top and bottom insets for edge to edge
* fix: force edge to edge for backward compatibility and consistent UI
* fix: apply top bar insets as padding and make the status bar color white
Since the toolbars have primary color as bg, we should make the status bar white
* chore: bump robolectric version for API 35 compatibility
* fix: preserve existing margins when adding new insets
* feat(customselector): improve RecyclerView edge-to-edge inset handling
It allows the last item to sits above the navigation bar while preserving edge-to-edge appearance.
* feat(notification): improve RecyclerView edge-to-edge insets handling
Also, refactor LocationPicker and DescriptionEdit activities to use extension functions and reduce duplication
* fix(quiz): enable and handle edge-to-edge insets and status icon colors
* fix: bottom insets not dispatched on all API versions consistently
Upgraded core-ktx version installCompatInsetsDispatch wasn't available on current version
* fix: return fallback value when versionName is null
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: resolve compilation errors
* docs: add KDoc for edge-to-edge insets utility functions
* fix(SearchActivity): apply insets for system bars
* fix(util): add utility function to handle keyboard insets with animation
* fix(upload): handle keyboard insets for upload media detail card view
* fix(login): hadle IME insets and make edge-to-edge backward compatible
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix java.lang.SecurityException for ACTION_OPEN_DOCUMENT
* Handle SecurityException in case of multi-upload
* Remove unused import
* Clean up code
* Clean up code
* Handle SecurityException for other upload methods
* Release persisted URI permissions for successful uploads
* Remove persistable permission for custom picker as it's not required
* Remove persistable permission for in-app camera as it's not required
* Support both label and itemLabel for robust NearbyResultItem mapping.
* fix code style
* Add getOriginalLabel() for Wikidata edits to avoid fallback issues with itemLabel
* Fix Wikidata edit failure by resetting hasInvalidLocation flag on upload confirmation
---------
Co-authored-by: Sonal Yadav <sonalyadav@Sonals-MacBook-Air.local>
* Convert WikidataItemDetailsActivity to kotlin
* Convert RecentSearchesDao to kotlin
* Convert RecentSearchesFragment to kotlin
* Convert ExploreListRootFragment to kotlin
* Convert the ParentViewPager to kotlin
* Convert ExploreMapRootFragment to kotlin
* Convert SearchActivity to kotlin
* Convert ExploreFragment to kotlin
* Convert ExploreMapCalls and ExploreMapContract to kotlin
* Convert ExploreMapController to kotlin
* Convert the map presenter to kotlin
* Convert the ExploreMapFragment to kotlin
* Fix import issue
* Convert BookmarkItemsController to kotlin
* Split BookmarkItemsDao apart and converted to Kotlin
* Convert and cleanup content providers
* Convert BookmarkItemsFragment to kotlin
* Convert BookmarkPicturesFragment to kotlin
* Convert BookmarkPicturesDao to kotlin and share some useful DB methods
* Convert BookmarkPicturesController to kotlin
* Convert BookmarkFragment to kotlin
* Convert BookmarksPagerAdapter to kotlin
* Convert BookmarkListRootFragment to kotlin
* Set imeOptions to actionDone and enforce singleLine for xlarge
* Set imeOptions to actionDone and enforce singleLine for landscape
* Set imeOptions to actionDone and enforce singleLine
* Update askUserForTwoFactorAuth for IME_ACTION_DONE to trigger performLogin
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* feat: Set imeOptions to actionNext for login_password to improve focus transition
* feat: Enhance keyboard visibility for email verification code input
* Optimize SPARQL query for single entity metadata using wikibase:label service
- Use SERVICE wikibase:label for efficient retrieval of labels and descriptions in preferred language
- Remove redundant label/description fetching logic
- Prevent Cartesian product and improve query performance for
* appeded all possible Wikidata languages
* Remove duplicate 'en'
* Update query_for_item.rq
* formatting, comments
---------
Co-authored-by: Sonal Yadav <sonalyadav@Sonals-MacBook-Air.local>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert Caption to kotlin
* Convert CaptionListViewAdapter to kotlin
* Convert CaptionListViewAdapter to kotlin
* Removed unused class
* Converted MwParseResult / MwParseResponse to kotlin
* Convert CustomOkHttpNetworkFetcher to kotlin
* Break up MediaDetailPagerFragment to make it easier to convert to kotlin
* Convert MediaDetailProvider to kotlin
* Convert the MediaDetailAdapter to kotlin
* Convert MediaDetailPagerFragment to kotlin
* Converted welcome activity / pager to kotlin
* Removed unused interface
* Convert ViewPagerAdapter to kotlin and enforce that all tabs must have a title that comes from strings.xml
* Convert OkHttpConnectionFactory and remove an exception class nobody was using
* Convert MapController to kotlin along with fixing nullability in a few places
* Update bug-report.yml to use Type:bug label as per issue #6356
* Update bug-report.yml to use type: bug and labels: ['Type: bug'] as per issue #6356
* Update bug-report.yml to use type: Bug and revert labels to ['bug'] as per mentor's feedback for issue #6356
* Remove labels field from bug-report.yml as per feedback for issue #6356
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
* Unused class removed
* Convert BasePresenter to kotlin
* Removed redundent class
* Move the Utils class into the utils package
* Inline the creation of a page title object
* Move license utilities into their own file
* Inline app rating since its only ever used in 1 place
* Moved GeoCoordinates utilities into their own class
* Moved Monuments related utils into their own class
* Moved screen capture into its own util class
* Moved handleWebUrl to its own utility class
* Moved fixExtension to its own class
* Moved clipboard copy into its own utility class
* Renames class to match remaining utility method
* Convert UnderlineUtils to kotlin
* Converted the copy-to-clipboard utility to kotlin
* Converted license name and url lookup to kotlin
* Converted fixExtension to kotlin
* Convert handleGeoCoordinates to kotlin
* Monument utils converted to kotlin
* Convert then inline screeen capture in kotlin
* Convert handleWebUrl to kotlin
* NearbyParentFragment.kt: add helper methods for user location overlays and accuracy data.
Before this commit, the code used to create the user location overlays was in multiple places.
Additionally, there was no easy way to access the location accuracy.
This commit places the user location overlay creation code into helper methods, as well as adding
a new location accuracy getter method. These methods can now be used to refactor other parts of the file.
* NearbyParentFragment.kt: create method to update user location overlays
Before this commit, there was no easy way to update the user location overlays.
This commit adds the updateUserLocationOverlays() method, which will properly replace
the old user location overlays with new ones. It will also add the overlays if they
do not already exist.
* NearbyParentFragment.kt: replace old code with calls to updateUserLocationOverlays()
This commit completes the refactor and fixes the issue of the user overlays not
updating. The new method updateUserLocationOverlays is called to refactor and simplify
old code.
* Removal of file is not related to the issue, but is needed for project to compile and run.
* NearbyParentFragment.kt: fix bug where multiple user location overlays would appear
Before this commit, the user could see multiple user location overlays if they paused the app and reopened it when
there are no Places/pins on the map. This was caused by a linear search failing to identify the target overlay
because it compared Drawables between two Overlays, which was unreliable.
This commit contains a better solution for replacing existing user location overlays by adding 2 instance variables
to keep track of the overlays. The position of these overlays in the overlay list can then be found by using indexOf()
with these instance variables rather than the linear search that was implemented before. Some refactoring was also done.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix: infinite loading progress bar after nominating for deletion
* add logs for testing
* refactor: use globalFileUsage instead of achievement to append in reason
Fetching achievements is a time consuming operation and globalFileUsage gives the similar result in optimal time
* test(ReasonBuilder): fix tests according to new behavior
* refactor: remove logs added for testing
* test: await for async getReason method call
---------
Co-authored-by: Neel Doshi <neeldoshi147@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Before these changes, when a user tapped on an icon in the Explore Map, the icon and label would often
appear underneath other icons, making it difficult or impossible to read the text on the label.
These changes add two methods that search for and move the icon/label Overlays above all other icons and overlays.
These two methods are called when the user taps on an icon.
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Before this change, removeMarker() would search for the correct Overlay by doing a linear
search and matching the BaseMarker's Place name with the Overlay's title.
This stopped working once the Overlay's title text was changed to be more user friendly.
This change implements a more robust solution. A map is used to directly associate
BaseMarkers with the matching Overlay. The overlay can now be removed from the
overlay list without using any of the information contained within the BaseMarker
or Overlay.
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* refactor: replace unused exception variable with underscore
* refactor: code style fix
* fix: remove unnecessary latLng variable and return null directly
* fix: use explicit true/false instead of isFABsExpanded
* refactor: simplify marker update logic by reducing redundant conditions
* refactor: use data object instead of object
* fix: check placeBindings for null instead of checking each destructured value
* fix: check placeBindings for null instead of checking each destructured value
* docs: fix KDoc for contentUri property by removing incorrect @param tag
* docs: correct @see link in KDoc for showBadgesWithCount
* docs: fix KDoc tag from @property to @param for context in BottomSheetAdapter
* docs: comment out KDoc for disabled method to avoid unresolved @param warning
* docs: fix KDoc for onLongPress by removing invalid @param imageUri
* docs: clean up invalid KDoc tags on property and add docs to isEmpty
* docs: remove invalid @param originalImageCoordinates from findOtherImages KDoc
* docs: fix incorrect @param tag in checkDuplicateImage KDoc
* docs: fix incorrect @param in onLongPress KDoc
* docs: fix invalid @param and @return tags on author property
* docs: fix incorrect @param in provideWikidataMediaInterface KDoc
* docs: fix incorrect @param name in getWikiText KDoc
* docs: escape wikilinks with [[ ]] to avoid KDoc resolution warnings
* docs: fix KDoc by adding missing param descriptions to startActivityWithFlags
* docs: fix KDoc by replacing @param with @property for contentUri
* docs: fix malformed KDoc in startYourself, remove invalid @param line
* docs: remove invalid @param tag in createDialogsAndHandleLocationPermissions
* docs: remove invalid @param tags to @property
* @docs: remove invalid @property tags
* docs: clean up KDoc by removing invalid @param and @return tags
* docs: fix incorrect @param name in removeBlocklisted KDoc
* docs: fix incorrect @param name in checkDuplicateImage KDoc
* docs: fix incorrect @param tag
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* chore: migrate groovy build files to Kotlin DSL and upgrade AGP
chore: use version catalog to manage dependencies
chore: move plugins to version catalog
remove deprecated way of enabling build-config and redundant code
chore: setup triplet-play plugin configuration
refactor: move dependency block and tasks to the end of build file
refactor: move dependency block and mark redundant dependencies
* cleanup: remove redundant dependencies from build file
* cleanup: remove git utils file as the functions moved to build file
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Fix crash when uploading a duplicate file
* Fix: app crash
* added Kdoc
* remove line b/w kdoc and function
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* ExploreMapFragment.java: add helper methods and fields to enable proper Explore map behavior
Before this commit, there was no way to tell if the user had arrived from the Nearby and
before the Nearby map center location had been searched for markers.
This commit adds a boolean flag to indicate this situation. Access, modification, and
initialization methods were added for this boolean value. Additionally, a helper
method to retrieve the Nearby map center LatLng was added as a convienience.
* ExploreMapPresenter.java: fix map update code to search for Nearby LatLng when appropriate
Before this commit, when the user selected "Show in explore" in Nearby when no pins were
on the map, Explore would only search for markers at the user's current GPS location,
rather than those at the Nearby map center.
After this commit, code was added to check if the user recently came from the Nearby map.
If so, the stored coordinates of the Nearby map is searched rather than the user's current
GPS coordinates. Additionally, the boolean that indicates that the user recently came
from the Nearby map is set to false. This ensures that the stored Nearby map center
coordinates are not used when the user taps the icon to focus the map on their
current location.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* ImageInfo.kt: remove call to updateThumbURL()
Before this commit, the updateThumbURL() method would attempt to derive a larger resolution thumbnail URL
from the current thumbnail's width and height. This derived thumbnail URL would sometimes not match
an actual URL. Even creating this thumbnail URL would sometimes fail when doing string manipulation.
Both errors can cause issues, with the second one crashing the thread and preventing images from being
loaded.
This commit simply removes the call to updateThumbURL(). Images with their thumbnails now load correctly,
especially with panoramic images.
* MediaInterface.kt: fix MediaWiki API call to retrieve thumbnail URLs properly
Before this change, the API calls to MediaWiki would request thumbnails with atleast a specific width,
rather than height. These thumbnails would often be extremely low resolution on very wide images,
such as panoramas.
This change instead requests thumbnails with atleast a specific height. Panorama thumbnails are now
at a higher resolution than before. Additionally, the height parameter is now represented as an
integer which can be changed more easily.
* ViewPagerAdapter.java: create new constructor with behavior parameter
Before this commit, ViewPagerAdapter only had one constructor which used the default
behavior where more than the current fragment would be in the Resume state.
This commit adds a constructor where the behavior parameter can be specified.
* ExploreFragment.java: modify onCreateView to use new ViewPagerAdapter constructor
Before this change, onCreateView would use the old ViewPagerAdapter constructor, which
had a default behavior where fragments not currently visible would be in the Resume
state.
After this change, the new ViewPagerAdapter constructor is used with a non-default
behavior where only the visible fragment would be in the Resume state. This has
performance benefits for most users since the Fragments will only be active
when they want to view them.
* ExploreMapFragment.java: remove redundant method call
Before this commit, performMapReadyActions() was called in both onViewCreated and onResume.
In effect, the method is called twice before the user can even see the map, leading to
performance issues.
After this commit, the call in onViewCreated is removed. The method is now called only once
when the user switches to the ExploreMapFragment.
* ExploreMapFragment.java: remove method call that causes recursive loop
Before this commit, there was a call loop that included onScroll and animateTo
on the map. These two method calls caused performance issues in
ExploreMapFragment.
This commit breaks the call loop by removing moveCameraToPosition from getMapCenter.
Also, the removed code did not fit the purpose of getMapCenter.
* ExploreMapFragment.java: fix performMapReadyActions to center to user's last known location
Before this commit, fixing a previous bug caused performMapReadyActions to center the map
on a default location rather than the available last known location.
This commit adds code which will attempt to get the last known user location. If it cannot
be retrieved, the default location is used. The map now centers properly.
* MediaInterface.kt: adjust thumbnail height parameter
Before this commit, the thumbnail height parameter was too small, causing low resolution thumbnails to render.
This commit more than doubles the parameter, increasing the thumbnail resolution.
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Exclude past locations (P585) from Nearby query
* "Send" button text should be white
* Custom picker: logic
* Revert back changes
* Enhancement :- Explore Map information
* Enhancement :- Explore Map information
* Style
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Before this change, the removeMarker() method would determine the correct overlay to remove
by comparing an overlay's Place coordinates with the target BaseMarker's Place coordinates.
If two different markers had the same Place coordinates, the incorrect marker would be removed,
leading to more than one green label appearing on the screen.
After this change, the removeMarker() method now compares an overlay's title with the BaseMarker's
Place name. removeMarker() will work properly as long as all BaseMarker's Place names are unique.
Also, null checks were added to removeMarker().
replace deprecated onBackPressed with onBackPressedCallback
remove unit test for deprecated onBackPressed method
remove if-check before deleting picture to prevent hiding top thumbnail card
hide the thumbnail card on fragments other than MediaDetailFragment
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Before this change, the labels that would appear on the marker when tapped did not include
the author or username. Instead, it displayed "Unknown".
After this change, the labels now display the author name. If the author name is not
available, the username will be displayed. If both are unavailable, the default value
of "Unknown" will be displayed. To improve the readability of the text, any HTML text
is removed from the username/author.
* "moved privacy policy"
* Update PRIVACY_POLICY_URL to https://commons-app.github.io/privacy-policy as suggested
* Use BuildConfig.PRIVACY_POLICY_URL in launchPrivacyPolicy function
* Rename .java to .kt
* Refactor: Migrate bookmark location logic to Kotlin
This commit migrates the bookmark location logic to Kotlin, enhancing code maintainability and readability.
- Removes the `BookmarkLocationsContentProvider`, `BookmarkLocationsController`, and `BookmarkLocationsDao` Java classes.
- Creates `BookmarkLocationsDao.kt` and `BookmarkLocationsContentProvider.kt` in Kotlin.
- Migrates the logic from `BookmarkLocationsFragment.java` to `BookmarkLocationsFragment.kt`.
- Updates test files to reflect these changes.
- Addresses associated code review comments.
* Refactor: Migrate to Room Database for Bookmark Locations
This commit migrates the bookmark locations functionality from a custom content provider to Room database.
Key changes:
* **Removal of `BookmarkLocationsContentProvider`:** This class, which previously handled data storage, has been removed.
* **Introduction of `BookmarksLocations`:** This data class now represents a bookmarked location, serving as the Room entity.
* **Creation of `BookmarkLocationsDao`:** This Room DAO handles database interactions for bookmark locations, including:
* Adding, deleting, and querying bookmarked locations.
* Checking if a location is already bookmarked.
* Updating the bookmark status of a location.
* Retrieving all bookmarked locations as `Place` objects.
* **`BookmarkLocationsViewModel`:** Added to manage the data layer for bookmark locations
* **`NearbyUtil`:** Created a Util class for Nearby to manage the bookmark locations.
* **Updates in `PlaceAdapter` and `PlaceAdapterDelegate`:** These classes have been modified to work with the new Room-based data layer.
* **Updates in `AppDatabase`:** The database now includes `BookmarksLocations` as an entity and exposes the `bookmarkLocationsDao`.
* **Updates in `FragmentBuilderModule` and `CommonsApplicationModule`**: for DI
* **Removal of `DBOpenHelper` upgrade for locations**: as it is no longer needed
* **Updates in `NearbyParentFragmentPresenter`**: refactored the logic to use the dao functions
* **Updates in `NearbyParentFragment`**: refactored the logic to use the util and dao functions
* **Update in `BookmarkLocationsController`**: removed as its no longer needed
* **Add `toPlace` and `toBookmarksLocations`**: extension functions to map between data class and entities
* **Update in `CommonsApplication`**: to remove old db table.
* Refactor: Improve bookmark location handling and update database version
This commit includes the following changes:
- Updates the database version to 20.
- Refactors bookmark location handling within `NearbyParentFragment` to improve logic and efficiency.
- Introduces `getBookmarkLocationExists` in `NearbyUtil` to directly update bookmark icons in the bottom sheet adapter.
- Removes unused provider.
- Adjusts `BookmarkLocationsFragment`'s `PlaceAdapter` to use `lifecycleScope` for better coroutine management.
- Refactors `updateBookmarkLocation` in `NearbyParentFragmentPresenter`.
* Toggle bookmark icon in BottomSheetAdapter instead of finding the location each time in the bookmark
* Update bookmark button image in `BottomSheetAdapter`
* Add new toggle function to `BottomSheetAdapter`
* Call the toggle function in `NearbyParentFragment`
* Refactor: Load bookmarked locations using Flow
* `BookmarkLocationsController`: Changed to use `Flow` to load bookmarked locations.
* `BookmarkLocationsDao`: Changed to return `Flow` of bookmark location instead of a list.
* `BookmarkLocationsFragment`: Used `LifecycleScope` to collect data from flow and display it.
* Removed unused `getAllBookmarkLocations()` from `BookmarkLocationsViewModel`.
* Used `map` in `BookmarkLocationsDao` to convert from `BookmarksLocations` to `Place` list.
* Loading locations data in fragment
* BookmarkLocationsController: Changed `loadFavoritesLocations` to be a suspend function.
* BookmarkLocationsFragment: Updated the `initList` function to call the controller's suspend function.
* BookmarkLocationsDao: Changed `getAllBookmarksLocations` and `getAllBookmarksLocationsPlace` to be suspend functions.
* Refactor BookmarkLocationControllerTest and related files to use coroutines
* Migrated `bookmarkDao!!.getAllBookmarksLocations()` to `bookmarkDao!!.getAllBookmarksLocationsPlace()` and added `runBlocking`
* Added `runBlocking` for `loadBookmarkedLocations()` and `testInitNonEmpty()`
* Added `runBlocking` for `getAllBookmarksLocations()` and update `updateMapMarkers`
These changes improve the test structure by ensuring the database functions are executed within a coroutine context.
* Refactor BookmarkLocationsFragment and add tests for BookmarkLocationsDao
* Moved `initList` to `BookmarkLocationsFragment` for better lifecycle handling.
* Added test case for `BookmarkLocationsFragment`'s onResume.
* Added test cases for `BookmarkLocationsDao` operations like adding, retrieving, finding, deleting and updating bookmarks.
* Refactor BookmarkLocationsFragment to load favorites only when view is not null
* BookmarkLocationsFragment: load favorites locations only when view is not null.
* BookmarkLocationsFragmentTest: added spy and verify to test onResume() call initList() method.
* Refactor database and add migration
* `AppDatabase`: Updated to use room migration.
* `CommonsApplicationModule`: added migration from version 19 to 20 to `appDatabase`
* Rename .java to .kt
* Refactor: Migrate bookmark location logic to Kotlin
This commit migrates the bookmark location logic to Kotlin, enhancing code maintainability and readability.
- Removes the `BookmarkLocationsContentProvider`, `BookmarkLocationsController`, and `BookmarkLocationsDao` Java classes.
- Creates `BookmarkLocationsDao.kt` and `BookmarkLocationsContentProvider.kt` in Kotlin.
- Migrates the logic from `BookmarkLocationsFragment.java` to `BookmarkLocationsFragment.kt`.
- Updates test files to reflect these changes.
- Addresses associated code review comments.
* Refactor: Migrate to Room Database for Bookmark Locations
This commit migrates the bookmark locations functionality from a custom content provider to Room database.
Key changes:
* **Removal of `BookmarkLocationsContentProvider`:** This class, which previously handled data storage, has been removed.
* **Introduction of `BookmarksLocations`:** This data class now represents a bookmarked location, serving as the Room entity.
* **Creation of `BookmarkLocationsDao`:** This Room DAO handles database interactions for bookmark locations, including:
* Adding, deleting, and querying bookmarked locations.
* Checking if a location is already bookmarked.
* Updating the bookmark status of a location.
* Retrieving all bookmarked locations as `Place` objects.
* **`BookmarkLocationsViewModel`:** Added to manage the data layer for bookmark locations
* **`NearbyUtil`:** Created a Util class for Nearby to manage the bookmark locations.
* **Updates in `PlaceAdapter` and `PlaceAdapterDelegate`:** These classes have been modified to work with the new Room-based data layer.
* **Updates in `AppDatabase`:** The database now includes `BookmarksLocations` as an entity and exposes the `bookmarkLocationsDao`.
* **Updates in `FragmentBuilderModule` and `CommonsApplicationModule`**: for DI
* **Removal of `DBOpenHelper` upgrade for locations**: as it is no longer needed
* **Updates in `NearbyParentFragmentPresenter`**: refactored the logic to use the dao functions
* **Updates in `NearbyParentFragment`**: refactored the logic to use the util and dao functions
* **Update in `BookmarkLocationsController`**: removed as its no longer needed
* **Add `toPlace` and `toBookmarksLocations`**: extension functions to map between data class and entities
* **Update in `CommonsApplication`**: to remove old db table.
* Refactor: Improve bookmark location handling and update database version
This commit includes the following changes:
- Updates the database version to 20.
- Refactors bookmark location handling within `NearbyParentFragment` to improve logic and efficiency.
- Introduces `getBookmarkLocationExists` in `NearbyUtil` to directly update bookmark icons in the bottom sheet adapter.
- Removes unused provider.
- Adjusts `BookmarkLocationsFragment`'s `PlaceAdapter` to use `lifecycleScope` for better coroutine management.
- Refactors `updateBookmarkLocation` in `NearbyParentFragmentPresenter`.
* Toggle bookmark icon in BottomSheetAdapter instead of finding the location each time in the bookmark
* Update bookmark button image in `BottomSheetAdapter`
* Add new toggle function to `BottomSheetAdapter`
* Call the toggle function in `NearbyParentFragment`
* Refactor: Load bookmarked locations using Flow
* `BookmarkLocationsController`: Changed to use `Flow` to load bookmarked locations.
* `BookmarkLocationsDao`: Changed to return `Flow` of bookmark location instead of a list.
* `BookmarkLocationsFragment`: Used `LifecycleScope` to collect data from flow and display it.
* Removed unused `getAllBookmarkLocations()` from `BookmarkLocationsViewModel`.
* Used `map` in `BookmarkLocationsDao` to convert from `BookmarksLocations` to `Place` list.
* Loading locations data in fragment
* BookmarkLocationsController: Changed `loadFavoritesLocations` to be a suspend function.
* BookmarkLocationsFragment: Updated the `initList` function to call the controller's suspend function.
* BookmarkLocationsDao: Changed `getAllBookmarksLocations` and `getAllBookmarksLocationsPlace` to be suspend functions.
* Refactor BookmarkLocationControllerTest and related files to use coroutines
* Migrated `bookmarkDao!!.getAllBookmarksLocations()` to `bookmarkDao!!.getAllBookmarksLocationsPlace()` and added `runBlocking`
* Added `runBlocking` for `loadBookmarkedLocations()` and `testInitNonEmpty()`
* Added `runBlocking` for `getAllBookmarksLocations()` and update `updateMapMarkers`
These changes improve the test structure by ensuring the database functions are executed within a coroutine context.
* Refactor BookmarkLocationsFragment and add tests for BookmarkLocationsDao
* Moved `initList` to `BookmarkLocationsFragment` for better lifecycle handling.
* Added test case for `BookmarkLocationsFragment`'s onResume.
* Added test cases for `BookmarkLocationsDao` operations like adding, retrieving, finding, deleting and updating bookmarks.
* Refactor BookmarkLocationsFragment to load favorites only when view is not null
* BookmarkLocationsFragment: load favorites locations only when view is not null.
* BookmarkLocationsFragmentTest: added spy and verify to test onResume() call initList() method.
* Refactor database and add migration
* `AppDatabase`: Updated to use room migration.
* `CommonsApplicationModule`: added migration from version 19 to 20 to `appDatabase`
* Resolve conflicts and attach the `commons.db` with `common_room.db` during the migration to persist the data
* Refactor database migration to handle null values and use direct insertion
* Modify the database migration from version 19 to 20 to properly handle null values and use direct data insertion.
* Create a new table `bookmarks_locations` with `NOT NULL` constraints.
* Directly insert data into the new table from old database, safely handling `NULL` values by using `DEFAULT` empty string value.
* Close old database cursor and the database connection.
* Drop the old `bookmarksLocations` table.
* Refactor database schema to delete `bookmarksLocations` table and migrate data
* Delete `bookmarksLocations` table from the database during schema upgrade
* Migrate data from `bookmarksLocations` to `bookmarks_locations` in new schema
* Add `INSERT OR REPLACE` to prevent duplication during migration
* Delete `CONTRIBUTIONS_TABLE` and `BOOKMARKS_LOCATIONS` in the application start-up to have a fresh DB for first start-up after update
* Update sqlite-based database version to 22.
* Update sqlite-based database version to 22.
* Refactor CommonsApplicationModule to utilize application context
* Initialize and use application context directly
* Utilize lateinit for application context
* Added line breaks for improved readability.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Applied better animation in nearby
* Refactor: Reduce Duration of Rotate Animation
Decreased the duration of the rotate animation from 1000ms to 500ms in `rotate.xml`, resulting in a faster rotation speed.
* Place.java: change getWikiDataEntityID() method to increase speed
Before this commit, this method would perform the String replace method on the Wikidata link every time
getWikiDataEntityID() was called. Also, getWikiDataLink() was called. This caused poor performance
since both method calls are slow.
This commit changes the method to only run the slow methods if the entityID field is empty or
null. Once the field is populated, the method simply returns the field. This change allows
getWikiDataEntityID() to run much faster.
* NearbyParentFragmentPresenter.kt: change async and place update parameters
Before this commit, the parameters that configure the async and place update code contributed to
the slow loading of the red and green map markers.
This commit changes the parameters such that the red and green map markers load much faster.
These parameters may need further tuning. This commit's changes are simply an educated
guess at a good parameter set.
* NearbyParentFragment.kt: rewrite Java Drawable caching code to Kotlin
Before this commit, the code which cached Drawables was written in Java.
This commit rewrites that code into the new Kotlin file, which replaces the Java file.
* NearbyParentFragmentPresenter.kt: change loadPlacesDataAsync to retry HTTP requests after failure
Before this commit, when an HTTP request failed, the entire batch of Places would not get updated,
even if it was only one Place in the batch that caused the failure.
This commit changes the code such that upon HTTP request failure, new HTTP requests are sent with
one Place per request. This allows more Places to be fetched from the server.
* Fix: Resolved the Crash in UploadMediaDetailFragment
* Fix uninitialized basicKvStoreFactory in UploadMediaPresenter
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename .java to .kt
* Migrated ContributionController
* Rename .java to .kt
* Migrated ContributionDao
* Rename .java to .kt
* Migrated ContributionsContract,ContributionFragment,ContributionListAdapter,ContributionsListContract from java to Kotlin
* Rename .java to .kt
* converted/Migrated
* converted/Migrated
* Rename .java to .kt
* Migrated ContributionController
* Rename .java to .kt
* Migrated ContributionDao
* Rename .java to .kt
* Migrated ContributionsContract,ContributionFragment,ContributionListAdapter,ContributionsListContract from java to Kotlin
* Rename .java to .kt
* Show placeholder and display depiction section when no depictions are available (#6163) (#6165)
* corrected
* corrected
* Update MediaDetailFragment.kt
Spelling correction
* Migrated AboutActivity from Java to Kotlin (#6158)
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Refactor Unit Test: Replace Unsafe Casting with Type-Safe Mocking for findViewById
>PR refactors the unit test for NearbyParentFragment by replacing unsafe casting in the findViewById mocking statements with type-safe
>Ensured all findViewById mocks now use a consistent, type-safe format (findViewById<View>(...)) to reduce verbosity and potential casting errors.
>Verified the functionality of prepareViewsForSheetPosition remains unchanged, ensuring no regression in test behavior.
* Update NearbyParentFragmentUnitTest.kt
* Refactor: Rename Constants to Follow CamelCase Naming Convention
>Updated all constant variable names to follow the camelCase naming convention, removing underscores in the middle or end.
>Ensured variable names remain descriptive and align with code readability best practices.
* Replace private val with const val for URL constants in QuizController
* Renaming the constant to use UPPER_SNAKE_CASE
* Renaming the constant to use UPPER_SNAKE_CASE
* Update Done
* **Refactor: Convert `minimumThresholdForSwipe` to a compile-time constant**
* Convert AboutActivity from Java to Kotlin
This PR converts the AboutActivity class from Java to Kotlin
>Testing:
>Verified all functionalities of the AboutActivity, including toolbar setup, intent launches, and dialog interactions, to ensure behavior remains consistent post-conversion.
>Successfully ran unit tests for AboutActivity to confirm the correctness of methods and logic.
* Thank you for the suggestion! Since these methods all take a single View parameter, replacing them with method references is a great way to simplify the code and improve readability. I'll updated the code accordingly. Added a TODO in the code as a reminder to refactor this in the future.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Localisation updates from https://translatewiki.net.
* Feat: Make it smoother to switch between nearby and explore maps (#6164)
* Nearby: Add 'Show in Explore' 3-dots menu item
* MainActivity: Add methods to pass extras between Nearby and Explore
* MainActivity: Extend loadFragment() to support passing fragment arguments
* Nearby: Add ability to navigate to Explore fragment on 'Show in Explore' click
* Explore: Read fragment arguments for Nearby map data and update Explore map if present
* Explore: Add 'Show in Nearby' 3-dots menu item. Only visible when Map tab is selected
* Explore: On 'Show in Nearby' click, navigate to Nearby fragment, passing map data as fragment args
* Nearby: Read fragment arguments for Explore map data and update Nearby map if present
* MainActivity: Fix memory leaks when navigating between bottom nav destinations
* Explore: Fix crashes caused by unattached map fragment
* Refactor code to pass unit tests
* Explore: Format javadocs
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Localisation updates from https://translatewiki.net.
* enhance spammy category filter (#6167)
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* Localisation updates from https://translatewiki.net.
* correction
* correction
* correction
* GitHub workflow to build betaDebug (#6174)
* [Bug fix] Check if duplicate exist using both original and modified file's checksum (#6169)
* check original file's SHA too along with modified one
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* fix tests
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* Add multiline input for caption and description (#6173)
* allow multiple lines for description/caption
* make caption multiline too
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* correction
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
Co-authored-by: Akshay Komar <146421342+Akshaykomar890@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: Ifeoluwa Andrew Omole <iomole3@gmail.com>
Co-authored-by: Parneet Singh <111801812+parneet-guraya@users.noreply.github.com>
Co-authored-by: Matija Nalis <mnalis-git@voyager.hr>
* check original file's SHA too along with modified one
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* fix tests
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* Nearby: Add 'Show in Explore' 3-dots menu item
* MainActivity: Add methods to pass extras between Nearby and Explore
* MainActivity: Extend loadFragment() to support passing fragment arguments
* Nearby: Add ability to navigate to Explore fragment on 'Show in Explore' click
* Explore: Read fragment arguments for Nearby map data and update Explore map if present
* Explore: Add 'Show in Nearby' 3-dots menu item. Only visible when Map tab is selected
* Explore: On 'Show in Nearby' click, navigate to Nearby fragment, passing map data as fragment args
* Nearby: Read fragment arguments for Explore map data and update Nearby map if present
* MainActivity: Fix memory leaks when navigating between bottom nav destinations
* Explore: Fix crashes caused by unattached map fragment
* Refactor code to pass unit tests
* Explore: Format javadocs
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Refactor Unit Test: Replace Unsafe Casting with Type-Safe Mocking for findViewById
>PR refactors the unit test for NearbyParentFragment by replacing unsafe casting in the findViewById mocking statements with type-safe
>Ensured all findViewById mocks now use a consistent, type-safe format (findViewById<View>(...)) to reduce verbosity and potential casting errors.
>Verified the functionality of prepareViewsForSheetPosition remains unchanged, ensuring no regression in test behavior.
* Update NearbyParentFragmentUnitTest.kt
* Refactor: Rename Constants to Follow CamelCase Naming Convention
>Updated all constant variable names to follow the camelCase naming convention, removing underscores in the middle or end.
>Ensured variable names remain descriptive and align with code readability best practices.
* Replace private val with const val for URL constants in QuizController
* Renaming the constant to use UPPER_SNAKE_CASE
* Renaming the constant to use UPPER_SNAKE_CASE
* Update Done
* **Refactor: Convert `minimumThresholdForSwipe` to a compile-time constant**
* Convert AboutActivity from Java to Kotlin
This PR converts the AboutActivity class from Java to Kotlin
>Testing:
>Verified all functionalities of the AboutActivity, including toolbar setup, intent launches, and dialog interactions, to ensure behavior remains consistent post-conversion.
>Successfully ran unit tests for AboutActivity to confirm the correctness of methods and logic.
* Thank you for the suggestion! Since these methods all take a single View parameter, replacing them with method references is a great way to simplify the code and improve readability. I'll updated the code accordingly. Added a TODO in the code as a reminder to refactor this in the future.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Refactor Unit Test: Replace Unsafe Casting with Type-Safe Mocking for findViewById
>PR refactors the unit test for NearbyParentFragment by replacing unsafe casting in the findViewById mocking statements with type-safe
>Ensured all findViewById mocks now use a consistent, type-safe format (findViewById<View>(...)) to reduce verbosity and potential casting errors.
>Verified the functionality of prepareViewsForSheetPosition remains unchanged, ensuring no regression in test behavior.
* Update NearbyParentFragmentUnitTest.kt
* Refactor: Rename Constants to Follow CamelCase Naming Convention
>Updated all constant variable names to follow the camelCase naming convention, removing underscores in the middle or end.
>Ensured variable names remain descriptive and align with code readability best practices.
* Replace private val with const val for URL constants in QuizController
* Renaming the constant to use UPPER_SNAKE_CASE
* Renaming the constant to use UPPER_SNAKE_CASE
* Update Done
* **Refactor: Convert `minimumThresholdForSwipe` to a compile-time constant**
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* feat: show the message "Congratulations, all pictures in this album have been either uploaded or marked as not for upload." in the custom picker when all images are either uploaded or marked.
* refactor: fix indentation in the code
* refactor: replace LiveData with StateFlow
* fix: fixed the bug that was causing one ImageFragment testcase to fail.
* fix: fixed the Congratulation message being shown for a brief moment while switching off the switch
* refactor: move hardcoded string to strings.xml.
* docs: add comment to clarify visibility logic in ImageFragment
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix: correctly handle permission callbacks on Main thread
The PermissionUtils was incorrectly executing permission callbacks on a background thread, leading to a Handler error. Now, it is using Main dispatcher.
* fix crash when opening camera while having partial storage access
* Fix NPE with UploadMediaDetails.captionText
* Store P18 instead of processed image url in DepictedItem
* Add routes for fetching category info from titles
* Consider depict's P18 when suggesting categories
* Add tests
* Corrected DepictedItem constructor arguments
* Add test for DepictedItem::primaryImage
This is a change that replicates the fix done via PR #6093.
This is based over v5.1.1 as the fix seems necessary for
the category search to work properly on the explore screen.
* MediaDetailFragment.kt: add helper method to retrieve ContributionFragment instance
Before this commit, there was no easy way to check for and retrieve the ContributionFragment instance that
was either the parent or grandparent (parent's parent) fragment. A complicated if check was required to
retrieve it.
After this commit, there is a simple helper method which will retrieve the ContributionFragment instance.
Existing code can now be replaced by calling this method.
* MediaDetailFragment.kt: replace code that is meant to hide nearby card
Before this commit, code would attempt to find and hide the nearby card that would appear
when the user was looking at media details. However, this code did not work.
After this commit, the old code has been replaced with code that correctly hides the
nearby card. Also, this new code uses a helper method call and is overall easier to read.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Fixed logo getting cropped in landscape mode of login page
* Indentation added at line 12
* New Dimension created in dimens.xml which is used in land\activity_login.xml
* feat: Long-pressing a row in "Uploads" copies the caption to clipboard, and displays a snack saying "Caption copied to clipboard
* refactor: using string resources for the text instead of hard coded values
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
- Removed unused constants which were there in `Pref`
- Removed unused parameter requireActivity from `Setting Fragment`
Revert "chore : lint fix"
This reverts commit 599203343f4c3c050b45e4ccf53fd23097818cc4.
-Refactored testSearchCloseToCurrentLocationWhenFar: Simplified assertion by using assertFalse(!isClose) for better readability and logical clarity.
-Added testSearchCloseToCurrentLocationWhenClose: Created a new test case to validate behavior when the search is close to the current location, ensuring assertTrue(isClose) for correctness.
-Improved Coverage: These changes enhance the test coverage and reliability of the searchCloseToCurrentLocation function.
Using app:useCompatPadding=true on both the FABs caused padding issues, replaced that with android:layout_margin. As the minimumSdk version is >=lollipop, I believe useCompatPadding is not required.
* fix issue5847 as owner required: make the icon always visible and just adjust the count accordingly,comment the setVisibility method and make pending_upload_icon always visible
* set pending_upload_icon android visible level: visible and tool visible level: gone
* fix issue 5847, The upload icon is now set to always be visible, while the original code has been commented out and retained with a note for potential re-use in the future.
* refactor
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
Co-authored-by: bxy379987 <bxy379987@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert UploadCategoriesFragment to kotlin
* Convert DepictsFragment to kotlin
* Convert MediaLicensePresenter to kotlin
* Convert MediaLicenseFragment to kotlin
* Converted SimilarImageDialogFragment to kotlin
* Convert ThumbnailsAdapter to kotlin
* Convert UploadPresenter to kotlin
* Convert UploadBaseFragment to kotlin
* Convert UploadMediaDetailInputFilter to kotlin
* Convert UploadItem to kotlin
* Convert UploadController to kotlin
* Fix nullability of the UploadItem
* Nearby: Search for actual map center
* Add query syntax and methods
* Nearby: Added binary search for loading pins
* Add NearbyQueryParams and refactor
* Add unit tests and complete implementation
* Nearby: Increase max radius from 100km to 300km
* Nearby: Centermost pins now appear on top
* getNearbyItemCount: Added javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
fixes#6046
the OnFocusChangeListener for nearby place list items sometimes gets invoked when new items aer set, even when the list is hidden, if an item had previously been clicked in it. This in turn causes the onItemClick to be called. This commit adds a check to make sure the list is not hidden when onItemClick is invoked this way.
* temporary fixes part one
* temporary fixes part two
* temporary fixes part three
* temporary fixes part four
* temporary fixes part five
* reformatting
* remove code no longer in use
* Migrate NearbyParentFragmentPresenter to Kotlin
* Partially replace temporary experimental fixes
* Replace temporary experimental fixes part 2
* Replace temporary experimental fixes part 3
* Replace temporary fixes completely
* Fix caching and loading places in Nearby list
* Add place bookmarking logic, Remove all old code
* Nearby Presenter: Close channel properly
* Nearby pins now load starting from the center
Fixes#6049
* Add comments and javadoc for Nearby Presenter
* Fix warnings, Fix formatting, Add javadoc
* Pass unit tests
Fixes issue 5842 by correcting the implementation of onUserConfirmedUploadIsOfPlace in UploadMediaDetailsContract's UserActionListener
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Add a "copy link" button next to the share button. Add relative English and Simplified Chinese text in strings.xml.
* Change the icon from copy to link
* Fixed typo
* Fixed case
---------
Co-authored-by: Justweng <justweng19@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Changed the commons.filepicker.UploadableFile's hasLocation method to use the existing ImageCoordinates class for detecting the presence of geolocation in an image's exif
* Convert upload dagger module to kotlin
* Code cleanup and convert the upload contract to kotlin
* Code cleanup and convert CategoriesContract to kotlin
* Code cleanup and convert MediaLicenseContract to kotlin
* Code cleanup and convert UploadMediaDetailsContract to kotlin
* Code cleanup, fixed nullability and converted DepictsContract to kotlin
* Removed unused class
* Convert FileMetadataUtils to kotlin
* Convert EXIFReader to kotlin
* Convert FileUtils to kotlin
* Convert FileUtilsWrapper to kotlin
* Convert ImageProcessingService to kotlin
* Convert PageContentsCreator to kotlin
* Convert PendingUploadsPresenter and contract to Kotlin with some code-cleanup
* Convert ReadFBMD to kotlin
* Convert SimilarImageInterface to kotlin
* Removed unused classes
* Fix merge/rebase issue
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix issue6020: prevent unintentional deletion of subfolders and non-images by custom selector
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix: resolve crash when submitting feedback without internet access
* feat:Added check for wheather internet connection was available for a network
* feat:Added SnackBar for Retry and User Info
* feat:Made the feedback dialog not leave screen in case of error
* feat:Removed the network checking from the function
* feat:Added try catch block for the Feedback
* feat:Removed Unnecessary imports
* feat:Used Snackbar and timber instead of log and Toast
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* fix issue5847 as owner required: make the icon always visible and just adjust the count accordingly,comment the setVisibility method and make pending_upload_icon always visible
* set pending_upload_icon android visible level: visible and tool visible level: gone
* fix issue 5847, The upload icon is now set to always be visible, while the original code has been commented out and retained with a note for potential re-use in the future.
* refactor
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
Co-authored-by: bxy379987 <bxy379987@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename .java to .kt
* Migrated delete and description module to kotlin (WIP)
* Fix: Unit tests
* Fix: Unit tests
* Rename .java to .kt
* Migrated data, db, and converter module to kotlin
* Fix: Unit tests
* Fix: Unit tests
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert ImageDetails to kotlin
* Convert MwException/MwServiceError to kotlin
* Convert ListUserResponse to kotlin
* Convert MwPostResponse to kotlin
* Convert MwQueryResponse to kotlin
* Convert MwQueryResult to kotlin
* Convert MwQueryPage to kotlin
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename `.java` to `.kt`
* Migrated FeedbackContentCreator to kotlin
* Rename FeedbackDialog from `java` to `kt`
* Migrated Feedback Dialog from `java` to `kt`
* Renamed OnFeedbackSubmitCallback to kotlij
* Migrated OnFeedbackSubmitCallback to kotlin
* Fixed: TestCase Failure
* Fixed Test : Changed Private Modifier to Public
* Suppressed deprecated and added TODO for lint
* Linked Deprecation with Github Issue
* Rename Feedback from java to kt
* Migrated Feedback Data Class to Kotlin
* Modified the data class to var for mutuability
* Convert Edit to kotlin along with deleting unused class
* Converted ExtMetadata to kotlin
* Convert ImageInfo to kotlin
* Removed unused class
* Convert Notification to kotlin
* Convert PageProperties to kotlin
* Convert PageTitle to kotlin
* Convert Namespace to kotlin
* Refactor : Fixed lint issues on EditActivity
- Using 'Log' instead of 'Timber'
- Line is longer than allowed by code style (> 100 columns)
- Use of getter method instead of property access syntax
- Should be replaced with Kotlin function
- Cascade 'if' should be replaced with 'when'
* Suppress Deprecation
* Linked Deprecated with Github Issue
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename AchievementFragment from `.java` to `.kt`
* Migrated AchievementFragment to kotlin
* Revamped Achievement Screen
* fixed AchievementFragment Unit Test
* fixed Level on MoreBottomSheetFragment
* Implemented Badge and Minor Code Refactor
* Fixed the badge issue & made the badge clickable
* Removed Redundant XML Code & Converted badges to green color and added values inside it
* Fixed : showSnackBarWithRetry Test
* Fixed : Theme issues on Light Mode
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert DepictSearchResponse to kotlin
* Convert Entities to kotlin
* Convert WikiSite to kotlin
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename .java to .kt
* Migrated filepicker module from Java to Kotlin
* Rename .java to .kt
* Migrated filepicker module from Java to Kotlin
* fix: test cases
* Convert OkHttpJsonApiClient and CategoryApi to kotlin
* Convert GsonUtil to kotlin
* Convert WikidataConstants to kotlin
* Convert WikidataEditListener to kotlin
* Convert WikidataEditService to kotlin
* work in progress
* Convert RequiredFieldsCheckOnReadTypeAdapterFactory to kotlin
* Converted type adapters
* Convert WikiSiteTypeAdapter to kotlin
* Fixed nullability
* Convert ViewModelFactory to kotlin
* Convert UpdateAvatarResponse and related test to Kotlin
* Convert LeaderboardResponse and related test to kotlin
* Convert LeaderboardListAdapter to kotlin
* Convert UserDetailAdapter to kotlin
* Convert LeaderboardListViewModel to kotlin
* Convert DataSourceClass to kotlin
* Convert the LeaderboardFragment to kotlin
* Converted AchievementsFragment to kotlin
* Revert "Converted AchievementsFragment to kotlin"
This reverts commit 4fcbb81e5d.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert a batch of easier modules
* Convert the NetworkingModule to kotlin
* Converted the ApplicationlessInjection to kotlin
* Convert CommonsDaggerAppCompatActivity to kotlin
* Convert CommonsDaggerContentProvider to kotlin
* Convert CommonsDaggerIntentService to kotlin
* Convert CommonsDaggerService to kotlin
* Convert CommonsDaggerSupportFragment to kotlin
* Convert CommonsDaggerBroadcastReceiver to kotlin
* Convert CommonsApplicationModule to kotlin
* Fix imports and make them consistent
* Get good test around the basic KvStore before starting conversion
* Converted BasicKvStore to kotlin and removed dead code
* Converted JsonKvStore to kotlin
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert ICampaignsView to kotlin along with simple fix
* Convert CampaignView to Kotlin
* Convert CampaignsPresenter to Kotlin
* Convert CampaignsPresenter to kotlin
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* refactor getIconFor method and remove call to highlightNearestPlace()
It ensures single responsibility on getIconFor method
* refactor and fix icon issue when coming from nearby banner
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert SessionManager to kotlin along with other small fixes
* Convert WikiAccountAuthenticator to kotlin
* Migrate WikiAccountAuthenticatorService to kotlin
* Converted AccountUtil to kotlin
* Convert SignupActivity to kotlin
* Convert LoginActivity to kotlin
* Merge from main
* move createLocale() method to companion object and add test dependency
* use mockk() from Mockk library for mocking sealed classes
* change method parameter to null-able String type
* add null check for accessing property from unit tests
* change method signature to match old method's signature
It fixes the NullPointerException when running ImageProcessingUnitTest
* Fix unresolved references and make properties public for unit tests
* fix tests in UploadRepositoryUnitTest by making return type null-able
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- AbstractTextWatcher
- ActivityUtils
- CommonsDateUtil
- DateUtil
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- DeviceInfoUtil
- ExecutorUtils
- FragmentUtils
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- ImageUtils
- ImageUtilsWrapper
- LangCodeUtils
- LayoutUtils
- LengthUtils
- LocationUtils
- MapUtils
* Rename .java to .kt
* Migrated all remaining files in util module
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- AbstractTextWatcher
- ActivityUtils
- CommonsDateUtil
- DateUtil
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- DeviceInfoUtil
- ExecutorUtils
- FragmentUtils
* Modified findUniqueFileName() in UploadWorker.kt to use a random 3-digit alphanumeric hash to append to a file name to make it unique. This improves speed over using an incrementing number to append as there are fewer collisions.
* Modified findUniqueFileName() in UploadWorker.kt to use a random 5-digit numeric hash rather than the previous 3-digit alphanumeric hash
* Removed unnecessary variable "chars"
---------
Co-authored-by: Jinniu Du <127721018+Donutcheese@users.noreply.github.com>
Co-authored-by: Zihan Pan <u7726755@anu.edu.au>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Issue #5811: "Delete folder" menu in custom image selector
* Issue 5811: folder deletion for api < 29.
* Issue 5811: folder deletion for api < 29.
* Issue 5811: folder deletion for api 29.
* Issue 5811: folder deletion
* Issue 5811: fixes merge conflicts, replaces used function onActivityResult with an ActivityResultLauncher
* Update Constants.java
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* BaseMarker.kt: removed unneeded cast
* TransformImageImpl.kt: removed unreachable code
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* DescriptionEditActivity.kt: removed unnecessary non-null assertion (!!) on a non-null receiver of type DescriptionEditHelper
* Media.kt: Property would not be serialized into a 'Parcel'. Added '@IgnoredOnParcel' annotation to remove the warning
* ZoomableActivity.kt: removed Unnecessary non-null assertion (!!) on a non-null receiver of type ZoomableDraweeView
* CategoryClient.kt: removed condition 'page.categoryInfo() == null' as it's always 'false'
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type SessionManager
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type DescriptionEditHelper
* WikidataFeedback.kt: removed unneeded cast
* FailedUploadsFragment.kt: removed unneeded non-null assertion (!!)
* PendingUploadsFragment.kt: removed unneeded non-null assertion (!!)
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* FileUtils.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* LocationPickerActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* MediaDetailFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* NearbyFilterSearchRecyclerViewAdapter.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ProfileActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* RecentSearchesFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ReviewActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* SearchActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* UploadMediaPresenter.java: Changed toUpperCase to toLowerCase(Locale.ROOT)
* CategoriesMediaFragment.kt: Changed arguments!! to requireArguments()
* ChildDepictionsFragment.kt: Changed arguments!! to requireArguments()
* DepictedImagesFragment.kt: Changed arguments!! to requireArguments()
* DepictsFragment: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity())) to requireActivity()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity()) to requireActivity()
* UploadMediaDetailFragment.java: Changed arguments!! to requireArguments()
* WikipediaInstructionsDialogFragment.kt: Changed arguments!! to requireArguments()
* BookmarkItemsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* BookmarkLocationsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* AndroidManifest.xml: Removed redundant label android:label="@string/app_name"
* bs\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* Revert "hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63"
This reverts commit 47232466ab.
* cy\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* sr\strings.xml: Added missing few quantities for lines 35 to 70
* ro\strings.xml: Added missing few quantity and removed not needed zero for <plurals name="contributions_subtitle" fuzzy="true">
* cs\strings.xml: Added missing few many missing quantities for lines 33 - 74
* lt\strings.xml: Added missing few, many missing quantities for lines 34 - 58
* lt\strings.xml: Replaced . . . with ...
* ca\strings.xml: Added missing many quantities for lines 21 - 51, replaced . . . with ...
* ser\strings.xml: Added missing few quantities, replaced . . . with ...
* br\strings.xml: Added missing two, few, many quantities
* pt\strings.xml: Added missing many quantity, changed . . . to ... and ignored typo as it is correct for European Portuguese
* it\strings.xml: changed . . . to ...
* pt\strings.xml: fixed many quantity
* ca\strings.xml: fixed many quantity
* sr\strings.xml: fixed many quantity
* cy\strings.xml: corrected quantities for "share_license_summary
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity. Fixed some typos, added ignore for correct spellings but has warning
* getColumnIndex(): added @SuppressLint("Range") as -1 is expected result for column name doesn't exist
* values-b+sr+Latn\strings.xml: changed . . . to ...
* Revert "values-b+sr+Latn\strings.xml: changed . . . to ..."
This reverts commit 95b909c29f.
* values-b+roa+tara\strings.xml: changed . . . to ...
* Revert "values-b+roa+tara\strings.xml: changed . . . to ..."
This reverts commit b5db1a3e68.
* values-b+roa+tara\strings.xml: changed . . . to ...
* values-b+sr+Latn\strings.xml: changed . . . to ..., add few based on other quantity. Ignored one ImpliedQuantity warning as it is correct.
* it\strings.xml: changed . . . to ..., add many based on other quantity.
* pt-rBR\strings.xml: changed . . . to ..., add many based on other quantity. Fixed typos, ignored warning for "one" quantity as translation didn't use number
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity. Fixed wrong %1$d. Changed . . . to ...
* mk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use 1
* sl\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* ru\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* uk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* is\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* strings.xml: changed . . . to ...
* af\strings.xml: removed not needed zero quantity
* de\strings.xml: fixed duplicate word typo
* diq\strings.xml: changed - to dash (-)
* hi\strings.xml: removed not needed zero
* in\strings.xml: removed not needed one quantity
* iw\strings.xml: removed not needed many quantity
* ja\strings.xml: removed not needed one quantity
* ko\strings.xml: removed not needed one quantity
* ky\strings.xml: removed not needed one quantity
* mr\strings.xml: removed not needed zero quantity
* my\strings.xml: removed not needed one quantity
* su\strings.xml: removed not needed one quantity
* th\strings.xml: removed not needed one and zero quantity
* zh\strings.xml: removed not needed one quantity
* activity_description_edit.xml: changed android:tint to app:tint, changed layout_alignParentRight to layout_alignParentEnd
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed to margin layout
* bottom_sheet_item_layout.xml: changed android:tint to app:tint, added focusable
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* item_place.xml.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_campagin.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_contribution.xml.xml: changed android:tint to app:tint
* nearby_card_view.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* nearby_row_button.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* toolbar_location_picker.xml: changed android:tint to app:tint
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* BaseMarker.kt: removed unneeded cast
* TransformImageImpl.kt: removed unreachable code
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* DescriptionEditActivity.kt: removed unnecessary non-null assertion (!!) on a non-null receiver of type DescriptionEditHelper
* Media.kt: Property would not be serialized into a 'Parcel'. Added '@IgnoredOnParcel' annotation to remove the warning
* ZoomableActivity.kt: removed Unnecessary non-null assertion (!!) on a non-null receiver of type ZoomableDraweeView
* CategoryClient.kt: removed condition 'page.categoryInfo() == null' as it's always 'false'
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type SessionManager
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type DescriptionEditHelper
* WikidataFeedback.kt: removed unneeded cast
* FailedUploadsFragment.kt: removed unneeded non-null assertion (!!)
* PendingUploadsFragment.kt: removed unneeded non-null assertion (!!)
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* FileUtils.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* LocationPickerActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* MediaDetailFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* NearbyFilterSearchRecyclerViewAdapter.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ProfileActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* RecentSearchesFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ReviewActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* SearchActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* UploadMediaPresenter.java: Changed toUpperCase to toLowerCase(Locale.ROOT)
* CategoriesMediaFragment.kt: Changed arguments!! to requireArguments()
* ChildDepictionsFragment.kt: Changed arguments!! to requireArguments()
* DepictedImagesFragment.kt: Changed arguments!! to requireArguments()
* DepictsFragment: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity())) to requireActivity()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity()) to requireActivity()
* UploadMediaDetailFragment.java: Changed arguments!! to requireArguments()
* WikipediaInstructionsDialogFragment.kt: Changed arguments!! to requireArguments()
* BookmarkItemsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* BookmarkLocationsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* AndroidManifest.xml: Removed redundant label android:label="@string/app_name"
* bs\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* Revert "hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63"
This reverts commit 47232466ab.
* cy\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* sr\strings.xml: Added missing few quantities for lines 35 to 70
* ro\strings.xml: Added missing few quantity and removed not needed zero for <plurals name="contributions_subtitle" fuzzy="true">
* cs\strings.xml: Added missing few many missing quantities for lines 33 - 74
* lt\strings.xml: Added missing few, many missing quantities for lines 34 - 58
* lt\strings.xml: Replaced . . . with ...
* ca\strings.xml: Added missing many quantities for lines 21 - 51, replaced . . . with ...
* ser\strings.xml: Added missing few quantities, replaced . . . with ...
* br\strings.xml: Added missing two, few, many quantities
* pt\strings.xml: Added missing many quantity, changed . . . to ... and ignored typo as it is correct for European Portuguese
* it\strings.xml: changed . . . to ...
* pt\strings.xml: fixed many quantity
* ca\strings.xml: fixed many quantity
* sr\strings.xml: fixed many quantity
* cy\strings.xml: corrected quantities for "share_license_summary
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity. Fixed some typos, added ignore for correct spellings but has warning
* getColumnIndex(): added @SuppressLint("Range") as -1 is expected result for column name doesn't exist
* values-b+sr+Latn\strings.xml: changed . . . to ...
* Revert "values-b+sr+Latn\strings.xml: changed . . . to ..."
This reverts commit 95b909c29f.
* values-b+roa+tara\strings.xml: changed . . . to ...
* Revert "values-b+roa+tara\strings.xml: changed . . . to ..."
This reverts commit b5db1a3e68.
* values-b+roa+tara\strings.xml: changed . . . to ...
* values-b+sr+Latn\strings.xml: changed . . . to ..., add few based on other quantity. Ignored one ImpliedQuantity warning as it is correct.
* it\strings.xml: changed . . . to ..., add many based on other quantity.
* pt-rBR\strings.xml: changed . . . to ..., add many based on other quantity. Fixed typos, ignored warning for "one" quantity as translation didn't use number
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity. Fixed wrong %1$d. Changed . . . to ...
* mk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use 1
* sl\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* ru\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* uk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* is\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* strings.xml: changed . . . to ...
* af\strings.xml: removed not needed zero quantity
* de\strings.xml: fixed duplicate word typo
* diq\strings.xml: changed - to dash (-)
* hi\strings.xml: removed not needed zero
* in\strings.xml: removed not needed one quantity
* iw\strings.xml: removed not needed many quantity
* ja\strings.xml: removed not needed one quantity
* ko\strings.xml: removed not needed one quantity
* ky\strings.xml: removed not needed one quantity
* mr\strings.xml: removed not needed zero quantity
* my\strings.xml: removed not needed one quantity
* su\strings.xml: removed not needed one quantity
* th\strings.xml: removed not needed one and zero quantity
* zh\strings.xml: removed not needed one quantity
* activity_description_edit.xml: changed android:tint to app:tint, changed layout_alignParentRight to layout_alignParentEnd
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed to margin layout
* bottom_sheet_item_layout.xml: changed android:tint to app:tint, added focusable
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* item_place.xml.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_campagin.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_contribution.xml.xml: changed android:tint to app:tint
* nearby_card_view.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* nearby_row_button.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* toolbar_location_picker.xml: changed android:tint to app:tint
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* make database function calls suspending and update room version
* replace MainScope with coroutineScope for database operations
* add suspend keyword and refactor code
* Changed files required to get the app to run correctly. Removed suspend from affected DAO files and funcs, and changed to (Kotlin v1.9.22) and (Kotlin compiler v1.5.8)
* Created refresh button icon, and added it to the nearby_fragment_menu.xml (header of the nearby page). Created function refresh() in NearbyParentFragment.java to handle refresh functionality.
* Replaced refresh() func with emptyCache() and reloadMap()
* Attempt at reloadMap(), no testing done yet.
* added changes for a possibly working emptyCache implementation (needs testing).
* Tested changes as working, edited emptyCache to correctly clear cache and then reload map
---------
Co-authored-by: MarcusBarta <marcusbarta@icloud.com>
* remove unused result expectancy for settings screen launch
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* initial refactor to new result api, wip
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* refactor camera launcher
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* revert callback for video handling
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* invoke callbacks when cancelled
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* handle gallery picker result based on preference
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove old method of refactoring for file picker
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove legacy result handling callback
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* request code used for handling result was never used for launching an activity, hence removed
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* extract voice result handling into function
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* refactor test
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove unused tests
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* cleanup
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* fix-docs
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* add space after ,
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
>> Made it so that selecting a language results in the hashmap storing the currently selected language(s) being cleared. Considered refactoring the hashmap storing this into a single pair storing the language positition index and its code, as only one language should ever be selected, however I am not confident that this would not introduce unintended side-effects
* UI design for legend to explain the colors of the nearby pins
* Add listener for the button to toggle the visibility of the legend (make it hideable)
* Change wording for legend and make text localizable
* Fixed typo
* Fixed typo
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Resolved an issue where RecyclerView would incorrectly scroll to the top after exiting fullscreen preview. Adjusted scroll behavior to maintain position unless actioned images are filtered. Implemented observer logic adjustments to handle dataset updates more efficiently.
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* ImageFragment.kt: notifyDataSetChanged() added to update observers about init call in handleResult()
* ImageFragment.kt: unnecessary initialisation after exiting media preview was removed from passSelectedImages
* (fixes#5855) fetch item label in nearby based on user configured language.
* implement a method to delete Place entity from database
* clear the cache for a item when a wikiItem is updated.
* fix style issue
* Update placesRepository on successful WikiItemEdit
* Revert the delete operations added to the PlaceDAO
* Set name of the place to avoid race condition with NearbyParentFragment. Update Success Notification to show only after the pin has been updated.
* Clean-up
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
This commit adds logic to classify notifications as "email" type when the notification text contains "sent you an email". It also updates the email notification prompt to support localization, ensuring a better user experience across different regions.
### Problem:
1. Previously, email-related notifications from the backend were missing a URL. As a result, when users clicked on these notifications, there was no link to open, and the notifications were categorized as UNKNOWN. This led to a poor user experience since there was no feedback provided when the user clicked on an email notification.
2. Additionally, the existing code used hardcoded English text for the email notification prompt, which did not provide a localized experience for users in different regions.
### Solution:
1. Added logic to categorize email-related notifications as `EMAIL` when the notification text contains "sent you an email".
2. Replaced the hardcoded "Check your email inbox" string with a localized string and added translations for multiple languages, including zh, zh-rhk, zh-rcn, zh-rtw, and ja.
### Changes:
- **NotificationClient**:
- Modified `WikimediaNotification.toCommonsNotification()` to check if the notification text contains "sent you an email". If it does, the notification is classified as `EMAIL_MESSAGE` instead of the default `UNKNOWN`.
- **NotificationActivity**:
- In the `NotificatinAdapter` click handler, added a check for `EMAIL_MESSAGE` type. When an email-type notification is clicked, a localized "Check your mail box" prompt is shown using `Snackbar`, instead of attempting to open a URL (which is typically missing for such notifications).
- Modified to fetch the string using `getString(R.string.check_your_mail_box)` to support localization.
- **NotificationType**:
- Added a new `EMAIL` type to categorize email-related notifications.
- **Localization**:
- Added localized translations for "Check your mail box" in zh, zh-rhk, zh-rcn, zh-rtw, and ja.
Co-authored-by: Qiutong Zeng <Qiutong.zeng@anu.edu.au>
* Updated instances of assert() in WelcomeActivityTest.kt to asserThat().
New imports:
- org.hamcrest.CoreMatchers.equalTo
- org.hamcrest.CoreMatchers.assertThat
* Updated instances of assert() in LatLngTest.kt to asserThat().
New imports:
- org.hamcrest.CoreMatchers.equalTo
- import org.hamcrest.CoreMatchers.not
- org.hamcrest.CoreMatchers.assertThat
* Updated instances of assert() in LabelTest.kt to asserThat().
New imports:
- org.hamcrest.CoreMatchers.equalTo
- org.hamcrest.CoreMatchers.assertThat
* Corrected sign error typo in LatLngTest.kt
* NearbyParentFragment.java:
OnScroll - removed distance threshold, delay search by 800ms, discard multiple OnScroll within 800ms.
OnDestroy - destroy any queued OnScroll events
* NearbyParentFragment.java:
loadPlacesDataAsync - set batchSize from 50 back to original 3
* comment
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* *.kt: bulk correction of formatting using ktlint --format
* *.kt: replace wildcard imports and second stage auto format ktlint --format
* QuizQuestionTest.kt: modified property names to camel case to meet ktlint standard
* LevelControllerTest.kt: modified property names to camel case to meet ktlint standard
* QuizActivityUnitTest.kt: modified property names to camel case to meet ktlint standard
* MediaDetailFragmentUnitTests.kt: modified property names to camel case to meet ktlint standard
* UploadWorker.kt: modified property names to camel case to meet ktlint standard
* UploadClient.kt: modified property names to camel case to meet ktlint standard
* BasePagingPresenter.kt: modified property names to camel case to meet ktlint standard
* DescriptionEditActivity.kt: modified property names to camel case to meet ktlint standard
* OnSwipeTouchListener.kt: modified property names to camel case to meet ktlint standard
* MediaDetailFragmentUnitTests.kt: corrected excessive line length to meet ktlint standard
* DepictedItem.kt: corrected property name format and catch format to for ktlint standard
* UploadCategoryAdapter.kt: corrected class definition format to meet ktlint standard
* CustomSelectorActivity.kt: reformatted function names to first letter lowercase to meet ktlint standard
* MediaDetailFragmentUnitTests.kt: fix string literal indentation to meet ktlint standard
* NotForUploadDao.kt: file renamed to match class name, new file NotForUploadStatusDao.kt
* UploadedDao.kt: file renamed to match class name, new file UploadedStatusDao.kt
* Urls.kt: fixed excessive line length for ktLint standard
* Snak_partial.kt & Statement_partial.kt: refactored to remove underscores in class names to meet ktLint standard
* *.kt: fixed consecutive KDOC error for ktLint
* PageableBaseDataSourceTest.kt & UploadPresenterTest.kt: fixed excessive line lengths to meet ktLint standard
* CheckboxTriStatesTest.kt: renamed file to match class name to meet ktLint standard
* .kt: resolved backing-property-naming error in ktLint, made matching properties public, matched names and refactored
* TestConnectionFactory.kt: fixed property naming to adhere to ktLint standard
* LocationPickerActivity.java: fix "Show in Map App" bug
Once the "Show in Map App" button is pressed, the Map app will center on the current photo's EXIF location,
if that data is available. If not, the map app will center on where the location picker's map is centered.
Javadoc updated to reflect this small change.
* LocationPickerActivity.java: add methods to easily move the map center
Before this change, any time the map center had to move, several lines of code had to be written.
This change creates several methods which move the map center to a specified location. By using these new methods,
moving the map center only takes one simple method call.
* LocationPickerActivity.java: add null check to method
The original method did not include a null check for the input GeoPoint.
This change includes a null check. If the input Geopoint is null, the method will simply return.
* LocationPickerActivity.java: remove redundant method, renaming method
Before this change, there were two methods with the same behavior.
This change removes the newer method and renames the old method to the descriptive name the newer one had.
Additionally, code which calls this method has been changed to reflect the new name.
* LocationPickerActivity.java: rearrange method calls.
Before this change, a method call to move the map to the device's GPS location was called at the very end of the map setup method.
This would move the map away from the media's EXIF location data (if it was available).
This change places the method call to move the map to the device's GPS location before the method call to move the map to the media's EXIF location (if the data is available).
In short, if no exif data is available, the map attempts to move to the device's GPS location. If the exif location data does exist, the map will move to that location.
* LocationPickerActivity.java: rewrite method scope, name, and documentation
Before this commit, the method name was unclear and the documentation did not fully explain the method's behavior. Additionally, it was a public method.
This commit renames the method (also changing calls to it), adds more documentation, and changes the method scope from public to private.
* LocationPickerActivity.java: create method to move location picker map to device GPS location
Before this method was created, several lines of code were required to move the location picker map to the device's GPS location.
After this method was created, the location picker map can be moved to the GPS location in a single method call.
* LocationPickerActivity.java: add code to move map to either EXIF or device GPS location
Before this change, there was no explicit if check on whether there was EXIF data available before moving the location picker map.
After this change, an explicit if check (which checks the activity name string) will move the location picker map to either
the EXIF location (if that data is available) or to the device's GPS location (if EXIF data is not available).
* LocationPickerActivity.java: refactor showInMapApp method
Before this change, the showInMapApp method had correct behavior, but could be rewritten to become more clear.
After this change, the showInMapApp code has been rewritten.
Specifically, common code in an if statement has been factored out.
* LocationPickerActivity.java: add null checks to showInMapApp
Before this change, there was no null checks when accessing data from an object,
which could create null pointer exceptions at runtime.
After this change, null checks are introduced to make sure null pointer exceptions will not occur.
* LocationPickerActivity.java: rewrite comments to clarify if statement
Before this change, a comment in showInMapApp did not properly describe an if statement's intended behavior.
After this change, the old comment was removed and 2 new comments were added in each part of the if statement
to properly describe the intended behavior.
* LocationPickerActivity.java: replace code with a method call
Before this change, there was several lines of code which moved the map center to the EXIF location.
After this change, the several lines of code have been replaced with a simpler method call which produces
the same result.
* LocationPickerActivity.java: remove redundant code
Before this change, there was two sections of code which moved the map center to the same location. Both of these code sections
occur very close to each other (one in onCreate(), the other in setupMapView())
After this change, the code section in onCreate() has been removed. With the map centering code only in the setupMapView() method.
This change eliminates redundancy, reduces the amount of code in onCreate(), and makes this java file easier to understand.
* content_location_picker.xml: adjust picker pin and shadow location
Before this commit, the location picker pin and shadow graphics were incorrectly located on the screen.
Specifically, the bottom of the pin was not located at the center of the view. Since pressing the
checkmark button saves the location at the center of the view, users would most likely save the wrong location.
After this commit, the location picker pin and shadow graphics have been moved upward. The shadow graphic is
now located at the exact center of the view, and the bottom of the location picker pin is directly over the
center as well. Users may now use the bottom of the pin as an accurate location picker.
* LocationPickerActivity.java: fix bug with permissions menu moving map
Prior to this change, if the menu asking for permissions to access the device's GPS was accepted, the map
would automatically move to the most recent or current GPS location, rather than staying at the uploaded
image's available EXIF location.
After this change, the map will stay centered at the image's available EXIF location, as intended.
The relevant method name and javadoc have been changed to more accurately describe the method's behavior.
* LocationPickerActivity.java: fix map centering bug when editing location on already uploaded media
Before this commit, when the user pressed the edit location icon on media which was already uploaded,
the map would center on the device's current GPS location.
After this commit, pressing the same edit location icon will now center the map on the location metadata.
This is done by checking the activity string to see if the media is already uploaded. If so, a method
is called to center the map on the media's location metadata.
* LocationPickerActivity.java: replace references to EXIF in documentation
Before this commit, there were several mentions of EXIF location data in the javadocs. It is not clear if
this is correct, since many images have location data that is chosen by the user rather than derived from EXIF.
After this commit, the more generic term "location metadata" is used in place of EXIF location data.
Hopefully this change will help avoid confusion in the future.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* change the overridden method signature as per API 34
* add version check condition to compare with API 23 before adding flag
* refactor: add final keywords, fix typo, and remove redundant spaces
For optimized code only
* upgrade: migrate to SDK 34 and upgrade APG
Additionally, add Jetpack Compose to the project
* AndroidManifest: add new permission for API 34
DescriptionActivity should not be exposed
* refactor: permission should not be check on onCreate for some cases
* add method to get correct storage permission and check partial access
Additionally, add final keywords to reduce compiler warnings
* refactor: prevent app from crashing for SDKs >= 34
* add new UI component to allows user to manage partially access photos
Implement using composeView
* change the overridden method signature as per API 34
* add version check condition to compare with API 23 before adding flag
* refactor: add final keywords, fix typo, and remove redundant spaces
For optimized code only
* upgrade: migrate to SDK 34 and upgrade APG
Additionally, add Jetpack Compose to the project
* AndroidManifest: add new permission for API 34
DescriptionActivity should not be exposed
* refactor: permission should not be check on onCreate for some cases
* add method to get correct storage permission and check partial access
Additionally, add final keywords to reduce compiler warnings
* refactor: prevent app from crashing for SDKs >= 34
* add new UI component to allows user to manage partially access photos
Implement using composeView
* replace deprecated circular progress bar with material progress bar
* remove redundant appcompat dependency
* add condition to check for partial access on API >= 34
It prevents invoking photo picker on UploadActivity.
* UploadWorker: add foreground service type
* fix typos in UploadWorker.kt
* add permission to access media location
* Add Date and Time in UTC format to Feedback
* Add UTC date to the Subject instead of adding it to the body
* Change the UTC Date format to yyyy/MM/dd HH:mm:ss
* Minor changes
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* tests: fix failing testUpdateDepictsProperty
* replace deprecated circular progress bar with material progress bar
* refactor: update SettingsActivity to not use custom appCompatDeletegate
It is required because that delegate is automatically handled in new libraries.
* restructure : minor changes to comments to improve readability
* api: remove clear flag to prevent deletion of structured data
* WikiBaseInterface: add new api methods
Get Method: to get claims for an entity
Post method: to delete claims
* WikiBaseClient: add methods to handle response for new APIs
* typo: update call to method with updated typo
* DepictEditHelper: call update property method with entity id
* refactor: dismiss progress dialog on error
* DepictsDao: remove usage of runBlocking as it was blocking main thread
Refactor methods to perform well with coroutines
* refactor: update usage of method to match changes in DepictsDao
* refactor: use named parameters to improve readability
* claims: add new data classes to represent remove claims
* WikidataEditService: modify update depicts property method
Performs deletion of old claims and creation of new claims
* refactor: make methods more organized
* Splitted the query
* Made changes to the query
* Improvised query
* Improvised query by dividing in the batches
* Fixed failing tests
* Improved batches
* Improved sorting
* Fixes issue caused by search this area button
* Fixed failing tests
* Fixed unnecessary reloads on onResume
* Fixed few pins not loading on changing apps
* Improved zoom level and fixed the pins not loading from the center
* Removed toggle chips and changed pin's color
* Fixed wikidata url
* Fixed unit tests
* Implemented retry with delay of 5000ms
* Fixed exception issue and pins issue
* Added change color icon to pin
* Improved pin clicking
* Removed search this area button
* Implemented caching of places
* Fixed unit test
* Factorized methods
* Changed primary key from location to entity id
* Fixed tests
* Fixed conflicts
* Fixed unit test
* Fixed unit test
* Fixed the bug
* Fixed issue with pin loading on the first launch
* Updated javadocs
* Temporary commit - only for testing
* Replaced Temporary commit
* Temporary commit - Added jcenter
* Made minor changes
* Fixed unit tests
* Fixed unit tests
* Fixed minor bug
* document regex due to #47
* also count 2020s as "recent years"
* clarify that not all years are ignored
* clarify "year" is current year
* original logic fix
from https://github.com/commons-app/apps-android-commons/pull/5761#pullrequestreview-2144120347
* better variale name for ".*0s.*"
as that regex will match e.g. `1920s` and `80s` too, so the original `is20xxsYear` would be confusing name for it
* consolidate duplicated code to spammyCategory
* clarify regexes via variables
* spammyCategory should always be skipped
* return is simple now, so we can get rid of extra val oldDecade
* fix curYearInString
* some clarification comments
* refactor: rename containsYear to isSpammyCategory
This is done as the name containsYear is ambiguous.
It not just checks for year to identify spammy categories.
* refactor: rename containsYear to isSpammyCategory (take 2)
A continuation of fe74c77ab (refactor: rename containsYear
to isSpammyCategory, 2024-07-17)
---------
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
* Ensure to clear the cookies when logging out
It turns out that we failed to clear the cookies from the cookie JAR
when logging the user out. As a consequence, the cookie were retained
and it was possible to edit depictions as the previous user even without
logging in to the app (using the retained cookies).
Make sure we properly clear the cookies when we log the user out.
As an aside, the fact that the edit button shouldn't have been shown
is a different issue being tracked in #5726
* session: reuse removeAccount method for log out
The removeAccount method takes care of invoking the non-deprecated
API in applicable API levels. The logout method did not do such a
thing. Avoid redundancy, and reuse the removeAccount method for
logging out.
* feedback: add the feedback as a new section at end of the page
Addresses feedback on #5542. For auto-archiving of section
to work properly on our feedback page, the new sections need to
be created at the end of the page rather than at the top.
So, adjust the feedback addition logic to make it such that the
feedback is appended to the bottom of the page.
* Replace lambda with a method reference
* feedback: replace edit summary with something more relevant
The summary of the feedback page was unhelpful. Make it more helpful by
using a more helpful summary that at least mentions the version of the
app for which the feedback is posted.
* test: try to fix test case related to feedback change
This commit moves the center of the map to the image's location, if the image has
location EXIF data. If the image does not have location EXIF data, the map will
center on the device's current GPS location.
* feedback: add info about where the feedback gets posted
Fixes#5747
* feedback: avoid underscore in the link's alternative text
* wording
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
I replaced uploadMediaDetail.get(position) with a direct reference to uploadMediaDetail in 3 locations to avoid out of bounds errors.
The usage of RecyclerView in this code is still a bit buggy, and maybe a RecyclerView is not necessary here since the number of items is limited. The fix also revealed problems in the logic of adding the "addButton" only to the last item, which couldn't be reproduced before because the app crashed first. I can submit a new bug for that if this fix goes live.
I did not feel very comfortable with the code so I restricted my commit to fixing the first reported crash, which was resolved in my tests.
* Add AlertDialog for categories and modularize receiveSharedItems
* Improve nearby-place search function for a multi-upload
Enhance the depiction consistency of a multi-upload by ensuring that it corresponds to a single place
* Add javadoc
* Update strings.xml
* Renamed setImageTobeUploaded to setImageToBeUploaded
* Make uploadIsOnPlace private & add a setter
* Rename uploadIsOnPlace to uploadIsOfAPlace
* Use singular when there is only one picture
* Add a 'Do not show again' checkbox on the dialog
* Update strings.xml
---------
Co-authored-by: Giannis Karyotakis <110292528+karyotakisg@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
With refactoring of the dataclient module, the model classes now live
within the app's source code itself. So, the existing R8 rules became
obsolete and resulted in the prodRelease version of the app not
working.
So, adjust the R8 rules so that R8 doesn't obsfuscate the model classes
that now live within the app.
The file is not properly recognized by Android and we've actually
codemapped it to yue. The translatewiki configuration has been
done in the incorrect file. So, it is still being created.
The following Gerrit change would correct it for updates after that
change is merged.
1022508
For the time being remove it for the sake of release.
* Resolved merged conflicts
* Resolved merge conflicts and updated workflow
* Updated Location Flow and merged conflicts
* Update flow and merge conflicts
* Fixed LocationPicker's location flow
* Removed redundant code from LocationPermissionsHelper
* Fixed Explore fragment crashing and incorrect behaviour
* Updated LocationPicker Flow
* Fixed Nearby not working as intended
* Final update to location flow of all maps
* Added the reqested changes and fixed bugs
* Resolved requested change in in-app camera location flow
* Fixed In-app camera location flow
* Resolved conflicts in ContributionsListFragment
* Updated java doc as requested
* Resolved nearby card dialog not being shown
* Optimised LocationPermissionsHelper javadoc
* Made requested changes for preference check
* Added javadoc and requested comment for later reference
* Implemented requested code changes
* Fixed failing test due to changes made during PR
* Added string resource for ExploreMapFragment
* Changed string resource for rationale dialog
* Added standard location flow information in LocationPermissionsHelper
* Added javadoc for doNotAskForLocationPermission
* Removed unused import
* Updated javadoc
* Removed values-yue-hant
* Fix some merge conflict errors
* Fix minor errors due to mergre conflicts
* Fix some refactor errors
* Fixed minor bug due to merging conflicts
* Delete app/src/main/res/values-yue-hant directory
* Final changes to NearbyParentFragment
* Fixes#5686 map coordinates set to image coords
* Removed some redundant code from recenterMap
* Removed one test whose method no longer exists
* Removed unused method from contract of nearby
* Removed redundant method from NearbyParentFragment
* nearby: add a FIXME about the possibly redudant code
---------
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
* Feat : Added a place for users to add feadback on github
* Code Cleanup : Added Github Issue URL as Const
* Homogenized
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* SettingsFragment: add a method for creating locale
* SettingsFragmentUnitTests: fix failing tests for createLocale
* NearbyParentFragment: set WLM check to false
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Removed mapbox code1
* Removed mapbox code2
* Fixed failing tests
* Fixed failing due to merging
* Added feature to save nearby places as GPX and KML
* Fixed error caused by null
* Improved UX for Nearby Export
* Delete app/src/main/res/values-yue-hant directory
* Fixed internationalization issue
* Fixed crash
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Removed mapbox code1
* Removed mapbox code2
* Fixed failing tests
* Fixed failing due to merging
* Added feature to save nearby places as GPX and KML
* Fixed error caused by null
* Improved UX for Nearby Export
* Delete app/src/main/res/values-yue-hant directory
* Fixed internationalization issue
* Initial changes to the flow, merged conflicts
* Major changes to flow and logic
* Final major changes to the flow and merged conflicts
* Minor changes to thumbnail flow and merge conflicts
* Fixed ImageProcessingServiceTest
* Removed unnecessary file
* Some code cleanup and fixed UploadRepositoryUnitTest
* Minor javadoc changes and null checks
* Fixed UMDFragmentUnitTest
* Fixed and added new tests in UploadMediaPresenterTest
* Optimised code for no connection cases and minor code cleanup
* Minor bug fix
* Fixed minor bug
* Fixed a failing unit test
* Removed values-yue-hant
* Update UploadRepository.java
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Removed mapbox code1
* Removed mapbox code2
* Fixed failing tests
* Fixed failing due to merging
* Added feature to save nearby places as GPX and KML
* Fixed error caused by null
We seem to be incorrectly setting the the thanks count in the achievement level
text. This was then being over-written by the actual achievement level value
in the code flow. In the end, the thanks count seems not to have been displayed at all.
Correct this by properly updating the thanks count.
Fixes#5641
[The image path of rotated image is not save like nornal image.
so imageview cannot load rotated image
check whether the image path is file uri then add imagerequest to load the image]
[fixed: thumbnail not visible when upload rotated image]
* Custom picker: Show differently pictures that are currently being uploaded
* fix tests
* fix test
* fix crash
* handle all cases
* handle all cases
* fix
* Hide Images When showAlreadyActioned is disabled
* Fix Tests
* cleanup
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Removed mapbox code1
* Removed mapbox code2
* Fixed failing tests
* Fixed failing due to merging
* Moved Main Activity and Settings Activity to ViewBinding
* Moving only SettingsActivity for now
* Removed values-yue-hant directory
* Removing previously done changes to main.xml
* Butterknife to ViewBinding
* code fix to pass all tests
* test fix
* test fix
* test fix
* test fix
* Update ContributionsFragmentUnitTests.kt
* code cleanup and tests improved
* tests fixed
* adjustments and code cleanup
* adjustments and code cleanup
* Refactor :API calls separated from activity added to LoginClient
* getLoginToken() modifier set to private
* Code Cleanup : removed non-null from twofactor and Locale import
* Indentation fix
Added line breaks to PageContentsCreator.java, CategoryEditHelperUnitTests.kt, and MediaDetailFragmentUnitTests.kt following the example given on issue #5523.
* Convert UserClient to kotlin
* Added tests for WikiBaseClient
* Removed superfluous dao tests in review helper and got the proper ReviewDaoTest running in the unit test suite
* Improved tests for ReviewHelper
* Convert the ReviewHelper to kotlin
* Convert the WikiBaseClient to kotlin
* Convert the WikidataClient to kotlin
* Fixed arrow flickering issue on zoom
* Resolved issue point 1 and 3
* Resolved issue point 2
* Minor changes
* Update UploadActivity.java
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Converted CategoryInterface to kotlin
* Converted DepictsInterface to kotlin
* Convert the MediaDetailInterface to kotlin
* Convert MediaInterface to kotlin
* Convert ReviewInterface to kotlin
* Convert the UserInterface to kotlin
* Convert the WikiBaseInterface to kotlin
* Convert WikidataInterface to kotlin
* Convert WikidataMediaInterface to kotlin
* Convert UploadInterface to kotlin
* logErrorsInsteadOfCrashing only ever returned false, so remove it and simplify logger
* Removed unused getMediaWikiBaseUrl()
* Removed getDesiredLeadImageDp() from commons app adapter, since it's unused
* Inlined the isLoggedIn() method of the app adapter
* Inline the app adapter username/password
* Removed the unused getRestbaseUriFormat() from the commons app adapter
* Remove references to the data-client SharedPreferenceCookieManager
* Manage our own OkHttpClient and remove the AppAdapter implementation
So far we used both the urbanecmbot instances and also the commons-android-app
toolforge instance for the functioning of the app.
The reality is that the commons-android-app instance itself had the ability
to return all the data necessary for the app. Use the same to get all the
data necessary for the app.
Fixes#5462
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Made UI changes in UploadMediaDetailAdapter
* Added javadoc
* Replaced Mapbox with OSMDroid in explore activity
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Convert the result classes to kotlin
* Convert response and callback to kotlin
* Cleanup code-quality warnings before converting
* Converted the LoginClient to kotlin
* Updated the UserExtendedInfoClientTest to be kotlin, and live in the correct spot
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Fixes#5439 by capitalizing first letter of voice input
* Made UI changes in UploadMediaDetailAdapter
* Added javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* UploadMediaDetailInputFilter: added pattern to identify colon
Added hex code of colon for MediaDetailInputFilter and updated test for it.
* styles.xml: removed color styles for floatingActionButton
* Highlighted nearest place when user clicks on home nearby banner
* Fixed incorrect behaviour of home nearby banner on being clicked
* Fixing failure of unit test cases
* spacing
* indentation
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
* Replaced mapbox to osmdroid in upload activity
* Fixed Unit Tests
* Made selected marker to be fixed on map
* Changed color of map marker
* Resolves#2307 by adding user level in menu
* Formatted code as requested
* Start sentence with uppercase
* javadoc
* Fixed my typo
* javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* NearbyParentFragment : added referer
In file NearbyParentFragment.java, I added header property, i.e., the referer - http://maps.wikimedia.org/
and set tile source to wikimedia.
* Reworded comments
* sdkmanager: added installation command for build-tools-30.0.3
* Revert "sdkmanager: added installation command for build-tools-30.0.3"
This reverts commit b3e5019e36.
* Update android.yml
* Update gradle.properties
* android.yml: removed extra debug commands
Removed some debug commands because they are no longer needed.
* ic_custom_map_marker: changed fill color to make it more visible.
Changed fill color for map marker used for nearby places that needs photo.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Resolved issue #4513
* Localisation updates from https://translatewiki.net.
* NearbyParentFragment : added referer (#5417)
* NearbyParentFragment : added referer
In file NearbyParentFragment.java, I added header property, i.e., the referer - http://maps.wikimedia.org/
and set tile source to wikimedia.
* Reworded comments
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Removed butterknife from the quiz result activity (#5425)
* ConnectRefuseError: removed the proxy from properties.gradle file to allow downloading of build tools during CI. (#5434)
* NearbyParentFragment : added referer
In file NearbyParentFragment.java, I added header property, i.e., the referer - http://maps.wikimedia.org/
and set tile source to wikimedia.
* Reworded comments
* sdkmanager: added installation command for build-tools-30.0.3
* Revert "sdkmanager: added installation command for build-tools-30.0.3"
This reverts commit b3e5019e36.
* Update android.yml
* Update gradle.properties
* android.yml: removed extra debug commands
Removed some debug commands because they are no longer needed.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Removed butterknife and inlined a couple of tiny methods (#5426)
* Resolves#2239 by adding a compass arrow for direction of nearest item (#5433)
* Resolves issue #2239 by adding an arrow for direction
* Removed unnecessary change in styles.xml
* spacing
* javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Added voice input for caption and description (#5415)
* Fixed Grey empty screen at Upload wizard caption step after denying files permission
* Empty commit
* Fixed loop issue
* Created docs for earlier commits
* Fixed javadoc
* Fixed spaces
* Added added basic features to OSM Maps
* Added search location feature
* Added filter to Open Street Maps
* Fixed chipGroup in Open Street Maps
* Removed mapBox code
* Removed mapBox's code
* Reformat code
* Reformatted code
* Removed rotation feature to map
* Removed rotation files and Fixed Marker click problem
* Ignored failing tests
* Added voice input feature
* Fixed test cases
* Changed caption and description text
---------
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: Rohit Verma <101377978+rohit9625@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Paul Hawke <paul.hawke@gmail.com>
Co-authored-by: Kanahia <114223204+kanahia1@users.noreply.github.com>
* Resolves issue #2239 by adding an arrow for direction
* Removed unnecessary change in styles.xml
* spacing
* javadoc
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* NearbyParentFragment : added referer
In file NearbyParentFragment.java, I added header property, i.e., the referer - http://maps.wikimedia.org/
and set tile source to wikimedia.
* Reworded comments
* sdkmanager: added installation command for build-tools-30.0.3
* Revert "sdkmanager: added installation command for build-tools-30.0.3"
This reverts commit b3e5019e36.
* Update android.yml
* Update gradle.properties
* android.yml: removed extra debug commands
Removed some debug commands because they are no longer needed.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* NearbyParentFragment : added referer
In file NearbyParentFragment.java, I added header property, i.e., the referer - http://maps.wikimedia.org/
and set tile source to wikimedia.
* Reworded comments
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Removed butterknife from contributions list fragment and overhauled its test
* Suggested fix from stack overflow to remove duplicate class error during build
* feat: add backgroundColor property on media
* feat: add optional menu items for media backgroundColor
* fix: test pass when running in batch
* refactor: remove backgroundColor from media
* refactor: add string for background color menu
* chore: remove useless change
* feat: change media image background color
* feat: pass backgroundColor to ZoomableActivity
* chore: remove extra space
* Add basic image limit warning to custom selector
* Block upload button when image limit is exceeded
* Complete basic functionality for upload limit: Disabled button, warning sign & toast
* Consolidate functionality between upload limit and not for upload marking
* Upload Limit: write unit tests and optimize control flow
* Upload Limit Tests: improve logic coverage and alter to stay valid if limit is changed
* Upload Limit: polish javadocs and add explanation to warning toast.
* Upload Limit: refactor variable names
* Upload Limit: change warning toast to dialog box, repurposing welcome dialog code & layout
* Upload Limit: remove error icon when the mark as not for upload button is pressed
* UI setup for the crop feature almost setup
* basic setup of rotate feature done
* Added basic changes for editing feature
* Getting data back from edit activity
* Getting data back from edit activity
* Updated contentUri
* Finally the rotated image is getting uploaded
* Minor Improvements for better testing
* Fixed thumbnail preview
* Fixed loss of exif data
* Copy exif data
* Save exif data
* Added java docs
* Minor fix
* Added Javadoc
* Refactoring
* Formatting fixes
* Minor Formatting Fix
* Fix unit test
* Add test coverage
* Formatting fixes
* Formatting Fixes
---------
Co-authored-by: Priyank Shankar <priyankshankar@changejar.in>
* Fixes bug causing the progress dialog to load forever (#5212)
* Fixes bug causing the progress dialog to load forever (#5212)
* remove unnecessary new line (#5212)
* Add XML map icons with a tick/question mark for the Upload Wizard
The existing map icon may not be intuitive enough to indicate
whether the location EXIF data will be included
The two new XML map icons are intended to indicate the status of
location sharing with the location data in the Upload Wizard
* Label the map icon in the Upload Wizard if location is included
If an image is capture with the in-app camera, the location in the
image metadata by default
If so, the map icon in the Upload Wizard should be labelled with
a green tick during initialisation of its UploadMediaDetailFragment instance
* Update the map icon in Upload Wizard if location is pin-pointed
If the user selects images from the device storage
to upload, the location EXIF data might originally not be included
The map icon is labelled with a red question mark
After pin-pointing the location manully, the map icon should be
labelled with a green tick instead
* Fix Upload Wizard map icon XML rendering failure
SVG path is invalid, resulting in failure to render the icons
Also imports are required for UploadMediaDetailFragment to
use Drawable objects and R objects
* Add hasLocation() to UploadableFile to indicate existence of EXIF
When an image is chosen from the album to the Upload Wizard,
its EXIF might contain location data. hasLocation() and fix of init()
in UploadMediaDetailFragment ensures that the map icon is shown
correctly
* Fix init() NullPointerException in UploadMediaDetailFragment
* Fix comment typo in UploadMediaDetailFragment
Fix the comment about red and green labels for the map icon
* Use SLF4J logging for try-catch clauses in UploadableFile class
Instead of using printStackTrace(), error directed to logcat
* Use Timber for logging in UploadableFile
Clean up the catch clause in hasLocation() and getDataTimeFromExif()
* fix Bug index out bound
* fix Bug index out bound
* fix Bug index out bound
* fix Bug index out bound
* add some comments for that
* add some comments for that
* add some comments for that
* add some comments for that
Full mode R8 configurations are hindering the working of the app severly.
So, disable the same.
Also, ensure the POJO classes used to hold the API responses aren't optimized
so that we could use the response properly without any issues.
* Makes depicted place and category items unselectable for nearby place
* UploadCategoriesFragmentUnitTests.kt fixes and javadoc addition
* comment fix
* Fixes tests and hidden category appearing and dissapearing issue
* bug fix 5240
Signed-off-by: Zeeshan Alam <zeeshan.alam@fmr.com>
* Incorporated review comments. Remove method MediaDetailPagerFragment.newInstance(false, false, 0) which was called only in unit test
* Added Required empty public constructor
---------
Signed-off-by: Zeeshan Alam <zeeshan.alam@fmr.com>
* LocationPickerActivity: fix crash on setting location for pictures with no EXIF location
* strings.xml: remove extra string introduced
* optimise constants
* LocationPickerActivity: request for permission only on tapping target icon
* remove newline
* handle location permissions using LocationPermissionsHelper
* add null check to prevent crash
* LocationPickerActivity: fix crash on setting location for pictures with no EXIF location
* strings.xml: remove extra string introduced
* optimise constants
* LocationPickerActivity: request for permission only on tapping target icon
* remove newline
* handle location permissions using LocationPermissionsHelper
* fix stuck uploads
* automate retries for failed uploads once the user returns to the app
* UploadWorker: modify PendingIntent flag and Android version code
* MainActivity: remove automatic retry logic
* Revert "MainActivity: remove automatic retry logic"
* set work request as expedited
* handle notification for foreground service on older versions of Android
* set backoff criteria for work requests
* enqueue failed uploads for a retry
* revert "enqueue failed uploads for a retry"
* limit the number of retries for a failed upload
* add a popup that suggests users to switch to unrestricted battery usage mode
* take users to the battery settings page on the first big upload
* take users to battery optimisation settings page using the standard intent
* add instructions to the battery optimisation settings popup
* remove the first usage of fr.free.nrw.commons from the popup
* comply with the wording in the OS settings
* modify battery optimisation popup instructions, add comments and rename firstBigUploadSet
* add filename to the retry log statement
* update database version
* make battery optimisation dialog appear only on Android 6 and above
* use foreground service instead of setting work request as expedited
* fix retried uploads stuck in queued state
* use MIN_BACKOFF_MILLIS constant instead of using the number 10 and add comments
* factorise the creation of the new OneTimeWorkRequest at one place
* ensure work requests are in accordance with the unit tests
* forbid retries for images which have got uploaded without caption
* add a TODO for the suggestion related to retries
* revert "forbid retries for images which have got uploaded without caption"
* Revert "Revert a1b6973 until we find out why it uses OPEN_DOCUMENT by default on fresh install"
This reverts commit 7ce3b7ebb1.
* Potential fix for get_content picker being used in first run
The initial state of the 'openDocumentPhotoPickerPref' seems to be incorrect
during a fresh install on some devices.
Try to ensure we always use the proper initial state by propagating the default
to the preference access code.
This hopefully fixes#5274
Merging as this is a great improvement, additional issues/bugs can be filed as GitHub issues.
* fix in-app camera location loss
* fix failing unit tests
* UploadMediaDetailFragmentUnitTest: modify testOnActivityResultAddLocationDialog to have null location
* reintroduce removed variable
* enable prePopulateCategoriesAndDepictionsBy for current user location
* add relevant comment and fix failing test
* modify dialog and disable location tag redaction from EXIF
* modify in-app camera dialog flow and change location to inAppPictureLocation
* change location to inAppPictureLocation
* fix location flow
* preferences.xml: remove redundant default value
* inform users about location loss happening for first upload
* FileProcessor.kt: remove commented-out code
* prevent user location from getting attached to images with no EXIF location in normal and custom selector
* handle onPermissionDenied for location permission
* remove last location when the user turns the GPS off
* disable photo picker and in app camera preferences in settings for logged-out users
* remove debug statements and add toast inside runnables
* photo picker: toggle behaviour of switch and adjust phrasing for better UX
The enable state used to trigger the GET_CONTENT intent. Alter the flow
such that the GET_CONTENT intent is triggered when switch is disabled.
Adjust default value and other parts of code naming to reflect this.
The existing phrasing had a lot of tech jargon in it which could
result in the non-technical users being confused. Tweak the phrasing
to avoid such phrases.
The documentation in the website could also use some follow up
improvements.
* Adjust strings to clearly convey that location loss is a "risk"
* Removed comma separator from file descriptions
* Removed a redundant line that deleted the last comma of the descriptions
* Added a line to formatDescriptions that replaces every instance of "}}, " with "}}" to remove the comma between descriptions.
* Specified separator as an empty string instead of default value ", " for .joinToString method. Deleted previous fix using .replace method.
* Restored buffer.replace() in updateDescription
On taking a look at the following stack trace:
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
at fr.free.nrw.commons.nearby.fragments.NearbyParentFragment.updatePlaceList(NearbyParentFragment.java:777)
at fr.free.nrw.commons.nearby.fragments.NearbyParentFragment.lambda$initFilterChips$10$NearbyParentFragment(NearbyParentFragment.java:730)
at fr.free.nrw.commons.nearby.fragments.-$$Lambda$NearbyParentFragment$AGol6SoJlvIYd45Vbz6tTjDiWU4.onCheckedChanged(Unknown Source:2)
at android.widget.CompoundButton.setChecked(CompoundButton.java:235)
at com.google.android.material.chip.Chip.setChecked(Chip.java:665)
at android.widget.CompoundButton.toggle(CompoundButton.java:150)
...
... it seems clear the 'places' list is trying to be iterated
in the updatePlaceList method when it is empty. This is resulting
in an NPE and consequently an app crash.
Avoid the same by ensuring it is always initialized to an empty list.
Commit 0f0358f22 (Bump minSdk to 29, 2023-04-30) bumped the minSdk to
29 since it was found to be necessary for publishing the app to Play
Store.
On futher analysis[1], it seems like that might actually not be necessary.
The crux is:
1. We (rightly) answer "No" to the Play Console question:
"Does your app access location in the background in APKs or
app bundles targeting Android 9 (Pie) or older (SDK level 28 or lower)?"
2. We do not request for the ACCESS_BACKGROUND_LOCATION permission.
So, it should be safe for us to have the minSdkVersion as 21 itself. If
again we face any rejection of the app update, let us handle it at that
point. I clearly am not able to see any valid reason for Play store to
reject the app update.
[1]: https://github.com/commons-app/apps-android-commons/issues/5223#issuecomment-1569554999
Co-authored-by: Kaartic Sivaraam <kaartic.sn@zohocorp.com>
* MainActivity: add ACCESS_MEDIA_LOCATION permission check to retain location info in EXIF metadata
* remove redundant permission check and optimise imports
* FilePicker: switch to ACTION_OPEN_DOCUMENT intent for opening image files
* add a comment explaining the change
* implement GET_CONTENT photo picker toggle switch
* add location loss warning pop up
* SettingsFragment: modify the comment about GET_CONTENT takeover for more clarity
A replication of the fix done in 9b9521a03 (Update min SDK to 29, 2022-08-22)
to temporarily address #5031.
We're replicating this rather than merging the 4.0-release branch since
merging results in multiple merge conflicts that are non-trivial to
resolve.
We need to find a proper fix for the play store issue, though.
The phrase "Is this a photo of Place ...?" when placed along with an actual place
name could get confusing. For instance, "Is this a photo of Place More London?"
The casing of "Place" is especially confusing. So, tweak the phrase to avoid
this ambiguity.
Co-authored-by: Kaartic Sivaraam <kaartic.sn@zohocorp.com>
* UploadMediaPresenterTest: fix failing unit tests
* change else if to if condition to handle all cases
* include errorCodes 68 for duplicate image and 96 for image without exif
* optimise if statements
* remove redundant cases
* modify if statements to cover all cases
* simplify all if statements
* add removed comment again
* remove unused imports
* Add conditional on function onAuthorViewClicked for when there's not logged-in user
* Change media.getAuthor() for media.getUser()
* Change hardcoded URL for one given by the BuildConfig object
* feedback dialog: fix black font in dark mode
* LocationPickerActivity: fix light map in dark mode
* Fix#5182 Switch From Mapbox to MapLibre (#5184)
* Fix#5182 Switch From Mapbox to MapLibre
* Fix#5182 Switch From Mapbox to MapLibre - Resolved requestFeature() issue
* Fix#5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on two screens
* Fix#5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on additional screens
* Fix#5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on notification screen
* Fix#5182 Switch From Mapbox to MapLibre - Test errors
* fix issue #5015 - custom image selector not identifying photo location (#5190)
Co-authored-by: Siva <doodsiva@gmail.com>
* feedback dialog: fix black font in dark mode
* LocationPickerActivity: fix light map in dark mode
* LocationPicker: use predefined style based on device theme
* LocationPickerActivityTest: add additional target exception in catch block
* LocationPickerConstants: remove extra newline introduced
---------
Co-authored-by: Kartikay Kaushik <93285364+kartikaykaushik14@users.noreply.github.com>
Co-authored-by: Siva Subramaniam <112970189+siva-subramaniam-v@users.noreply.github.com>
Co-authored-by: Siva <doodsiva@gmail.com>
* Fix#5182 Switch From Mapbox to MapLibre
* Fix#5182 Switch From Mapbox to MapLibre - Resolved requestFeature() issue
* Fix#5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on two screens
* Fix#5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on additional screens
* Fix#5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on notification screen
* Fix#5182 Switch From Mapbox to MapLibre - Test errors
* Kotlin Version Upgraded to 1.6.10
* Kotlin Version Upgraded to 1.6.20
* Kotlin Version Upgraded to 1.7.20
* Fix:5175 Upgraded Minimum SDK Version, Compile and Target SDK Version
* Kotlin Version Upgraded to 1.6.10
* Kotlin Version Upgraded to 1.6.20
* Kotlin Version Upgraded to 1.7.20
* Fix:5175 Upgraded Minimum SDK Version, Compile and Target SDK Version
* fix API call to fetch the latest changes
* add database table to keep a track of reviewed and skipped images
* fix repeating reviewed or skipped images
* add removed newline again
* add necessary comments
* change from timber.e to timber.i in case there is no exception
* reintroduce the parameter rctag in the API URL
* modify API URL to retrieve latest uploads
* remove unused imports and code
* modify ReviewHelperTest and add new unit tests
* modify tests in ReviewHelperTest.kt
* add comments about the value of gcmlimit
* fixed Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4774
* fixed Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4774
* Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4774
* fixed Leaderboard: Taping on my avatar should open tip popup explaining how to change it #4775
* fixed:After canceling a sharing, application goes back to the search menu #2296
* fixed:After canceling a sharing, application goes back to the search menu #2296
* fixed:After canceling a sharing, application goes back to the search menu #2296
* fixed SeachActivityUnityTest failure when calling testOnBackPressed and cleaned up unnecessary code
* fix cropped numbers in the Achievements fragment
* add null check in inflateAchievements method to fix NullPointerException in AchievementsFragmentUnitTests
* Update DialogUtil to return the dialog object
* Update first instance of Builder to DialogAlert
* Update DialogUtil to allow null instead of empty string
* Update MediaDetailFragment to use DialogUtil
* Remove unnecessary semicolons
* Update AboutActivity to use DialogUtil
* Update ProfileActivity to use DialogUtil
* Update AchievementsFragment to use DialogUtil
* Remove wrong message set in ProfileActivity
* Update DialogUtil to accept null instead of empty string
* Add showAlertDialog option for UploadPresenter to use
* Move location reminder logic from UploadActivity to UploadPresenter
* Add test cases for dialog alert with handleSubmit
* Change threshold variable name to be more descriptive
* Fix broken reference to renamed constant in tests
* Update method to remove leading whitespace
* Update test cases testing remove whitespace method
* Remove unused whitespace check method
* Add comment about use of strip and trim in dealing with whitespace
* Robolectric Unit Tests: change deprecated robolectric RuntimeEnvironment.application to ApplicationProvider and optimise imports
* Delete app/CommonsContributions directory
Removed unnecessary directory created in the process
* 5121: Fix RecentLanguagesAdapterUnitTest
- all tests are passing
- additionally removed 'context' variable from AdvanceQueryFragmentUnitTests.kt as it is not used, and not removed on previous PR #5119
* 5125: Fix LocationPickerActivityUnitTest
- all tests are passing
- all tests are passing
- additionally removed 'context' variable from AdvanceQueryFragmentUnitTests.kt as it is not used, and not removed on previous PR #5119
* Add option to centre on GPS location for issue #5008
* Rename and add new comments for issue #5008
* Add new comments for issue #5008
* Update comments for issue #5008
* the Review feature (in the app's menu) was originally thought as a way to improve our app's overall upload quality, it is not really adapted to the wide variety of pictures uploaded via other upload tools.
* update the Review API call to request only images with the `android app edit` tag.
* add methods to check and remove trailing whitespace
* fix filter to check and remove trailing whitespace
* fix filter to check and remove trailing space first
* add test and fix filter() and removeTrailingWhitespace()
* caption trailing whitespace: change solution to remove trailing whitespaces when set to uploadMediaDetails
* update code documentation
* add more tests include instance tab, carriage return and Japanese whitespace
* Caption field: Stop blocking Japanese Space, convert to English Space when set to uploadMediaDetails
* Change method name from convertJapSpaceToEngSpace to convertIdeographicSpaceToLatinSpace
* Change pattern name from JapSpacePattern to ideographicSpacePattern
* rewrote reverseGeoCode() method to use Coordinates2Country library; wrote simple TC for receiveImage() method to check if country coordinates are set
* removed unused slf4j import in UploadMediaPresenter class
* updated mock in for setCorrectCountryCodeForReceivedImage() TC to match against exact location arguments
* added javadoc for getCountryNamesAndCodes() method in UploadMediaPresenter; implemented "lazy loading" for countryNamesAndCodes field
* removed unused field added by me from UploadMediaPresenterTest
* Project Initiated by creating helper classes for database operations
* Database created
* Rest of the work and documentation
* Requested changes done
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* [GSoC] Insert and Remove Images from not for upload (#4999)
* Inserted and marked images as not for upload
* Documentation added
* Test delete
* Implemented remove from not for upload
* Test fixed
* Requested changes done
* Added tests for new lines in existing classes
* [GSoC] Added Bubble Scroll (#5023)
* Library added
* Bubble scroll implemented
* Left and right swipe
* Requested changes
* [GSoC] Hide/Unhide actioned pictures and change numbering (#5012)
* Changed numbering of marked images
* Hide Unhide implemented
* Test fixed
* Improved speed for database operation
* Improved speed for database operation
* Changed progress dialog
* Improved hiding speed
* Test fixed
* Fixed bug
* Fixed bug and improved performance
* Fixed bug and improved performance
* Test fixed
* Bug fixed
* Bug fixed
* Bug fixed
* Bug fixed
* Bug fixed
* Code clean up
* Test hiding images
* Test hiding images
* Test hiding images
* Code clean up and test fixed
* Fixed layout
* Fixed bug
* Bug fixed
* Renamed method
* Documentation added explaining logic
* Documentation added explaining logic
* [GSoC] Full Screen Mode (#5032)
* Gesture detection implemented
* Left and right swipe
* Selection implemented
* onDown implemented
* onDown implemented
* FS mode implemented
* OnSwipe doc
* Scope cancel
* Added label in Manifest
* Merged two features
* Requested changes
* Image uploaded bug fixed
* Increased DB version
* Made requested changes
* Made requested changes
* Made requested changes
* Made requested changes
* Solved image flashing bug
* Solved image flashing bug
* Requested changes
* Requested changes
* Changed name of a function
* Fixed transaction failure on large number of images
* Tested with isIdentity
* Tested with isIdentity
* Increased the threshold
* Added info dialog
* Minor changes
* ImageAdapter Test
* CustomSelectorActivity Test
* Requested changes
* Test for ZoomableActivity
* Test for ZoomableActivity
* Test for ImageLoader
* Test for OnSwipeTouchListener
* Test for rest
* Reverted some test changes
* Added more tests for ImageAdapter
* Added more tests for ImageAdapter and swipe gesture
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
* Fix string for custom selector
* Fix bug #4950 back arrow still present on top-level activity (#4952)
* Fix bug #4949 by correctly setting previous db version number (#4956)
* Fix bug #4949 by correctly setting previous db version number
* Fix failing tests
* Fix bug #4959 by correctly setting previous db version number and updating the current db version (#4960)
* Fix bug #4957 (#4961)
* Update library to new version that handles older Java VMs
Fixes#4972 I believe.
* Versioning for v4.0.0
* Changelog for v4.0.0
* Fix bug #4984 Added queries for package name for Android API 30+ (#4987)
* Update mapbox sdk version (#4989)
* Versioning for v4.0.1
* Changelog for v4.0.1
* Remove network type information from NetworkUtils (#4996)
* Remove network type information from NetworkUtils
* Ignore dependent tests
* Fix#4992 invert the equals condition to be null safe (#4995)
* Fix java.lang.NullPointerException for username in ContributionBoundaryCallback (#5003)
* Fix failing tests for PR #5003 (#5004)
* Fix java.lang.NullPointerException for username in ContributionBoundaryCallback
* Fix failing tests
* Update Room DB Version (#5011)
* Fix#5001 (#5010)
* Fix DB update issue (#5016)
* [WIP] Fix both timezone problem and saved date problem (#5019)
* Fix both timezone problem and saved date problem
* Fixaccidental test code and add comments
* Add issue link to the comments
* Fix format issue and null checks
* Versioning for v4.0.2
* Changelog for v4.0.2
* Add "Report Violation" menu option (#5025)
* Add "Report Violation" menu option
* Update email template
* Update email address
* Fixed typo
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
* Versioning for v4.0.3
* Changelog for v4.0.3
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Started from welcome layout to main layout adding content descriptions
* Adds UI description section to strings.xml and adds a few content descrpitions
* Consolidates UI strings to top of file
* fixes nearby typos
* Removes content descriptions that clash with pr #4766
* Removes unused elements and reverts out-of-scope changes
* Restores pic-of-the-day content description
Co-authored-by: joshuamccluskey <jpiff57@gmail.com>
The original algorithm uses comma to separate descriptions which causes bugs when there are comma inside description.
The algorithm is changed to repeatedly matching string patterns of `{{languageCode|desciption}}`
* Fixed#4906 : Peer review: "thank the contributor" should show snackbar instead of notification
* changes the snackbar to toast
* added the tests
* minor changes
* minor changes - 2
* Add map fragment for explore and search
* Create structure of explore map by defining view and user action interfaces to presenter
* Add methods to map start, bottom sheet and permission
* Make the simple map visible
* Imitate methods from nearby map for permission needed and non needed map initialisation operations, however, needs to be tested and reactor
* a level of abstraction
* update media params to include coordinates
* Implement pageable presenter to explore
* Create Root fragment for map and media
* Iplement two presenter one for map operations, the other for pageable operations
* Construct general structure for both explore with search query and just by location
* fix injection issue
* Make default explore work with zoom level
* increase offscreen page limit with newly added fragment
* Make two distinct api calls for search with and without query
* Before trying to use same presenter for both search with and without query
* Add notes for Madhur
* Add Madhur's fixes for binding
* Call serch with and without query from the same spot
* partially solve zoom issue
* Make tab view unswipble while map is being used on search activity
* make viewpager unswipable while map is being used
* Code cleanup and reverting unnecessry edits
* Add search this area methods
* Implement search this area button functionality
* Fix search this area button, current location FAB and bottom attribution UI elements
* Add marker click action
* Solve bookmarkdao injection issue
* Make display bottom sheet details on marker click
* remove label and set bottom sheet behavior
* Remove irrelevan buttons like wikidata and article buttons
* Cancel bookmark feature for commons images for know, needs to be thought
* Add search this area button
* Add location off dialog
* Implement back button for explore map fragment while not on search activity
* Make thumbnails visible, they need some styling though
* Make gridle views even more beautiful
* Remove classes added to support query
* Remove query related code from Reach Activity
* Solve two progressbar issue
* Remove query related ekstra codes
* Remove not needed anymore callback
* Make medai details work
* Remove all old removed code dependencies
* Solve initial load takes too long issue
* Solve current position track
* Add placeholder for possible load issues
* Add red stroke to bitmap
* Add borders to rectangles
* Change media details text to details
* Fix file name extension anf File: prefix
* Fix some code style issues
* Fix some style issues
* Fix style issues
* Fix build issue
* Fix test about etMediaListFromSearch
* Fix test issue with Seacrh Activity
* Fix conflict mark
* Entry to new UI
* Getting existing categories
* Hidden categories managed
* Category edit updated
* Category Edition implemented
* Java docs added
* Java docs added
* Java docs added
* Previous UI discarded
* Test added
* More test added
* More test added
* More test added
* More test added
* More java docs added
* Minor changes
* added required changes
* Fixed#4808 : Added the feature of opening last opened screen between Contribution & NearBy
* removed the unnecessary commits
* removed the unnecessary commits
* removed the unnecessary commits
* removed the unnecessary commits
* added test
* comments added
* Fixed - #4844 : [Bug]: In peer review, deletion proposal is sent even if no reason is chosen
* Minor Changes
* Minor Fixes
* added required changes
* added required changes - 1
* Added Test For OK Button
* Minor Fixes
* Display toast and disable API in LeaderboardFragment beta flavor
* Display toast and disable API in AchievementsFragment beta flavor
* Removed unused Gravity import
* Added Toast appearance tests for AchievementsFragment
* Added Toast appearance tests for LeaderboardFragment
* Improve Context detection in Achievements+Leaderboard fragments to ensure Context found for Toast
* Add testOnCreateView for AchievementsFragment
* LocationPickerActivityUnitTests.kt class created
* Unit tests for LocationPickerActivity
* Unit tests for LocationPickerActivity
* Added verify
* verify added
* Minor changes
* Covered more lines
* Covered more lines
* addCredits test added
* Fixed#4793 : Remove the need to tap "Next" again
* Fixed#4793 : Remove the need to tap "Next" again
* Fixed#4793 : Remove the need to tap "Next" again, Added Changes
* Run instrumentation tests on CI and generate unified coverage report
* Fix ci
* Fix failing tests and use mac machine for HAXM
* Fix failing tests
* Fix coverage failure
* Try with ubuntu latest
* Change API level to 23
* Fix Failing Test
* Add prod APK generator workflow back
* Fixed the issue #4806: Now, "Location Not Found" pop appears only one time
* Fixed the issue #4806: solved the small bug related to popups warning
* Fixed the issue #4806: solved the small bug of : Location Not Found Pop Up
* Fixed the issue #4806: solved the small bug of : Location Not Found Pop Up
* Fixed the issue #4806: solved the small bug of : Location Not Found Pop Up
* .github: move pull request template into .github directory
This keeps it out of the root directory. The main intention is
that keeping it out-of-root helps give it less attention which
is enough for the template.
* .github: add a issue form template for the app
This is based on the exisitng issue template of the app. It has
some additional tweaks done to update stale information.
* .github: add some more issue templates
* Location wizard
* Location wizard
* Minor fix
* message changed
* Test fail fixed
* Test fail fixed
* Test fail fixed
* last location triggered
* last location added
* Some test added
* Java docs added
* More java docs added
* Fixes#4732 Show alert dialog card for sharing personal detail submission via email when clicking on feedback menu.
* Show alert dialog card for sharing personal detail submission via email when clicking on feedback menu when user is logged in.
Add javadoc for the new methods
Update alert dialog message.
* Dialog can't be dismissed
* Dialog can't be dismissed
* Nearby Place dialog can remember user preference
* Minor change
* Minor change
* Renamed the map
* initial changes
* add search feature for selecting language
* add search feature for selecting language
* upload issue fix
* minor improvement
* added test and updated settings language selection ui
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* classes
* Almost done
* All done but build fail
* All done but build fail
* Modifications
* Modifications
* Fixed
* string resource
* minor change
* Maintained code conventions
* Moving
* Exception handled
* id name changed
* Test fail fixed
* Bookmark is available from other activities
* Test fail fixed
* Documentation error fixed
* Test added
* Revert Project_Default.xml
* Minor Change
* Revert changes
* Dialog can't be dismissed
* Dialog can't be dismissed
* Suggest users to turn on camera location
* Added safety pattern
* Title removed
* Changed constant
* unformatted search text field for depicts and categories search field of upload wizard
* fix tests by declaring search text field of type PasteSensitiveTextInputEditText
* Added feature for advanced query options in Nearby
* Fix unit-tests coverage
* wip-tests
* Added log to identify if the nearby request is via an advanced query
* Rolledback test-dependency updates
* Fix tests
* build fix
* Added basic tests for relevant method in OkHttpJsonApiClient & NearbyController
* Added NearbyParentFragmentPresenter Tests
* Added AdvancedQueryFragment Unit Tests
* Added more tests for NearbyParentFragmentPresenter
* Reset ContributionsFragment with Upstream
* Overload method loadNearbyPlaces for CustomQuery
* Added more tests
* Added more tests
* Fixed tests for NearbyParentFragmentPresenter
* Changed hardcoded "More" to getStrings(R.string.more) for Unlogged user
- MainActivity toolbar showed "More" when clicked on More options
in other language than English
* Changed hardcoded "More" to getStrings(R.string.more) for Logged user
- MainActivity toolbar showed "More" when clicked on More options
in other language than English
* Added test for: MainActivity.setUpPager
* Pasted text is now unformatted for caption and description
* Removed other branch contribution
* Added test
* Rename .java to .kt
* Test from Java to Kotlin; +small fix
* PasteSensitiveTextInputEditTextTest - updated
Fixes#4372
What changes did you make and why?
Increased number of leaderboard records fetched in a single request from API
**Tests performed (required)**
Tested ProdDebug on Pixel 4 XL with API level 31.
* [Contributions-Tab] Scroll to top on NavBar Button Pressed
On NavBar Contributions Button pressed, if already on the Contributions tab,
scroll to the top of the recyclerView in ContributionsListFragment.
* [UnitTest][Contributions-Tab] Scroll to Top on NavBar Button Pressed
* Changed hardcoded "More" to getStrings(R.string.more) for Unlogged user
- MainActivity toolbar showed "More" when clicked on More options
in other language than English
* Changed hardcoded "More" to getStrings(R.string.more) for Logged user
- MainActivity toolbar showed "More" when clicked on More options
in other language than English
* Added test for: MainActivity.setUpPager
* Changed import statements from junit.framework to org.junit
* Replced deprecated assertequals for 2 doubles by adding a third parameter delta. Used hamcrest.MatcherAssert instead of junit.Assert
* Added multi-file picker functionality for the WLM
* Added multi-file picker functionality for the WLM
* Added multi-file picker functionality for the WLM
* Added multi-file picker functionality for the WLM
We don't do anything about these ones, and they just clutter the logs making important stuff much harder to find (as agreed in #2823 and #4077).
We already use IntelliJ's inspections feature to replace the need for this.
* Cherry-Picked NPE fix from master (#4569)
* Fix notification bug #4547 (#4570)
* Make Single Query for Nearby and WLM pins (#4573)
* Merge nearby and monument queries
* Bug Fix- query resource path change on shouldQueryForMonuments
* Bug Fixes
1. Propagate exceptions for nearby API calls to caller
2. Fix too much work on main thread exception in NearbyParentFragment
* Modify parameters for Nearby query
* Bug fix- current location marker (#4580)
* Move WLM template below geolocation template (#4582)
* Modify string for WLM upload notice
* Fix bug #4583 (#4591)
* Fix bug #4585 by updating kotlin and acra version (#4592)
* Fixes#4554 - only use WLM2021 template for countries that are included in it (#4574)
* Fixes#4554
1. For WLM uploads reverse geo code and see if the country code is supported -only then is the WLM upload flow triggered, otherwise usual nearby uploads happen
2. Bug Fix - Current Location marker and area
* Fixed compile error added after rebasing
* Bug fix for country code in reverse geo code
* Update WLM camaign dates [Do not merge now, merge only after alpha release] (#4584)
* Updates dates for WML campaign
* Bug fix- campaign dates
* Fixed logic for WLM enablement - stick to the month of September
* Add countries supported by WLM2021 template, except Italy
* Versioning for v3.1.0
* Update changelog.md
* Fix empty default lang bug (#4608)
* Fix bug #4583
* Fix empty default lang bug
* Fixes#4595 - Updated nearby query (#4622)
* Fixes#4595 - Updated nearby query
* Removed logic to replace local language in nearby query - that might acccidentally replace other strings
* Fetch property location in usual nearby query
* Remove duplicate line (#4626)
* Change "learn more" link to new wiki
* Add Sweden's P3426 to property filter
* Fixes#4601 - 1. Handle possible exceptions in upload file from stash 2. Modify MWException, as error is nullable, update getTitle and getMessage to rever that (#4627)
* Versioning for v3.1.1
* Update changelog.md
* Updated DB version to rever integrity
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* [GSoC] Master rebase. (#4505)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* merge fix
* rebase fix
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* [GSoC] Custom Selector Tests (#4494)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Folder Fragment test
* Folder Fragment test done
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* Folder Fragment test
* Folder Fragment test done
* Fragment test complete
* Added Custom Selector View Model Test
* ImageFileLoaderTest
* Update strings.xml
* Custom Selector Activiy test
* Image Loader Test
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* Image Loader Improvements (#4516)
* ImageLoader Test Updated (#4517)
* [GSoC] Improvement and bug Fixes (#4522)
* Improvement and bug Fixes
* fixed ellipsize
* Saving selector state (#4526)
* [GSoC] Saved Image Fragment Scroll State (#4528)
* Saved Image Fragment Scroll State
* Fix delete image
* Fixed Delete bug
* Changed custom selector icon
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* [GSoC] Master rebase. (#4505)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* merge fix
* rebase fix
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* [GSoC] Custom Selector Tests (#4494)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Folder Fragment test
* Folder Fragment test done
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* Folder Fragment test
* Folder Fragment test done
* Fragment test complete
* Added Custom Selector View Model Test
* ImageFileLoaderTest
* Update strings.xml
* Custom Selector Activiy test
* Image Loader Test
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* Image Loader Improvements (#4516)
* ImageLoader Test Updated (#4517)
* [GSoC] Improvement and bug Fixes (#4522)
* Improvement and bug Fixes
* fixed ellipsize
* Saving selector state (#4526)
* [GSoC] Saved Image Fragment Scroll State (#4528)
* Saved Image Fragment Scroll State
* Fix delete image
* Fixed Delete bug
* Changed custom selector icon
* rebase fix
* Tests updated (#4538)
* orientation fixed (#4540)
* refractoring (#4541)
* refractoring (#4545)
* [GSoC] Welcome Dialog (#4546)
* Welcome Dialog
* Condition Fix
* Orientation, back button Fix
* [GSoC] Image preview (#4559)
* Image preview
* refractor
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* [GSoC] Master rebase. (#4505)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* merge fix
* rebase fix
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* [GSoC] Custom Selector Tests (#4494)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Folder Fragment test
* Folder Fragment test done
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* Folder Fragment test
* Folder Fragment test done
* Fragment test complete
* Added Custom Selector View Model Test
* ImageFileLoaderTest
* Update strings.xml
* Custom Selector Activiy test
* Image Loader Test
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* Image Loader Improvements (#4516)
* ImageLoader Test Updated (#4517)
* [GSoC] Improvement and bug Fixes (#4522)
* Improvement and bug Fixes
* fixed ellipsize
* Saving selector state (#4526)
* [GSoC] Saved Image Fragment Scroll State (#4528)
* Saved Image Fragment Scroll State
* Fix delete image
* Fixed Delete bug
* Changed custom selector icon
* rebase fix
* [GSoC] Master rebase. (#4505)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Fixes#3694 Pre-select places as depictions (#4452)
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Typo fixes (#4461)
* Fixed typo on class documentation of TextUtils
* corrected comma placement in documentation
* Fixed typos in comments
* fix-issue-4424 (#4445)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix edit categories ui (#4414)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fix doom version issue (#4463)
* Update db version
* DBOpenHelper version update
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* Fixes#4437 - Changed indentation on files with 2 spaces to 4 spaces (#4462)
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* Use more understandable strings (#4470)
* Fix#3792 Missing Column Issue (#4468)
* Fix Missing Column Issue
* Fix tests
* Add UploadCategoriesFragment Unit Tests (#4473)
* Panorama (#4467)
* panoramic images fixed
* made requested changes
* Minor refactoring
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
* Localisation updates from https://translatewiki.net.
* Main activity title is sometimes "Contributions", sometimes "Commons" (#4472)
Fixes#4438 Replace == with equals() in onRestoreInstanceState
* Localisation updates from https://translatewiki.net.
* caption and description copyable (#4481)
* Removed next button in quiz (#4382)
* issues resolved
* modification done
* warning fixed
* issues resolved
* Button added
* don't know function added
* Button added
* modification done
* modification done
* Localisation updates from https://translatewiki.net.
* Added option to show and modify location while uploading (#4475)
* initial commit
* Everything done
* minor modification
* minor modification
* Issues fixed
* minor modifications
* issue fixed
* Issues fixed
* Tutorial removed from log out state (#4479)
* tutorial removed from log out state
* Issue removed
* Update changelog.md
* Versioning for v3.0.2
* Fix#4482 (#4484)
* Fix crash when image resolution is very high (#4483)
* Localisation updates from https://translatewiki.net.
* Add Contributions Fragment Unit Tests (#4490)
* Fix Tests Errors (#4491)
* Add UploadMediaDetailFragment Unit Tests (#4492)
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* [GSoC] Image Selection (#4457)
* Localisation updates from https://translatewiki.net.
* Fixes#4357 After switching to different account, contributions screen shows pictures of previous account (#4421)
* 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>
* Remove unnecessary whitespace from a message (#4439)
* Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* Localisation updates from https://translatewiki.net.
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Added a feature for editing coordinates (#4418)
* not
* Place Picker added
* Pick location and API call linked
* minor warnings resolved
* Code conventions followed
* issue fixed
* Wikitext edited properly
* minor modification
* Location Picker added
* Bottom sheet removed
* Location picker fully implemented
* credit added
* credit added
* issues fixed
* issues fixed
* minor issue fixed
* Some build issues occured merging release v3.0 are fixed. One paranthesis issue is solved, a method about UploadService is removed, since we don't use it anymore. (#4451)
* Localisation updates from https://translatewiki.net.
* Fixes 4344 - Duplicate Uploads (#4442)
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Image selection added
* Forwarded activity result to upload wizard
* Initialised xmls, made folder and image item.
* xmls done
* xmls completed
* removed unwanted attribute
* Created models, adapters and view models (#4441)
* created models, adapters and view models
* Added Image Fragment
* back button linked
* Documentation and refractor
* spaces
* Butterknife annotation
* DiffUtil
* Added Examples
* Extended Custom selector From Base Activity
* made view model injectable
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* Image selection added
* Forwarded activity result to upload wizard
* [GSOC] Added Image Fetch (#4449)
* Added basic Fetch
* added permission request
* Folder count rectified
* Loaded thumbnail
* disabled overlay
* Added sha1 function
* Documented the code
* fixed merge errors
* Documented the remaining function
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
* [GSoC] Show uploaded images differently. (#4464)
* uploaded images shown differently
* Loaded images before query
* Handled exceptions, Made ImageLoader injectable, Document and clean code
* [GSoC] Added Uploaded status table in room database. (#4476)
* added Uploaded status table in room database
* Added unique property, minor refractoring
* Database intigrated
* Database integrated
* Handled result null exception
* Exceptions handled and refractored
* Introduced constants
* moved to sealed class
* No database insert on network error
* queried original image
* documented the code
* Updated uploaded status on upload success
* Image Helper test (#4485)
* [GSoC] Adapter Tests (#4488)
* Added FolderAdapterTest
* Image Adapter Test
* merge fix
* rebase fix
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* Tests updated (#4538)
* orientation fixed (#4540)
* refractoring (#4541)
* refractoring (#4545)
* [GSoC] Welcome Dialog (#4546)
* Welcome Dialog
* Condition Fix
* Orientation, back button Fix
* [GSoC] Image preview (#4559)
* Image preview
* refractor
* update database version
* remove duplicates
Co-authored-by: Aditya Srivastava <iamaditya2009@gmail.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
Co-authored-by: obsidian-zero <63155026+obsidian-zero@users.noreply.github.com>
Co-authored-by: Obsidian_zero <1198474846@qq.com>
Co-authored-by: Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
Co-authored-by: Ayan Sarkar <71203077+Ayan-10@users.noreply.github.com>
Co-authored-by: Brigham Byerly <6891883+byerlyb20@users.noreply.github.com>
Co-authored-by: Jamie Brown <jamiejbrown521@gmail.com>
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: Ashar <asharalikhan200@gmail.com>
* Integrate WLM
- Show monuments in maps along with nearby
* BugFix in Monuments
1. Single preference for monuments and campaigns
2. Expand collapse chips container in nearby
3. Typo fix in Monuments card in Nearby
4. If a nearby place is a monument as well - do not show them separately, show it as a monument instead
5. Bug fix, monument radius, use the same one as that of nearby
* More bug fixes
1. Possible NPE in nearby
2. Added column location_address in BookmarkLocationDao
3. Bug Fix - Display Date in WLM card
4. WLM card on click takes to nearby
* Use lowercase country code in WLM uploads
* Bug-Fix, WLM Campaign Icon
* 1. Updated monuments query to use any of the following properties for monuments - [P1435, P2186, P1459, P1460, P1216, P709, P718, P5694] 2. Append WikiData QID to descriptions template
* Updated WLM Banner String, Handle NPE in contributions callback
* Added nearby-monuments query log lines
* Handle WLM Query exception : - if an exception is thrown in WLM query, continue showing the nearby items if that succeeds
* Fix BookmarkLocationDaoTest
* Added Column Address in BookmarkLocationDaoTest
* Use fallback description as usual nearby pins even for WLM pins, instead of relying on P6375
* Test fix in BookmarkLocationDao
* Updated template for WLM, removed redundant feilds
* Fixed WLM template
* Removed categories from WLM template
* Fixed BookmarkControllerTest
* Fixed BookmarkLocationFragmentUnitTest
* fix ModelFunctions
* Fixed BookmarksDaoLocationTest
* Fixed WLM template
* #4005 For images in set removed if user selected one image
* #4005 changed code as suggested
* fixed syntax
* added javadoc
* added more java doc
* refactored to more meaningful documentation
* reverted the Project.xml file
* cleaned documentations a little bit
* Edited Project.xml to make indent size 4
* Changed files with 2 space indentation to use 4 space indentation
* Edited Project.xml to make indent size 4
* changed files with 2 space indent to 4 space indent
* fix :Back Pressed Event not work in Explore tab when user not login (#4404)
* fix :Back Pressed Event not work in Explore tab
* minor changes
* fix :Upload count or number of contribution does not get updated when media is successful uploaded (#4399)
* * fix:Number of Contributions not updated
* Add javadocs
* minor changes
* made minor changes
* String was nonsense and untranslatible, fixed (#4466)
* Ability to show captions and descriptions in all entered languages (#4355)
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
Co-authored-by: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
* implement Ability to show captions and descriptions in all entered languages
*Add Javadoc
* handle Back event of fragment(mediaDetailFragment)
* fix minor bugs
* add internationalization
* revert previous changes
* fix visibility bug
* resolve conflict
* WikidataEditService: stop automatically adding WikidataPlace as a depiction
When the user initiates the upload process from Nearby and also manually adds the place as a depiction, the depiction is added twice. Since this behavior is invisible to the user, it is being removed in preparation for auto-selecting the place as a depiction on the DepictsFragment screen.
* DepictsFragment: auto-select place as a depiction
Pass the Place reference from UploadActivity to DepictsFragment and select the corresponding DepictedItem. Using the place id, retrieve the corresponding Entity to create and select a DepictedItem.
* UploadRepository: use Place from UploadItem to obtain a DepictedItem
Instead of passing a Place object from UploadActivity to DepictsFragment and then passing the Place object up the chain to obtain and select a DepictedItem, retrieve the Place object directly within UploadRepository
* DepictsFragment: select Place depiction when fragment becomes visible
* UploadDepictsAdapter: make adapter aware of selection state
Update selection state when recycled list items are automatically selected, preventing automatically selected items from appearing as unselected until they are forced to re-bind (i.e. after scrolling)
* DepictsFragment: pre-select place depictions for all UploadItems
If several images are selected and set to different places, pre-select all place depictions to reinforce the intended upload workflow philosophy (i.e. all images in a set are intended to be from/of the same place). See discussion in commons-app/apps-android-commons#3694
* DepictsFragment: scroll to the top every time list is updated
* Fixes 4344
- Update the retention policy of the Work Manager to ExistingWorkPolicy.APPEND_OR_REPLACE- which would append the new work to the end of existing one. This helps remove the while loop in UploadWorker which was meant to handle the cases where a new worker would be created for retries. The while loop seemed to have race conditions uploading duplicate entries.
* Update states to IN_PROGRESS before uploads are processed
* Versioning and changelog for v3.0.0 (#4152)
* Versioning for v3.0.0
* Update changelog.md
* Handled migration 8-9-10 in BookmarksLocationDao (#4154)
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* #Fixes #4141
- Handled migrations for BookmarkLocationsDao from 8-9-10
* Fixes#4179 (#4180)
* Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked()
* Updated >ContributionsFragment#backButtonClicked() to handle back press properly
* Fixes#4179 (#4181)
* Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed()
* Cherrypick for hotfix3.1 (#4205)
* Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
Fixes#4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list.
* fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146)
* fixed bug:app crashes on viewing review in Review Fragment #4135
* Fixed the issue with back button in contribution tab. (#4177)
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Fixed the issue with back navigation button on toolbar in explore tab. (#4175)
* Fix (#4148) Issues on theme change
* fixed themeChange crashes
* fixed comments
* Overlooked the title bar
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
* Fixes#4173 (#4396)
* Fix#4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390)
* Update query to fetch descriptions
* Make description added to NearbyResultItem
* Make string operations to display description and label in a combined way
* Fix reviews, remove long description from list and swap label and description texts
* Fix repeated information issue
* Fix double information issue
* fix style issues
* Remove douplicated information
* Changes made (#4354)
* Remove nonexistent method
* Fix#4283 IllegalStateException (#4440)
* Fix#4283 IllegalStateException
* Fix flickering issue
* Versioning for v3.0.1
* Update changelog.md
Co-authored-by: Ashish <ashishkumar468@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com>
Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com>
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
* 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>
* fix issue with nominating for deletion
* Fix UI issue
* minor improvements
* fix App crash
* Added Javadoc and other minor improvements
* Updated string name
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fix the issue with contributions not appearing after logging in again
* fix old contribution appearing on top
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* * show MediaDetailFragment in ReviewActivity on image click
* Add javadoc
* Reformated code of ReviewActivity xml
* fix typos
* add unit test
* made minor changes
* 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
* Simplify peer review button text (#3376)
The lengthy button text was not showing correctly, discussions concluded
that the button texts could be simplified to just "yes" or "no". To ensure
code read-ability, the buttons were renamed. Also made slight code style
adjustments to ReviewImageFragment.java and fragment_review_image.md.
Bug: #3376
* Remove string translate file changes from patch
* fix issue with item with endtime shown as existing
* Removed destroyed and endtime, Added comments and also fixed the broken tests
* minor fix
* Added comments
* fix no such column location_exists error
* minor improvement
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* fixes issue with depiction names in random languages
* minor change
* using if conditions to check
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Added ability to access nearby tab without location permissions
* added ability to remember user choice if the permission is denied.
* fixed the issue with permission dialog box in contribution tab.
* changed name for stored variables
* minor change
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* #fixes-4143
In ReviewActivity overrides two function-> onResume() and onPause()
* Fixed the Bug-#4143
* reformed the codechange
* reformed the codechange
* Add javadoc
* Add javadoc
* fix-Incomplete Nearby List shown in Landscape mode (#2270)
* fix-Incomplete Nearby List shown in Landscape mode (#2770)
* added the setLayoutParams() method
* reformed the codechange
Description (required)
Fixes commons-app#4161
In the comments of the class PageEditClient.java "@param pagetitle" is written in three areas in this file. It should have been "@param pageTitle" with capital T as pageTitle is being passed as an argument rather than pagetitle.
What changes did you make and why?
Changes are made in the comments of fil where the parameters for Observable method are stated. pagetitle has been changed to pageTitle as the correct argument passed. This change would increase the code readability for fellow developers.
type:Bug # Retained to categorize the issue as per organization-level type
body:
- type:markdown
attributes:
value:|
- Before creating an issue, please search the existing issues to see if a similar one has already been created.
- You can search issues by specific labels (e.g. `label:nearby`) or just by typing keywords into the search filter.
- type:textarea
attributes:
label:Summary
description:Summarize your issue (what goes wrong, what did you expect to happen)
validations:
required:true
- type:textarea
attributes:
label:Steps to reproduce
description:How can we reproduce the issue?
placeholder:|
1. Have the app open..
2. Go to..
3. Click on..
4. Observe..
validations:
required:true
- type:textarea
attributes:
label:Expected behaviour
placeholder:A menu should open..
validations:
required:true
- type:textarea
attributes:
label:Actual behaviour
placeholder:The app closes unexpectedly..
validations:
required:true
- type:markdown
attributes:
value:|
# Device information
- type:input
attributes:
label:Device name
description:What make and model device did you encounter this on?
placeholder:Samsung J7
validations:
required:false
- type:input
attributes:
label:Android version
description:What Android version (e.g., Android 6.0 Marshmallow or Android 11) are you running? Is it the stock version from the manufacturer or a custom ROM ?
placeholder:Android 10
validations:
required:true
- type:input
attributes:
label:Commons app version
description:You can find this information by clicking the right-most menu in the bottom navigation bar in the app and tapping 'About'. If you are building from our codebase instead of downloading the app, please also mention the branch and build variant (e.g. `master` and `prodDebug`).
placeholder:3.1.1
validations:
required:true
- type:textarea
attributes:
label:Device logs
description:Add logcat files here (if possible). Need help? See "[Getting app logs from Android Studio](https://commons-app.github.io/docs.html#getting-app-logs-from-android-studio)".
validations:
required:false
- type:textarea
attributes:
label:Screenshots
description:Add screenshots related to the issue (if available). Can be created by pressing the Volume Down and Power Button at the same time on Android 4.0 and higher.
validations:
required:false
- type:dropdown
attributes:
label:Would you like to work on the issue?
description:Please let us know whether you want to fix the issue by yourself. If not, anyone can get the issue assigned to them.
- Please do your best to search for duplicate issues before filing a new issue so we can keep our issue board clean.
- Every issue should have exactly one feature request described in it. Please do not file feedback list tickets as it is difficult to parse them and address their individual points.
- Feature Requests are better when they’re open-ended instead of demanding a specific solution e.g:“I want an easier way to do X” instead of “add Y”.
- type:textarea
attributes:
label:What is the user problem or growth opportunity you want to see solved?
validations:
required:false
- type:textarea
attributes:
label:How do you know that this problem exists today? Why is this important?
- Before creating an issue, please search the existing issues to see if a similar one has already been created.
- You can search issues by specific labels (e.g. `label:nearby`) or just by typing keywords into the search filter.
- type:textarea
attributes:
label:Feedback
description:Share your feedback about the app.
validations:
required:true
- type:input
attributes:
label:Wiki username
placeholder:Jimbo Wales
validations:
required:false
- type:markdown
attributes:
value:|
# Device information
- type:input
attributes:
label:Device name
description:What make and model device did you encounter this on?
placeholder:Samsung J7
validations:
required:false
- type:input
attributes:
label:Android version
description:What Android version (e.g., Android 6.0 Marshmallow or Android 11) are you running? Is it the stock version from the manufacturer or a custom ROM ?
placeholder:Android 10
validations:
required:false
- type:input
attributes:
label:Commons app version
description:You can find this information by clicking the right-most menu in the bottom navigation bar in the app and tapping 'About'. If you are building from our codebase instead of downloading the app, please also mention the branch and build variant (e.g. `master` and `prodDebug`).
* Addressed a bug that prevented the keyboard from appearing in various text fields, such as on the upload wizard
* Links in the "File usages" list are now clickable and will take you to the correct page.
* Titles for file usages are now clearer and easier to understand
* Bug fixes and stability improvements
## v6.0.1
### What's changed
* The app now supports Android 15 with an improved user interface
* Enhanced Nearby with robust and more reliable labels
* Bug fixes and stability improvements
## v5.6.1
### What's changed
* The app no longer uploads images to Wikidata if one exists already for a given item
* File usage displays correctly now
* No more infinite circular progress bar on nominating an image for deletion
* Enhanced location updates while using GPS
* Author/uploader names are now available in Media Details for Commons licensing compliance
* Improved usage of popups in Nearby
* Bug fixes and stability improvements
## v5.5.0
### What's changed
* Explore images will now be shown based on the map location and not at your current location
* Enhanced Wikidata feedback message
* Green labels in Explore map will no longer be hidden by other pins thumbnails
* Upload wizard's language drop-down now reflects the language used in the pin label
* Users can now pick only one image at a time while using the custom selector
* Bug fixes and stability improvements
## v5.4.1
### What's changed
* Custom picker now detects images that are already available on Commons
* Improve credit line in image list
* Show place cards with loaded names only in the Nearby list
* Fix the error that occurs while loading images in Explore
## v5.3.0
### What's changed
* Enable EmailAuth support
* Explore map images no longer show "Unknown"
* Fix crash when removing last two images of multiupload
* Mark ❌ for closed locations (P3999) in Nearby
* Fix two pin labels staying visible at the same time in Explore map
* Refactoring and minor UI improvements
## v5.2.0
v5.2.0 boasts several new functionalities like:
* A new refresh button lets you quickly reload the Nearby map
* Bookmarks now support categories
* Improved feedback and consistency in the user interface
* Bug fixes and performance improvements
### What's changed
* Implement "Refresh" button to clear the cache and reload the Nearby map.
* `CommonsApplication` migrate to kotlin & some lint fixes.
* Revert back to MainScope for database and UI updates and make database operations thread safe.
* Hide edit options for logged-out users in Explore screen.
* Introduced a button to delete the current folder in custom selector.
* Improve Unique File Name Search.
* Migration of several modules from Java to Kotlin.
* Fix modification on bottom sheet's data when coming from Nearby Banner and clicked on other pins.
* Bug fixes and enhancement of Achievements screen.
* Show where file is being used on Commons and other wikis.
* Migrate android.media.ExifInterface to androidx.exifinterface.media.ExifInterface as android.media.ExifInterface had security flaws on older devices.
* Make dialogs modal and always show the upload icon.
* Fix unintentional deletion of subfolders and non-images by custom selector.
* Bookmark categories.
* Add pull down to refresh in the Contributions screen.
* Fix race condition and lag when loading pin details, faster overlay management.
* Show cached pins in Nearby even when internet is unavailable
Full changelog with the list of contributors: [`v5.1.2...v5.2.0`](https://github.com/commons-app/apps-android-commons/compare/v5.1.2...v5.2.0).
## v5.1.2
### What's changed
* Fix the broken category search in the explore screen
## v5.1.1
### What's changed
* Use Android's new EXIF interface to mitigate security issues in old
EXIF interface.
* Make the icon that helps view the upload queue always visible as it ensures
that the queue accessible at all times.
## v5.1.0
### What's Changed
* Enhanced **upload queue management** in the Commons app for smoother, sequential
processing, clearer progress tracking, prevention of stuck or duplicate
uploads. As part of this improvement, the "Limited Connection mode" has been
removed.
* Added an option in "Nearby" feature enabling users to **provide feedback on
Wikidata items**. Users can report if an item doesn’t exist, is at a different
location, or has other issues, with submissions tagged for easy tracking and
updates.
* Improved the "Nearby" feature by splitting the query into two parts for faster
loading and **better performance, especially in areas with dense amount of
places**. This update also resolves issues with pins overlapping place names.
* Upgraded AGP and **target/compile SDK to 34** and make necessary adjustments to
the app such as adding **"Partial Access" support**. Also includes some minor
refactoring, and replacement of deprecated circular progress bars.
* Fixed an **UI issue where the 'Subcategories' and 'Parent Categories' tabs
appeared blank** in the Category Details screen. Resolved by optimizing view
binding handling in the parent fragments.
* Fixed an issue where editing depictions removed all other structured data from
images. Now, **only depictions are updated, preserving other associated data**.
* Fixed **map centering** in the image upload flow to **use GPS EXIF tag location**
from pictures and ensured "Show in map app" accurately reflects this location.
* Fixed navigation **after uploading via Nearby by directing users to the Uploads
activity** instead of returning to Nearby, preventing confusion about needing to
upload again.
### Bug fixes and various changes
* Improved the "Nearby" feature to fetch labels based on the user's preferred
language instead of defaulting to English.
* Added a legend to the "Nearby" feature indicating pin statuses: red for items
without pictures, green for those with pictures, and grey for items being
checked. A floating action button now allows users to toggle the legend's
visibility.
* Fixed an issue where the "Nominate for deletion" option is shown to logged out
users, preventing app errors and crashes.
* Updated the regex pattern that filters categories with an year in it to also
filter the 2020s.
* Fix an issue where past depictions were not shown as suggestions, despite
being saved correctly.
* Fixed an issue in custom image picker where exiting the media preview showed
only the first image and cleared selections. Now, previously selected images
are restored correctly after exiting the preview. This was contributed.
* Fixed an issue in custom image picker where scrolling behavior did not
maintain position after exiting fullscreen preview, ensuring users remain at
the same point in their image roll unless actioned images are filtered. This
was contributed.
* Fixed Nearby map not showing new pins on map move by removing the 2000m scroll
threshold and adding an 800ms debounce for smoother pin updates when the map
is moved. Queued searches are now canceled on fragment destruction.
* Revised author information retrieval to emphasize the custom author name from
the metadata instead of the default registered username.
* Enhanced notification classification to properly identify "email" type
notifications and prompting users to check their e-mail inbox when such
notifications are clicked.
* Resolved a bug in the language chooser that incorrectly greyed-out previously
selected languages, ensuring only the current language is non-selectable during
image upload.
* Resolved pin color update issue in "Nearby" feature where the pin colour
failed to be updated after a successful image upload.
What's listed here is only a subset of all the changes. Check the full-list of
the changes in [this link](https://github.com/commons-app/apps-android-commons/compare/v5.0.2...v5.1.0).
Alternatively, checkout [this release on GitHub releases page](https://github.com/commons-app/apps-android-commons/releases/tag/v5.1.0)
for an exhaustive list of changes and the various contributors who contributed the same.
## v5.0.2
- Enhanced multi-upload functionality with user prompts to clarify that all images would share the
same category and depictions.
- Show Wikidata description on currently active Nearby pin to provide more useful information.
- Improve the visibility of map markers by dynamically adjusting their colors based on the app's
theme. The map markers will now appear lighter when the app is in dark mode and darker when the
app is in light mode. This change aims to enhance marker visibility and improve the overall user
experience.
- Added information on where user feedback is posted, helping users track existing feedback and
monitor their own submissions.
- Enhanced the edit location screen of the upload screen by centering the map on the picture's
location from metadata when editing, or on the device's GPS location if metadata is unavailable,
improving accuracy and user experience.
- Ensured the 'Add Location' button is renamed to 'Edit Location' when copying the location of a
recently uploaded image, enhancing clarity and user experience.
- Added a ProgressBar to the media detail screen to indicate image loading status, enhancing user
experience by showing loading progress until the image is fully loaded.
- Fixed an issue where caption and description fields would intermittently disappear when using
voice input, ensuring text remains visible and stable across all entries.
- Fixed a crash that occurred when attempting to remove multiple instances of caption/description
fields after initially adding them.
- Improve the text in the prompt shown when skipping login to sound more natural.
- Modified feedback addition logic to append new sections at the bottom of the page, ensuring
auto-archiving of sections functions correctly on the feedback page.
- Resolved issue where the app failed to clear cookies upon logout.
## v5.0.1
Same as v5.0.0 except this fixes some R8 rules to ensure that the release
variants of the app work as intended.
## v5.0.0
### What's Changed
- Redesigned the map feature to **replace Mapbox with the osmdroid library**.
Key elements like pin visualization and user-centered display are still
included in this redesign. This is done to guard against possible misuse of
the Mapbox token and, more crucially, to keep the app from becoming dependent
on a service that charges for usage but offers a free tier.
With this change, the app retrieves the map tiles from [Wikimedia maps](https://maps.wikimedia.org).
- Add the ability to **export locations of nearby missing pictures in GPX and
KML formats**. This allows users to browse the locations with desired radius
for offline use in their favourite map apps like OsmAnd or Maps.me, enhancing
accessibility and offline functionality.
- **Limited the uploads via the custom image picker** to a maximum of 20.
- Added two menu choices for **transparent image backgrounds**, giving users the
option of either a black or white background, increasing adaptability to
various theme settings.
User customization option has been provided with the
ability to save background color selections permanently on a per image basis.
- Implemented functionality to **automatically resume uploads** that become
stuck due to app termination or device reboot.
- Added a **compass arrow in the Nearby banner** shown in the "Contributions"
screen to guide users towards the nearest item, thus providing the missing
directional cues. The arrow dynamically adjusts based on device rotation,
aligning with the calculated bearing towards the target location. Further,
the distance and direction are updated as the user moves.
- Implemented **voice input feature** for caption and description fields,
enabling users to dictate text directly into these fields.
- Improved various flows in the app to **redirect users to the login page** and
display a persistent message **if their session becomes invalid** due to a
password change, enhancing user guidance and security measures.
### Revamps and refactorings
- **Revamped initial upload screen layout and the description edit screen layout**
for enhanced user experience and ensuring better symmetry in the design.
- **Replaced Butterknife with ViewBinding** in various places of the app.
- Transferred essential code from **the redundant data-client module** to the
main Commons app code, enabling its integration and facilitating the removal
of the redundant module. Further, convert various parts of the code to Kotlin.
- **Revamped the various location permission flows** to ensure consistency for
the sake of a better user experience.
### Bug fixes and various changes
- Resolved an issue where paused uploads that were subsequently cancelled were
still being uploaded.
- Fixed an issue where some user information such as upload count were not
displayed in the "Contributions" and "Profile" screens.
- Fixed the long-standing broken *"Picture of the Day" widget* to restore its
usability.
- Resolved an issue where some categories were hidden at the top of Upload
Wizard suggestions.
- Resolved an issue where there was a grey empty screen at Upload wizard when
the app was denied the files permission.
- Implemented logic to bypass media in Peer Review if the current reviewer is
also the user who uploaded the media.
- Corrected arrow image behaviour in the first upload screen: now displays down
arrow when details card is fully visible, aligning with expected user
interaction.
- Updated app icon to improve visibility and recognition on F-Droid.
- Fixed issue causing all pictures to disappear and activity to reload fully in
the custom image selector after marking a picture as 'not for upload', now
ensuring only the selected picture is removed as expected.
What's listed here is only a subset of all the changes. Check the full-list of
the changes in [this link](https://github.com/commons-app/apps-android-commons/compare/v4.2.1...v5.0.0).
Alternatively, checkout [this release on GitHub releases page](https://github.com/commons-app/apps-android-commons/releases/tag/v5.0.0)
for an exhaustive list of changes and the various contributors who contributed the same.
## v4.2.1
- Provide the ability to edit an image to losslessly rotate it while uploading
- Fix a bug in v4.2.0 where the nearby places were not loading
- Fix a bug where editing depictions was showing a progress bar indefinitely
- In the upload screen, use different map icons to indicate if image is being uploaded with location
metadata
- For nearby uploads, it is no longer possible to deselect the item's category and depiction
- The Mapbox account key used by the app has been changed
- Category search now shows exact matches without any discrepancies
- Various bug and crash fixes
## v4.2.0
- Dark mode colour improvements
- Enhancements done to address location metadata loss including the metadata loss that occurs in
latest Android versions
- Enhancements done to address the issue where uploads get stuck in queued state
- Fix the inability to upload via the in-app camera option
- Provide the ability to optionally include location metadata for in-app camera uploads in case the
device camera app does not provide location metadata
- Use geo location URL that works consistently across all map applications
- Fix crash when clicking on location target icon while trying to edit the location of an upload
- Fix crash that occurs randomly while returning to the app after leaving it in the background
- Fix crash in Sign up activity on Android version 5.0 and 5.1
- Android 13 compatibility changes
## v4.1.0
- Location of pictures uploaded via custom picture selector are now recognized
- Improvements to the custom picture selector
- Ensure the WLM pictures are associated with the correct templates for each year
- Only show pictures uploaded via app in peer review
- Improve the variety of images show in peer review
- Allow going to current location in location edit dialog while uploading a picture
- Switch to using MapLibre instead of Mapbox and thereby disable telemetry sent to Mapbox
- Fixed various bugs
## v4.0.5
- Bumped min SDK to 29 to try and solve Google policy issue
- Reverted dialog
- Note: This encompasses versions 1031, 1032, and 1033, due to the Play Store's requirements to overwrite all the tracks with a post-fix version (otherwise no single track can be published)
## v4.0.4
- Added dialog for Google's location policy
## v4.0.3
- Added "Report" button for Google UGC policy
## v4.0.2
- Fixed bug with wrong dates taken from EXIF
- Fixed various crashes
## v4.0.1
- Fixed bug with no browser found
- Updated Mapbox SDK to fix hamburger crash
## v4.0.0
- Added map showing nearby Commons pictures
- Added custom SPARQL queries
- Added user profiles
- Added custom picture selector
- Various bugfixes
- Updated target SDK to 30
## v3.1.1
- Optimized Nearby query
- Added Sweden's property for WLM 2021
- Added link to wiki explaining how to contribute to WLM through app
- Fixed various bugs and crashes
## v3.1.0
- Added Wiki Loves Monuments integration for WLM 2021
## v3.0.2
- Fixed crash when uploading high res image
- Fixed crash when viewing images in Explore
## v3.0.1
- Pre-fill desc in Nearby uploads with Wikidata item's label + description
- Improved ACRA crash reporting
- Fixed various crashes
## v3.0.0
- Added Structured Data to upload workflow, users can now add depicts
- Added Leaderboard in Achievements screen
- Added to-do system for images with no categories/descriptions or with associated Wikipedia articles that have no pictures
- Users can now modify and add categories to their uploads from the media details view
- New UI for main screen
- Limited connection mode added, users can now pause and resume uploads
Summarize your issue in one sentence (what goes wrong, what did you expect to happen)
_Before creating an issue, please search the existing issues to see if a similar one has already been created. You can search issues by specific labels (e.g. `label:nearby`) or just by typing keywords into the search filter._
**Steps to reproduce:**
How can we reproduce the issue?
What did you expect the app to do, and what did you see instead?
**System logs:**
```
Add logcat files here (if possible).
Need help? See https://github.com/commons-app/apps-android-commons/wiki/Getting-app-logs-from-Android-Studio
```
**Device and Android version:**
What make and model device (e.g., Samsung J7) did you encounter this on?
What Android version (e.g., Android 4.0 Ice Cream Sandwich or Android 6.0 Marshmallow) are you running?
Is it the stock version from the manufacturer or a custom ROM ?
**Commons app version:**
You can find this information by going to the navigation drawer in the app and tapping 'About'. If you are building from our codebase instead of downloading the app, please also mention the branch and build variant (e.g. master and prodDebug).
**Screen-shots:**
Can be created by pressing the Volume Down and Power Button at the same time on Android 4.0 and higher.
**Would you like to work on the issue?**
Please let us know whether you want to fix the issue by yourself. If not, anyone can get the issue assigned to them.
The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons. Download the app [here][1], or view our [website][2].
Initially started by the Wikimedia Foundation, this app is now maintained by grantees and volunteers of the Wikimedia community. Anyone is welcome to improve it, just choose among the [open issues][3] and send us a pull request :-)
Initially started by the Wikimedia Foundation, this app is now maintained by grantees and volunteers of the Wikimedia community. Anyone is welcome to improve it, just choose among the [open issues][3] and send us a pull request! :-)
<imgsrc="https://upload.wikimedia.org/wikipedia/commons/archive/9/96/20200131184248%21%22Get_it_on_F-droid%22_Badge.png"alt="Get it on F-Droid"height="90"/></a>
@ -13,7 +15,7 @@ Initially started by the Wikimedia Foundation, this app is now maintained by gra
## Documentation
We try to have an extensive documentation at our [documentation repository][4]:
Our [documentation repository][4] contains extensive documentation for users, contributors, and developers alike:
* [User Documentation][5]
* [Contributor Documentation][6]
@ -25,13 +27,14 @@ We try to have an extensive documentation at our [documentation repository][4]:
// To prevent leaked window when finish() is called, see http://stackoverflow.com/questions/32065854/activity-has-leaked-window-at-alertdialog-show-method