Skip to content

Overwrite happens #228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
nicolas-raoul opened this issue Aug 14, 2016 · 39 comments
Closed

Overwrite happens #228

nicolas-raoul opened this issue Aug 14, 2016 · 39 comments

Comments

@nicolas-raoul
Copy link
Member

Apparently this file was first uploaded, then 17 minutes later overwritten with what seems to be the same file:

https://commons.wikimedia.org/wiki/File:King_Long_bus_on_line_1034.jpeg#filehistory

Even if the second upload was a human error, I believe overwrite should not happen?

@misaochan
Copy link
Member

This is strange, whenever I upload images with the same filename, it doesn't overwrite but adds a number on to the end of the filename. Can you reproduce the bug?

@nicolas-raoul
Copy link
Member Author

nicolas-raoul commented Aug 14, 2016

I have not encountered this bug actually.

@nicolas-raoul
Copy link
Member Author

wow, that's pretty dangerous :-/
Easy way to accidentally deface many articles.

whym added a commit to whym/apps-android-commons that referenced this issue Aug 15, 2016
This might partially, but not fully, solve Issue commons-app#228 (accidental overwriting).
@whym
Copy link
Collaborator

whym commented Aug 15, 2016

@misaochan I looked into the stats and two cases were yours:

https://commons.m.wikimedia.org/wiki/File:Hanmer_springs_-_1.jpeg
https://commons.m.wikimedia.org/wiki/File:Hanmer_springs_-_2.jpeg

Another thing I noticed was that all the overwrites were ".jpeg" or ".png" - no ".jpg". Is there "jpg" specific code that needs to be generalized?

@whym
Copy link
Collaborator

whym commented Aug 16, 2016

I found a procedure to reproduce:

  1. Go to Gallery and multiselect two or more files.
  2. Share it as a set "TestUploadApp" (or whatever).
  3. Do 1 and 2 again (using the same set name).

The multi upload issue above should be fixed by #232. However, I see single uploads are also overwritten (see the first link of this issue), so I guess this bug is not completely solved yet.

@whym
Copy link
Collaborator

whym commented Aug 16, 2016

Here is the list of overwrites I have: overwrite_csv.txt. Do you see any patterns that indicate how they happened?

Several single-upload cases happened in this one month - at least we might want to try asking them.

@nicolas-raoul
Copy link
Member Author

Overwrites seemed to have stopped since August 2016, but it looks like they are back since November 2016:
http://tools.wmflabs.org/commons-app-stats/

@misaochan
Copy link
Member

Strange. The last release was 27th Oct, which only involved filtering years from the categories. I can't think of what might have caused this.

@whym
Copy link
Collaborator

whym commented Nov 16, 2016

I have looked at a few of the recent overwrites, the pattern seems to be repeated identical uploads to the same, new, own file.

https://commons.wikimedia.org/wiki/File:Marstadter_See_-_6.jpeg
https://commons.wikimedia.org/wiki/File:Dresdner_umland_NO_November_2016_-_17.jpeg
https://commons.wikimedia.org/wiki/File:Relic_bibi_ka_alam.jpeg
https://commons.wikimedia.org/wiki/File:Indian_rupee_de_monitisation.jpeg

Just a speculation, but does it have to do with unstable/interrupted network connection? Can we detect unstable connection somehow? Also, in the long term, maybe we want to provide an option of "Do not upload until connected to wifi" (=delayed upload).

Fortunately, I don't see recent cases of overwriting existing, unrelated files.

@whym
Copy link
Collaborator

whym commented Nov 16, 2016

I thought that specific bug deserves a separated issue and started it: "Prevent repeated uploads of the same image under the same file name #325"

@misaochan
Copy link
Member

Interesting. We can check if the device is connected to the internet via the ConnectivityManager class, but I think we would need to repeatedly call that throughout the duration of the upload if we wanted to prevent uploading with an unstable connection? The option to delay uploading until connected to wifi might be a better task to invest effort in IMO.

@nicolas-raoul
Copy link
Member Author

nicolas-raoul commented Nov 16, 2016

I don't think ConnectivityManager is necessary.

Just analyze the response of the HTTP server, that will tell you without a
doubt whether the query succeeded or failed.

If it failed, run the query again.

If it fails again, (maybe after a few retries), just give up and if
possible tell the user.

@misaochan
Copy link
Member

Someone else just encountered this issue at #230

Instead of adding the number only after the upload process has begun (which I think is the way it currently happens), is there a way to introduce an additional step where it happens before the upload process starts?

@whym
Copy link
Collaborator

whym commented May 30, 2017

A great idea. I made #703 - please feel free to edit the description and title.

@oe-bayram
Copy link

What is the current state of the issue?

@whym
Copy link
Collaborator

whym commented Nov 7, 2017

Personally i see this as a big, parent issue - as long as any overwrite happens, it will stay opened. We don't really know why many of the cases happen but they need to be prevented eventually.

At the same time, I think sub-issues with known concrete steps to reproduce can be opened. (e.g. "overwrite happens after X is done on Android version Y")

@nicolas-raoul
Copy link
Member Author

Incidentally the web-based Commons Upload Wizard also has an overwrite problem: https://phabricator.wikimedia.org/T179967

@nicolas-raoul
Copy link
Member Author

nicolas-raoul commented May 15, 2018

I reproduced the problem.

  1. I uploaded a picture,
  2. I reinstalled a slightly different version of the app
  3. I uploaded another picture under the same name
  4. The first picture got overwritten, see the history at https://commons.wikimedia.org/wiki/File:App_wikidata_test.jpeg

I have the whole logcat, please ask me if you want it.

@nicolas-raoul
Copy link
Member Author

The problem is still happening in 2.8.1, see for instance https://commons.wikimedia.org/wiki/File:Venner%C3%B8d_skole.jpeg

@nicolas-raoul
Copy link
Member Author

Still happening: https://commons.wikimedia.org/wiki/File:Okonomiyaki.jpeg

Note: Maybe it is only happening in the structured-data branch.

@gouri-panda
Copy link
Contributor

@nicolas-raoul Can i work on this issue?

@nicolas-raoul
Copy link
Member Author

@gouri-panda Yes, sure :-)
Please first try to reproduce on the master branch: Upload a picture, then a different one with the same title (caption), then let us know.
I suggest you use the "betaDebug" flavor when building the app.

@gouri-panda
Copy link
Contributor

@nicolas-raoul I tried to reproduce this issue but it can't reproduce on the master branch. It checks the page exists or not if it exists It just appends the title with a suffix number.

    private String findUniqueFilename(String fileName) throws IOException {
        String sequenceFileName;
        for (int sequenceNumber = 1; true; sequenceNumber++) {
            if (sequenceNumber == 1) {
                sequenceFileName = fileName;
            } else {
                if (fileName.indexOf('.') == -1) {
                    // We really should have appended a filePath type suffix already.
                    // But... we might not.
                    sequenceFileName = fileName + " " + sequenceNumber;
                } else {
                    Pattern regex = Pattern.compile("^(.*)(\\..+?)$");
                    Matcher regexMatcher = regex.matcher(fileName);
                    sequenceFileName = regexMatcher.replaceAll("$1 " + sequenceNumber + "$2");
                }
            }
            if (!mediaClient.checkPageExistsUsingTitle(String.format("File:%s",sequenceFileName)).blockingGet()
                    && !unfinishedUploads.contains(sequenceFileName)) {
                break;
            }
        }
        return sequenceFileName;
    }

I did it on the structured branch too, but it did the same thing there too.

@nicolas-raoul
Copy link
Member Author

Thanks for insvestigating!
I wonder how this happened...
Screen Shot 2020-04-13 at 16 07 49
@macgills do you remember how you uploaded the second okonomiyaki picture? Was it via Nearby? Thanks!

@macgills
Copy link
Contributor

It wouldn't have been through nearby, I was just getting your photos from Google Drive. I think I uploaded 2 separate pictures with the same title but I doubt I had disabled any checks during development

@misaochan
Copy link
Member

misaochan commented Apr 21, 2020

It seems that again all files are automatically converted to .jpeg, sometime between 8 April and 21 April (see https://commons.wikimedia.org/w/index.php?target=Misaochan2&namespace=all&tagfilter=&start=&end=&limit=50&title=Special%3AContributions - all these files should be the same format because they were taken with the same camera). I think that might be related to this issue. #228 (comment)

All the .jpegs were uploaded from structured-data branch though, and all the .jpgs were uploaded from other branches. Will need to test again currently on master and 2.13-release to see if the same problem happens.

@macgills
Copy link
Contributor

This is a structured data issue.
structured data code

        /**
         * Choose a filename for the media.
         * Currently, the caption is used as a filename. If several languages have been entered, the first language is used.
         */
        public String getFileName() {
            return uploadMediaDetails.get(0).getCaptionText();
        }

code on master

        public String getFileName() {
            return title
                    != null ? Utils.fixExtension(title.toString(), getFileExt()) : null;
        }

@macgills
Copy link
Contributor

@gouri-panda do you still want to work on this? If not I can take it over

@gouri-panda
Copy link
Contributor

@macgills sure,you can take it over.

@macgills macgills assigned macgills and unassigned gouri-panda Apr 21, 2020
macgills added a commit that referenced this issue Apr 22, 2020
* #3222 Merge master into Structured Data branch, fix conflicts (#3447)

* [WIP] Fixes #2942. Set 'depicts' automatically for images uploaded via 'Nearby'

* Feature/refractor uploads [WIP] (#2887)

* Fix duplicate param information (#2515)

* Bug fix issue #2476 (#2526)

* Added wikidataEntityID in all db versions, handled db.execSql via method runQuery

* Versioning and changelog for v2.10.2 (#2531)

* Update changelog.md

* Versioning for v2.10.2

* Update changelog.md

* Bugfix/issue 2580 (#2584)

* Corrected string placedholders in certain string files

* Corrected string placedholders in certain string files[Bug fix #2580]

* Bug Fix #2585 (#2647)

* Bug Fix #2585
* Added null checks on view in SearchImageFragment when updating views from external sources
* Disposed the disposables in SearchActivity and SearchImageFragment when no longer in active lifecycle

* use FragmentUtils to verify fragment active state

* Bug Fix issue #2648 (#2678)

* Bug Fix issue #2648
* Handled external storage permission before file download

* * Removed redudant check for permission in MediaDetailPagerFragment (Dexter already does that)
* Removed duplicate code in PermissionUtil$checkPermissionsAndPerformAction, used the existing function with conditional extra parameters

* string name typo correction

* BugFix issue #2652 (#2706)

* Addded null check on bookmark before operating on it

* BugFix issue #2711 (#2712)

* Added null checks in OkHttpJsonApiClient$searchImages MwQueryResponse

* BugFix #2718 (#2719)

* Handled null auth cookies

* Fix #2791: NPE when nominating for deletion and leaving screen (#2792)

* Bug Fix issue #2789 (#2790)

* Handled Illegal State Exception for non existent appropriate view parents in ViewUtils$showShortSnackbar

* BugFix #2720 (#2831)

BugFix deprecated licenes #2720

* ui fixes, wip, upload

* *Issue #2886, BugFix #2832[wip]
* updated UploadActivity code
* modified ui
* Updated UploadPresenterTest

* * updated interfaces names to follow names suffixed with Contract
* added test cases

* card view elevation

* view pager disabled swipe

* bug fix, duplicate image

* used existing non-swipable view pager

* Avoid image view resize with keyboard, added adjustPan and stateVisible as softinputMode for UploadActivity

* retain UploadBaseFragment instances on orientation changes

* * Added test cases for UploadMediaPresenter
* Injected io and main thread schedulers

* categories presenter test cased wip

* Added CategoriesPresenter test

* * Added the logic to show open map (with to be uploaded image's coordinates while uploading image)

* codacy suggested changes * added java docs

* Added travis_wait fot android-wait-for-emulator

* ranamed interface onResponseCallback to Callback

* * Added api to delete picture in UploadModel
* cleanUp in UploadModel. once upload has been initiated
* Removed unused methods from UploadModel and the corresponding test class

* * Added tests for UploadPresenter
* Travis suggested changes
* Addded copy previous title and description

* * Made the upload add descriptions visible when keyboard visible
* add description request focus only when user manually requests it

* Added JavaDocs, review suggested changes

* Fix dagger injection

* use DialogUtil to show info in descriptions

* use activity context for DialogUtil

* Minor changes

* refactored title

* ui for depicts

* bug fix

* basic architecture for depicts

* adde architecture components for depicts

* [WIP] ApacheHttpClientMediaWikiApi.wikidataEditEntity: JSON param creation uses object instead of string

* resolved dagger errors

* multilingual captions and next button error resolved

* fixed next button issues in depicts fragment

* captions and depicts

* resolved previous button click issues

* fixed bindview error and added multi-captions

* replaced description and caption with uploadmediadetail

* refactored few classes

* modified ui of depicts

* minor fixes

* Bug fix, reduced the add description edit text clickable bound (#2973)

* moved depicts before categories

* replaced previous filename with captions

* removed time from filename

* added depicts suggestions

* [WIP] Wikidata Sandbox (Q4115189) test

* changes layout of layout_upload_depicts

* changed layout of upload_depicts

* code stuck at IO_SCHEDULER

* labels and description for depicts activity

* Bugfix/uploads (#3000)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Fix memory leak (#3001)

* Bugfix/uploads (#3002)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Bugfix/uploads (#3011)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView

* bugfix/uploads (#3012)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView

* BugFix Illegal State Exception in ViewpPagerAdapter

* Remove irrelevant comment

* merge conflict with strings (#3016)

* [WIP] Fixed duplicated subscriprion for 'addPropertyP180'

* added documentation

* fixed issue #3006

* resolved issue #3004

* fixed issue with categoryPresenterTest.kt

* send captions as labels

* fixed issue with the captions

* optimised imports

* added upload for captions

* minor changes

* resolved issue with uploading captions

* resolved issue with api call

* uploading captions to wikibase

* added some tests and documentation

* undo formatting changes

* uploaded captions as labels to wikibase

* minor changes

* resolved error with spinner adpater

* adding captions to local database

* Fixed issue #3035

* fixed issue #3033

* fixed issue #3005

* fixed issue #3005

* added search for depicts

* fixed issue with compile time

* fixe issue with project build

* fixed issue #3044

* merged uploading depicts into branch

* uploading depicts

* rebased branch

* fixed crash due to depicts

* modified depicts interface

* Resolve merge conflicts

* Fix issues with API calls

* Use wikidata token

* searching depictions from depicts activity

* added some documentation and other changes

* fixed crash on selecting depictions

* sending wikidataentity id to upload depictions

* added changes after review

* Fixed issue with next button diabling in media detail activity

* added tests for depictions

* added all the unit tests and fixed few more issues

* showing captions in media details

* show captions in media details

* added documentations and worked upon review comments

* parsing response for depictions

* displaying captions and depiction QID in media detail

* added documentation

* fetching labels from QIDs

* captions working perfectly

* added documentations and code cleaning

* minor changes

* minor changes

* Showing items in explore

* added search via depicts in explore

* Added setOffscreenPageLimit in ViewPager

* show captions in explore

* show captions in home

* showing depict images under items

* added documentation and code refactoring

* enabled pagination in depiction search

* added some tests and media deatils in depiction detail activity

* fixed bug with back button in media

* fixed issue #3100

* fixed issue #3098

* fixed issue #3099

* fixed issue #3104 and #3098

* showing captions in place of title in home and explore:media

* show captions in explore:depiction image list activity

* showing depictions in media details

* showing depictions in media details in production flavor

* fixed issue #3108 and #3107

* fix isse #3108

* fixed issue #3110 and #3112

* fixed issue #3113

* added documentations

* fixed issue #3076 and #3109

* added depiction search test

* fixed issue #3113

* fixed issue #3111

* fixed issue #3106

* Showing items in explore

* minor change

* fixed issue #3118 and some other changes

* added MVP in searchdepictionsfragment

* added mvp architecture

* added MVP architecture to DepictedImagesDetailsActivity

* added documentation and some minor changes

* added image to depicted item in search depictions

* * Use callbacks from renderer to fetch thumbnails

* adding fresco to load image in depictions

* adding thumbnail image for depictions in upload and explore

* pagination issues

* fixed issue --(showing previous depiction thumbnail in explore)

* Fixed the logic for pagination

* hide progress on success of last page

* adding sub-items and parent items to search in explore

* minor changes for review comments

* fixed issue #3119

* fixed issue #3130

* changes after review comments

* showing child classes for depictions

* Showing child items

* showing parent classes for depicted items

* adding localised search for parent and child items

* clicking on any child class or parent class should call the corresponding class items

* fixed issue of showing wrong thumbnail for P18 item

* fixed issue #3132

* added test for DepictedImagesPresenter.java

* added unit tests for depicted items parent and child classes

* removed unused imports and code formatting

* fixed issue in search test

* deleting unnecessary .attach_pid9313 file

* deleting unnecessary .attach_pid9655 file

* added SearchDepictionsPresenterTest

* changes after review comments

* updates for review comments

* added more documentations

* removed unused code and classes and addressed spacing changes

* changes after review

* fixed build issues in the app

* worked on some review comments

* fixed issue:wrong thumbnail appears on wikidata item

* minor change

* worked on some review changes

* worked on review comments

* minor change

* addressed remaining review comments

* replaced hardcoded jpgs with pageIds to fetch captions

* added documentation

* removed hardcoded extensions and worked on review comments

* review comments

* [WIP] Added Depicts values for flavors

* [WIP] Minor fix

* [WIP] Minor fixes

* [WIP] Fixed URL

* [WIP] Fixed URLs and tokens

* Fixed MediaClient: added check for null in continuation store

* Fixed Media::from, changed return from null to new Media()

* [WIP] Merged with master

* Fix #3254 Displays a proper message in explore section when no result for caption

* Updated Mockito to org.mockito:mockito-inline:2.13.0

* [WIP] Fixed tests after merging

* [WIP] Fixed some JUnit tests

* Fixed 'accessing from wrong thread' error

* #3222 Delete manifest declaration of activity as fragment - stop casting MainActivity to CatgoryImagesCallback - fix tests

* Remove unit test not associated with any class - make CategoryPresenterTest more idiomatic

* fix compilation errors

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>

* #3482 Use Room in Structured Data branch - remove unused code (#3483)

* #3482 Use Room in Structured Data branch - remove unused code

* #3482 Use Room in Structured Data branch - fix unit test compilation

* #3482 Use Room in Structured Data branch - add kdoc

* #3490 Depiction Search in upload shows No Results before it gets results (#3491)

* #3482 Use Room in Structured Data branch - remove unused code

* #3482 Use Room in Structured Data branch - fix unit test compilation

* #3490 Depiction Search in upload shows No Results before it gets results - stop showing error on subscription

* #3490 Depiction Search in upload shows No Results before it gets results - update test cases

* make labels nullable too

* fix unit test compilation

* #3222 remove lingering reference to depiction content provider

* Fix Crash

* #3222 Merge master into Structured Data branch, fix conflicts - review fixes

* Fix method invocations

* #3529 Captions/depictions are not saved to Commons (#3574)

* #3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes

* #3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage

* #3529 Captions/depictions are not saved to Commons - fix test

* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs  (#3578)

* #3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes

* #3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage

* #3529 Captions/depictions are not saved to Commons - fix test

* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - replace title with the first MediaDetail

* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - restore button disabling

* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - fix nearby place

* fix thumbnail issue 3526 (#3617)

* #3222 Merge master into Structured Data branch, fix conflicts - fix bad merge

* #3529 Captions/depictions are not saved to Commons (#3588)

* #3529 Captions/depictions are not saved to Commons - update flow to update appropriate data

* #3529 Captions/depictions are not saved to Commons - fix invoking of setlabel

* #3529 Captions/depictions are not saved to Commons - fix unit tests

* #3529 Captions/depictions are not saved to Commons - use constant for @nAmed

* #3529 Captions/depictions are not saved to Commons - remove captions interface

* #3529 Captions/depictions are not saved to Commons - delete unused Contribution fields - enforce Single Responsibility by using PageContentsCreator

* #3529 Captions/depictions are not saved to Commons - prefix id with M - remove language from url and only add from Field

* #3529 Captions/depictions are not saved to Commons - make edits of depictions and captions sequential

* #3529 Captions/depictions are not saved to Commons - remove unused model fields

* #3529 Captions/depictions are not saved to Commons - weaken type of categories - copy list on Contribution creation

* #3529 Captions/depictions are not saved to Commons - mark Media fields private - weaken types - remove partly implemented fields

* #3529 Captions/depictions are not saved to Commons - add semi colon

* #3529 Captions/depictions are not saved to Commons - fix test

* Fix issue 3526 Unlike "Items" tab, "child classes" tab does not display description nor image thumbnail (#3619)

* fix thumbnail issue 3526

* Fix Description issue 3526

* revert changes on this file, not finished with it yet

* Fix Description for Child and Parent classes - issue 3526

* Remove conflict text in file

* Remove retrofit.HEAD import

* Incorporated review comments

* Fix issue 3137 (#3637)

* Fix issue 3137

* Remove import Timber

* Remove unnecessary space

* #3222 Merge master into Structured Data branch, fix conflicts - revert logging

* Fix build

* #3661 No Depictions Selected Dialog has reversed buttons - fix button order

* Revert "#3661 No Depictions Selected Dialog has reversed buttons - fix button order"

This reverts commit d8f9809.

* #3222 Merge master into Structured Data branch, fix conflicts - remove unused methods/fields

* #3661 No Depictions Selected Dialog has reversed buttons - fix button order (#3662)

* #3653 Many Mnull requests - stop requesting captions for null ids (#3657)

* #3653 Many Mnull requests - stop requesting captions for null ids

* #3653 Many Mnull requests - move log line

* #3633 [structured-data branch] In depictions selection screen, suggest nearby items  (#3650)

* #3633 [structured-data branch] In depictions selection screen, suggest nearby items - for empty search terms show nearby items for depictions

* #3633 [structured-data branch] In depictions selection screen, suggest nearby items - use linear radii progression to search for places

* #3666 Crash when uploading on structured-data branch - revert cleanup of UploadController (#3670)

* #3222 Merge Structured Data branch into master - fix caption rendering in new UI

* #3222 Merge Structured Data branch into master - upgrade retrofit + okhttp

* #3664 Stop using JsonObject on StructuredData (#3672)

* #3664 Stop using JsonObject on StructuredData - remove usage in Media classes - remove from depicts client - create partial network models

* #3664 Stop using JsonObject on StructuredData - allow partial mapping of polymorphic models by returning null in typeadapter

* #3664 Stop using JsonObject on StructuredData - use models for editing depicts property

* #3664 Stop using JsonObject on StructuredData - use models for sparql parent query

* #3664 Stop using JsonObject on StructuredData - fix unit test compilation

* #3664 Stop using JsonObject on StructuredData - unify sparql responses

* #3664 Stop using JsonObject on StructuredData - minor cleanup of misnamed/unused/too broad visibility

* #3664 Stop using JsonObject on StructuredData - share variable names and logic for the Sarql queries

* #3664 Stop using JsonObject on StructuredData - add error logging

* #228 Overwrite happens - fix extension of filename (#3689)

* #3675 Rename buttons of the dialog box shown when no depiction is selected - remove "yes, submit" and "no, go back" (#3688)

* #3680 Tip appears even when not tapping the (i) icon - use TextInputLayout EndIcons (#3683)

* #3680 Tip appears even when not tapping the (i) icon - use TextInputLayout EndIcons

* #3680 Tip appears even when not tapping the (i) icon - reaorder endIcon mode call so tinting is applied

* structured data - fix compilation

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>
Co-authored-by: vvijayalakshmi21 <34595292+vvijayalakshmi21@users.noreply.github.com>
ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue Oct 10, 2020
* commons-app#3222 Merge master into Structured Data branch, fix conflicts (commons-app#3447)

* [WIP] Fixes commons-app#2942. Set 'depicts' automatically for images uploaded via 'Nearby'

* Feature/refractor uploads [WIP] (commons-app#2887)

* Fix duplicate param information (commons-app#2515)

* Bug fix issue commons-app#2476 (commons-app#2526)

* Added wikidataEntityID in all db versions, handled db.execSql via method runQuery

* Versioning and changelog for v2.10.2 (commons-app#2531)

* Update changelog.md

* Versioning for v2.10.2

* Update changelog.md

* Bugfix/issue 2580 (commons-app#2584)

* Corrected string placedholders in certain string files

* Corrected string placedholders in certain string files[Bug fix commons-app#2580]

* Bug Fix commons-app#2585 (commons-app#2647)

* Bug Fix commons-app#2585
* Added null checks on view in SearchImageFragment when updating views from external sources
* Disposed the disposables in SearchActivity and SearchImageFragment when no longer in active lifecycle

* use FragmentUtils to verify fragment active state

* Bug Fix issue commons-app#2648 (commons-app#2678)

* Bug Fix issue commons-app#2648
* Handled external storage permission before file download

* * Removed redudant check for permission in MediaDetailPagerFragment (Dexter already does that)
* Removed duplicate code in PermissionUtil$checkPermissionsAndPerformAction, used the existing function with conditional extra parameters

* string name typo correction

* BugFix issue commons-app#2652 (commons-app#2706)

* Addded null check on bookmark before operating on it

* BugFix issue commons-app#2711 (commons-app#2712)

* Added null checks in OkHttpJsonApiClient$searchImages MwQueryResponse

* BugFix commons-app#2718 (commons-app#2719)

* Handled null auth cookies

* Fix commons-app#2791: NPE when nominating for deletion and leaving screen (commons-app#2792)

* Bug Fix issue commons-app#2789 (commons-app#2790)

* Handled Illegal State Exception for non existent appropriate view parents in ViewUtils$showShortSnackbar

* BugFix commons-app#2720 (commons-app#2831)

BugFix deprecated licenes commons-app#2720

* ui fixes, wip, upload

* *Issue commons-app#2886, BugFix commons-app#2832[wip]
* updated UploadActivity code
* modified ui
* Updated UploadPresenterTest

* * updated interfaces names to follow names suffixed with Contract
* added test cases

* card view elevation

* view pager disabled swipe

* bug fix, duplicate image

* used existing non-swipable view pager

* Avoid image view resize with keyboard, added adjustPan and stateVisible as softinputMode for UploadActivity

* retain UploadBaseFragment instances on orientation changes

* * Added test cases for UploadMediaPresenter
* Injected io and main thread schedulers

* categories presenter test cased wip

* Added CategoriesPresenter test

* * Added the logic to show open map (with to be uploaded image's coordinates while uploading image)

* codacy suggested changes * added java docs

* Added travis_wait fot android-wait-for-emulator

* ranamed interface onResponseCallback to Callback

* * Added api to delete picture in UploadModel
* cleanUp in UploadModel. once upload has been initiated
* Removed unused methods from UploadModel and the corresponding test class

* * Added tests for UploadPresenter
* Travis suggested changes
* Addded copy previous title and description

* * Made the upload add descriptions visible when keyboard visible
* add description request focus only when user manually requests it

* Added JavaDocs, review suggested changes

* Fix dagger injection

* use DialogUtil to show info in descriptions

* use activity context for DialogUtil

* Minor changes

* refactored title

* ui for depicts

* bug fix

* basic architecture for depicts

* adde architecture components for depicts

* [WIP] ApacheHttpClientMediaWikiApi.wikidataEditEntity: JSON param creation uses object instead of string

* resolved dagger errors

* multilingual captions and next button error resolved

* fixed next button issues in depicts fragment

* captions and depicts

* resolved previous button click issues

* fixed bindview error and added multi-captions

* replaced description and caption with uploadmediadetail

* refactored few classes

* modified ui of depicts

* minor fixes

* Bug fix, reduced the add description edit text clickable bound (commons-app#2973)

* moved depicts before categories

* replaced previous filename with captions

* removed time from filename

* added depicts suggestions

* [WIP] Wikidata Sandbox (Q4115189) test

* changes layout of layout_upload_depicts

* changed layout of upload_depicts

* code stuck at IO_SCHEDULER

* labels and description for depicts activity

* Bugfix/uploads (commons-app#3000)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Fix memory leak (commons-app#3001)

* Bugfix/uploads (commons-app#3002)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Bugfix/uploads (commons-app#3011)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView

* bugfix/uploads (commons-app#3012)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView

* BugFix Illegal State Exception in ViewpPagerAdapter

* Remove irrelevant comment

* merge conflict with strings (commons-app#3016)

* [WIP] Fixed duplicated subscriprion for 'addPropertyP180'

* added documentation

* fixed issue commons-app#3006

* resolved issue commons-app#3004

* fixed issue with categoryPresenterTest.kt

* send captions as labels

* fixed issue with the captions

* optimised imports

* added upload for captions

* minor changes

* resolved issue with uploading captions

* resolved issue with api call

* uploading captions to wikibase

* added some tests and documentation

* undo formatting changes

* uploaded captions as labels to wikibase

* minor changes

* resolved error with spinner adpater

* adding captions to local database

* Fixed issue commons-app#3035

* fixed issue commons-app#3033

* fixed issue commons-app#3005

* fixed issue commons-app#3005

* added search for depicts

* fixed issue with compile time

* fixe issue with project build

* fixed issue commons-app#3044

* merged uploading depicts into branch

* uploading depicts

* rebased branch

* fixed crash due to depicts

* modified depicts interface

* Resolve merge conflicts

* Fix issues with API calls

* Use wikidata token

* searching depictions from depicts activity

* added some documentation and other changes

* fixed crash on selecting depictions

* sending wikidataentity id to upload depictions

* added changes after review

* Fixed issue with next button diabling in media detail activity

* added tests for depictions

* added all the unit tests and fixed few more issues

* showing captions in media details

* show captions in media details

* added documentations and worked upon review comments

* parsing response for depictions

* displaying captions and depiction QID in media detail

* added documentation

* fetching labels from QIDs

* captions working perfectly

* added documentations and code cleaning

* minor changes

* minor changes

* Showing items in explore

* added search via depicts in explore

* Added setOffscreenPageLimit in ViewPager

* show captions in explore

* show captions in home

* showing depict images under items

* added documentation and code refactoring

* enabled pagination in depiction search

* added some tests and media deatils in depiction detail activity

* fixed bug with back button in media

* fixed issue commons-app#3100

* fixed issue commons-app#3098

* fixed issue commons-app#3099

* fixed issue commons-app#3104 and commons-app#3098

* showing captions in place of title in home and explore:media

* show captions in explore:depiction image list activity

* showing depictions in media details

* showing depictions in media details in production flavor

* fixed issue commons-app#3108 and commons-app#3107

* fix isse commons-app#3108

* fixed issue commons-app#3110 and commons-app#3112

* fixed issue commons-app#3113

* added documentations

* fixed issue commons-app#3076 and commons-app#3109

* added depiction search test

* fixed issue commons-app#3113

* fixed issue commons-app#3111

* fixed issue commons-app#3106

* Showing items in explore

* minor change

* fixed issue commons-app#3118 and some other changes

* added MVP in searchdepictionsfragment

* added mvp architecture

* added MVP architecture to DepictedImagesDetailsActivity

* added documentation and some minor changes

* added image to depicted item in search depictions

* * Use callbacks from renderer to fetch thumbnails

* adding fresco to load image in depictions

* adding thumbnail image for depictions in upload and explore

* pagination issues

* fixed issue --(showing previous depiction thumbnail in explore)

* Fixed the logic for pagination

* hide progress on success of last page

* adding sub-items and parent items to search in explore

* minor changes for review comments

* fixed issue commons-app#3119

* fixed issue commons-app#3130

* changes after review comments

* showing child classes for depictions

* Showing child items

* showing parent classes for depicted items

* adding localised search for parent and child items

* clicking on any child class or parent class should call the corresponding class items

* fixed issue of showing wrong thumbnail for P18 item

* fixed issue commons-app#3132

* added test for DepictedImagesPresenter.java

* added unit tests for depicted items parent and child classes

* removed unused imports and code formatting

* fixed issue in search test

* deleting unnecessary .attach_pid9313 file

* deleting unnecessary .attach_pid9655 file

* added SearchDepictionsPresenterTest

* changes after review comments

* updates for review comments

* added more documentations

* removed unused code and classes and addressed spacing changes

* changes after review

* fixed build issues in the app

* worked on some review comments

* fixed issue:wrong thumbnail appears on wikidata item

* minor change

* worked on some review changes

* worked on review comments

* minor change

* addressed remaining review comments

* replaced hardcoded jpgs with pageIds to fetch captions

* added documentation

* removed hardcoded extensions and worked on review comments

* review comments

* [WIP] Added Depicts values for flavors

* [WIP] Minor fix

* [WIP] Minor fixes

* [WIP] Fixed URL

* [WIP] Fixed URLs and tokens

* Fixed MediaClient: added check for null in continuation store

* Fixed Media::from, changed return from null to new Media()

* [WIP] Merged with master

* Fix commons-app#3254 Displays a proper message in explore section when no result for caption

* Updated Mockito to org.mockito:mockito-inline:2.13.0

* [WIP] Fixed tests after merging

* [WIP] Fixed some JUnit tests

* Fixed 'accessing from wrong thread' error

* commons-app#3222 Delete manifest declaration of activity as fragment - stop casting MainActivity to CatgoryImagesCallback - fix tests

* Remove unit test not associated with any class - make CategoryPresenterTest more idiomatic

* fix compilation errors

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>

* commons-app#3482 Use Room in Structured Data branch - remove unused code (commons-app#3483)

* commons-app#3482 Use Room in Structured Data branch - remove unused code

* commons-app#3482 Use Room in Structured Data branch - fix unit test compilation

* commons-app#3482 Use Room in Structured Data branch - add kdoc

* commons-app#3490 Depiction Search in upload shows No Results before it gets results (commons-app#3491)

* commons-app#3482 Use Room in Structured Data branch - remove unused code

* commons-app#3482 Use Room in Structured Data branch - fix unit test compilation

* commons-app#3490 Depiction Search in upload shows No Results before it gets results - stop showing error on subscription

* commons-app#3490 Depiction Search in upload shows No Results before it gets results - update test cases

* make labels nullable too

* fix unit test compilation

* commons-app#3222 remove lingering reference to depiction content provider

* Fix Crash

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - review fixes

* Fix method invocations

* commons-app#3529 Captions/depictions are not saved to Commons (commons-app#3574)

* commons-app#3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes

* commons-app#3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage

* commons-app#3529 Captions/depictions are not saved to Commons - fix test

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs  (commons-app#3578)

* commons-app#3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes

* commons-app#3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage

* commons-app#3529 Captions/depictions are not saved to Commons - fix test

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - replace title with the first MediaDetail

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - restore button disabling

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - fix nearby place

* fix thumbnail issue 3526 (commons-app#3617)

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - fix bad merge

* commons-app#3529 Captions/depictions are not saved to Commons (commons-app#3588)

* commons-app#3529 Captions/depictions are not saved to Commons - update flow to update appropriate data

* commons-app#3529 Captions/depictions are not saved to Commons - fix invoking of setlabel

* commons-app#3529 Captions/depictions are not saved to Commons - fix unit tests

* commons-app#3529 Captions/depictions are not saved to Commons - use constant for @nAmed

* commons-app#3529 Captions/depictions are not saved to Commons - remove captions interface

* commons-app#3529 Captions/depictions are not saved to Commons - delete unused Contribution fields - enforce Single Responsibility by using PageContentsCreator

* commons-app#3529 Captions/depictions are not saved to Commons - prefix id with M - remove language from url and only add from Field

* commons-app#3529 Captions/depictions are not saved to Commons - make edits of depictions and captions sequential

* commons-app#3529 Captions/depictions are not saved to Commons - remove unused model fields

* commons-app#3529 Captions/depictions are not saved to Commons - weaken type of categories - copy list on Contribution creation

* commons-app#3529 Captions/depictions are not saved to Commons - mark Media fields private - weaken types - remove partly implemented fields

* commons-app#3529 Captions/depictions are not saved to Commons - add semi colon

* commons-app#3529 Captions/depictions are not saved to Commons - fix test

* Fix issue 3526 Unlike "Items" tab, "child classes" tab does not display description nor image thumbnail (commons-app#3619)

* fix thumbnail issue 3526

* Fix Description issue 3526

* revert changes on this file, not finished with it yet

* Fix Description for Child and Parent classes - issue 3526

* Remove conflict text in file

* Remove retrofit.HEAD import

* Incorporated review comments

* Fix issue 3137 (commons-app#3637)

* Fix issue 3137

* Remove import Timber

* Remove unnecessary space

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - revert logging

* Fix build

* commons-app#3661 No Depictions Selected Dialog has reversed buttons - fix button order

* Revert "commons-app#3661 No Depictions Selected Dialog has reversed buttons - fix button order"

This reverts commit d8f9809.

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - remove unused methods/fields

* commons-app#3661 No Depictions Selected Dialog has reversed buttons - fix button order (commons-app#3662)

* commons-app#3653 Many Mnull requests - stop requesting captions for null ids (commons-app#3657)

* commons-app#3653 Many Mnull requests - stop requesting captions for null ids

* commons-app#3653 Many Mnull requests - move log line

* commons-app#3633 [structured-data branch] In depictions selection screen, suggest nearby items  (commons-app#3650)

* commons-app#3633 [structured-data branch] In depictions selection screen, suggest nearby items - for empty search terms show nearby items for depictions

* commons-app#3633 [structured-data branch] In depictions selection screen, suggest nearby items - use linear radii progression to search for places

* commons-app#3666 Crash when uploading on structured-data branch - revert cleanup of UploadController (commons-app#3670)

* commons-app#3222 Merge Structured Data branch into master - fix caption rendering in new UI

* commons-app#3222 Merge Structured Data branch into master - upgrade retrofit + okhttp

* commons-app#3664 Stop using JsonObject on StructuredData (commons-app#3672)

* commons-app#3664 Stop using JsonObject on StructuredData - remove usage in Media classes - remove from depicts client - create partial network models

* commons-app#3664 Stop using JsonObject on StructuredData - allow partial mapping of polymorphic models by returning null in typeadapter

* commons-app#3664 Stop using JsonObject on StructuredData - use models for editing depicts property

* commons-app#3664 Stop using JsonObject on StructuredData - use models for sparql parent query

* commons-app#3664 Stop using JsonObject on StructuredData - fix unit test compilation

* commons-app#3664 Stop using JsonObject on StructuredData - unify sparql responses

* commons-app#3664 Stop using JsonObject on StructuredData - minor cleanup of misnamed/unused/too broad visibility

* commons-app#3664 Stop using JsonObject on StructuredData - share variable names and logic for the Sarql queries

* commons-app#3664 Stop using JsonObject on StructuredData - add error logging

* commons-app#228 Overwrite happens - fix extension of filename (commons-app#3689)

* commons-app#3675 Rename buttons of the dialog box shown when no depiction is selected - remove "yes, submit" and "no, go back" (commons-app#3688)

* commons-app#3680 Tip appears even when not tapping the (i) icon - use TextInputLayout EndIcons (commons-app#3683)

* commons-app#3680 Tip appears even when not tapping the (i) icon - use TextInputLayout EndIcons

* commons-app#3680 Tip appears even when not tapping the (i) icon - reaorder endIcon mode call so tinting is applied

* structured data - fix compilation

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>
Co-authored-by: vvijayalakshmi21 <34595292+vvijayalakshmi21@users.noreply.github.com>
ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue Oct 10, 2020
* commons-app#3222 Merge master into Structured Data branch, fix conflicts (commons-app#3447)

* [WIP] Fixes commons-app#2942. Set 'depicts' automatically for images uploaded via 'Nearby'

* Feature/refractor uploads [WIP] (commons-app#2887)

* Fix duplicate param information (commons-app#2515)

* Bug fix issue commons-app#2476 (commons-app#2526)

* Added wikidataEntityID in all db versions, handled db.execSql via method runQuery

* Versioning and changelog for v2.10.2 (commons-app#2531)

* Update changelog.md

* Versioning for v2.10.2

* Update changelog.md

* Bugfix/issue 2580 (commons-app#2584)

* Corrected string placedholders in certain string files

* Corrected string placedholders in certain string files[Bug fix commons-app#2580]

* Bug Fix commons-app#2585 (commons-app#2647)

* Bug Fix commons-app#2585
* Added null checks on view in SearchImageFragment when updating views from external sources
* Disposed the disposables in SearchActivity and SearchImageFragment when no longer in active lifecycle

* use FragmentUtils to verify fragment active state

* Bug Fix issue commons-app#2648 (commons-app#2678)

* Bug Fix issue commons-app#2648
* Handled external storage permission before file download

* * Removed redudant check for permission in MediaDetailPagerFragment (Dexter already does that)
* Removed duplicate code in PermissionUtil$checkPermissionsAndPerformAction, used the existing function with conditional extra parameters

* string name typo correction

* BugFix issue commons-app#2652 (commons-app#2706)

* Addded null check on bookmark before operating on it

* BugFix issue commons-app#2711 (commons-app#2712)

* Added null checks in OkHttpJsonApiClient$searchImages MwQueryResponse

* BugFix commons-app#2718 (commons-app#2719)

* Handled null auth cookies

* Fix commons-app#2791: NPE when nominating for deletion and leaving screen (commons-app#2792)

* Bug Fix issue commons-app#2789 (commons-app#2790)

* Handled Illegal State Exception for non existent appropriate view parents in ViewUtils$showShortSnackbar

* BugFix commons-app#2720 (commons-app#2831)

BugFix deprecated licenes commons-app#2720

* ui fixes, wip, upload

* *Issue commons-app#2886, BugFix commons-app#2832[wip]
* updated UploadActivity code
* modified ui
* Updated UploadPresenterTest

* * updated interfaces names to follow names suffixed with Contract
* added test cases

* card view elevation

* view pager disabled swipe

* bug fix, duplicate image

* used existing non-swipable view pager

* Avoid image view resize with keyboard, added adjustPan and stateVisible as softinputMode for UploadActivity

* retain UploadBaseFragment instances on orientation changes

* * Added test cases for UploadMediaPresenter
* Injected io and main thread schedulers

* categories presenter test cased wip

* Added CategoriesPresenter test

* * Added the logic to show open map (with to be uploaded image's coordinates while uploading image)

* codacy suggested changes * added java docs

* Added travis_wait fot android-wait-for-emulator

* ranamed interface onResponseCallback to Callback

* * Added api to delete picture in UploadModel
* cleanUp in UploadModel. once upload has been initiated
* Removed unused methods from UploadModel and the corresponding test class

* * Added tests for UploadPresenter
* Travis suggested changes
* Addded copy previous title and description

* * Made the upload add descriptions visible when keyboard visible
* add description request focus only when user manually requests it

* Added JavaDocs, review suggested changes

* Fix dagger injection

* use DialogUtil to show info in descriptions

* use activity context for DialogUtil

* Minor changes

* refactored title

* ui for depicts

* bug fix

* basic architecture for depicts

* adde architecture components for depicts

* [WIP] ApacheHttpClientMediaWikiApi.wikidataEditEntity: JSON param creation uses object instead of string

* resolved dagger errors

* multilingual captions and next button error resolved

* fixed next button issues in depicts fragment

* captions and depicts

* resolved previous button click issues

* fixed bindview error and added multi-captions

* replaced description and caption with uploadmediadetail

* refactored few classes

* modified ui of depicts

* minor fixes

* Bug fix, reduced the add description edit text clickable bound (commons-app#2973)

* moved depicts before categories

* replaced previous filename with captions

* removed time from filename

* added depicts suggestions

* [WIP] Wikidata Sandbox (Q4115189) test

* changes layout of layout_upload_depicts

* changed layout of upload_depicts

* code stuck at IO_SCHEDULER

* labels and description for depicts activity

* Bugfix/uploads (commons-app#3000)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Fix memory leak (commons-app#3001)

* Bugfix/uploads (commons-app#3002)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Bugfix/uploads (commons-app#3011)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView

* bugfix/uploads (commons-app#3012)

* merged with master

* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active

* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel

* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java

* Added class level JavaDoc UploadRemoteDataSource

* Added class level JavaDoc for UploadRepository

* Added JavaDocs for ThumbnailsAdapter

* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter

* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search

* Attached image scale listener to upload media image

* Bug fix, reduced the add description edit text clickable bound

* Added tooltip in Title in UploadMediaFragment

* BugFix recent categories

* Updated test methods

* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView

* BugFix Illegal State Exception in ViewpPagerAdapter

* Remove irrelevant comment

* merge conflict with strings (commons-app#3016)

* [WIP] Fixed duplicated subscriprion for 'addPropertyP180'

* added documentation

* fixed issue commons-app#3006

* resolved issue commons-app#3004

* fixed issue with categoryPresenterTest.kt

* send captions as labels

* fixed issue with the captions

* optimised imports

* added upload for captions

* minor changes

* resolved issue with uploading captions

* resolved issue with api call

* uploading captions to wikibase

* added some tests and documentation

* undo formatting changes

* uploaded captions as labels to wikibase

* minor changes

* resolved error with spinner adpater

* adding captions to local database

* Fixed issue commons-app#3035

* fixed issue commons-app#3033

* fixed issue commons-app#3005

* fixed issue commons-app#3005

* added search for depicts

* fixed issue with compile time

* fixe issue with project build

* fixed issue commons-app#3044

* merged uploading depicts into branch

* uploading depicts

* rebased branch

* fixed crash due to depicts

* modified depicts interface

* Resolve merge conflicts

* Fix issues with API calls

* Use wikidata token

* searching depictions from depicts activity

* added some documentation and other changes

* fixed crash on selecting depictions

* sending wikidataentity id to upload depictions

* added changes after review

* Fixed issue with next button diabling in media detail activity

* added tests for depictions

* added all the unit tests and fixed few more issues

* showing captions in media details

* show captions in media details

* added documentations and worked upon review comments

* parsing response for depictions

* displaying captions and depiction QID in media detail

* added documentation

* fetching labels from QIDs

* captions working perfectly

* added documentations and code cleaning

* minor changes

* minor changes

* Showing items in explore

* added search via depicts in explore

* Added setOffscreenPageLimit in ViewPager

* show captions in explore

* show captions in home

* showing depict images under items

* added documentation and code refactoring

* enabled pagination in depiction search

* added some tests and media deatils in depiction detail activity

* fixed bug with back button in media

* fixed issue commons-app#3100

* fixed issue commons-app#3098

* fixed issue commons-app#3099

* fixed issue commons-app#3104 and commons-app#3098

* showing captions in place of title in home and explore:media

* show captions in explore:depiction image list activity

* showing depictions in media details

* showing depictions in media details in production flavor

* fixed issue commons-app#3108 and commons-app#3107

* fix isse commons-app#3108

* fixed issue commons-app#3110 and commons-app#3112

* fixed issue commons-app#3113

* added documentations

* fixed issue commons-app#3076 and commons-app#3109

* added depiction search test

* fixed issue commons-app#3113

* fixed issue commons-app#3111

* fixed issue commons-app#3106

* Showing items in explore

* minor change

* fixed issue commons-app#3118 and some other changes

* added MVP in searchdepictionsfragment

* added mvp architecture

* added MVP architecture to DepictedImagesDetailsActivity

* added documentation and some minor changes

* added image to depicted item in search depictions

* * Use callbacks from renderer to fetch thumbnails

* adding fresco to load image in depictions

* adding thumbnail image for depictions in upload and explore

* pagination issues

* fixed issue --(showing previous depiction thumbnail in explore)

* Fixed the logic for pagination

* hide progress on success of last page

* adding sub-items and parent items to search in explore

* minor changes for review comments

* fixed issue commons-app#3119

* fixed issue commons-app#3130

* changes after review comments

* showing child classes for depictions

* Showing child items

* showing parent classes for depicted items

* adding localised search for parent and child items

* clicking on any child class or parent class should call the corresponding class items

* fixed issue of showing wrong thumbnail for P18 item

* fixed issue commons-app#3132

* added test for DepictedImagesPresenter.java

* added unit tests for depicted items parent and child classes

* removed unused imports and code formatting

* fixed issue in search test

* deleting unnecessary .attach_pid9313 file

* deleting unnecessary .attach_pid9655 file

* added SearchDepictionsPresenterTest

* changes after review comments

* updates for review comments

* added more documentations

* removed unused code and classes and addressed spacing changes

* changes after review

* fixed build issues in the app

* worked on some review comments

* fixed issue:wrong thumbnail appears on wikidata item

* minor change

* worked on some review changes

* worked on review comments

* minor change

* addressed remaining review comments

* replaced hardcoded jpgs with pageIds to fetch captions

* added documentation

* removed hardcoded extensions and worked on review comments

* review comments

* [WIP] Added Depicts values for flavors

* [WIP] Minor fix

* [WIP] Minor fixes

* [WIP] Fixed URL

* [WIP] Fixed URLs and tokens

* Fixed MediaClient: added check for null in continuation store

* Fixed Media::from, changed return from null to new Media()

* [WIP] Merged with master

* Fix commons-app#3254 Displays a proper message in explore section when no result for caption

* Updated Mockito to org.mockito:mockito-inline:2.13.0

* [WIP] Fixed tests after merging

* [WIP] Fixed some JUnit tests

* Fixed 'accessing from wrong thread' error

* commons-app#3222 Delete manifest declaration of activity as fragment - stop casting MainActivity to CatgoryImagesCallback - fix tests

* Remove unit test not associated with any class - make CategoryPresenterTest more idiomatic

* fix compilation errors

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>

* commons-app#3482 Use Room in Structured Data branch - remove unused code (commons-app#3483)

* commons-app#3482 Use Room in Structured Data branch - remove unused code

* commons-app#3482 Use Room in Structured Data branch - fix unit test compilation

* commons-app#3482 Use Room in Structured Data branch - add kdoc

* commons-app#3490 Depiction Search in upload shows No Results before it gets results (commons-app#3491)

* commons-app#3482 Use Room in Structured Data branch - remove unused code

* commons-app#3482 Use Room in Structured Data branch - fix unit test compilation

* commons-app#3490 Depiction Search in upload shows No Results before it gets results - stop showing error on subscription

* commons-app#3490 Depiction Search in upload shows No Results before it gets results - update test cases

* make labels nullable too

* fix unit test compilation

* commons-app#3222 remove lingering reference to depiction content provider

* Fix Crash

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - review fixes

* Fix method invocations

* commons-app#3529 Captions/depictions are not saved to Commons (commons-app#3574)

* commons-app#3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes

* commons-app#3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage

* commons-app#3529 Captions/depictions are not saved to Commons - fix test

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs  (commons-app#3578)

* commons-app#3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes

* commons-app#3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage

* commons-app#3529 Captions/depictions are not saved to Commons - fix test

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - replace title with the first MediaDetail

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - restore button disabling

* commons-app#3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - fix nearby place

* fix thumbnail issue 3526 (commons-app#3617)

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - fix bad merge

* commons-app#3529 Captions/depictions are not saved to Commons (commons-app#3588)

* commons-app#3529 Captions/depictions are not saved to Commons - update flow to update appropriate data

* commons-app#3529 Captions/depictions are not saved to Commons - fix invoking of setlabel

* commons-app#3529 Captions/depictions are not saved to Commons - fix unit tests

* commons-app#3529 Captions/depictions are not saved to Commons - use constant for @nAmed

* commons-app#3529 Captions/depictions are not saved to Commons - remove captions interface

* commons-app#3529 Captions/depictions are not saved to Commons - delete unused Contribution fields - enforce Single Responsibility by using PageContentsCreator

* commons-app#3529 Captions/depictions are not saved to Commons - prefix id with M - remove language from url and only add from Field

* commons-app#3529 Captions/depictions are not saved to Commons - make edits of depictions and captions sequential

* commons-app#3529 Captions/depictions are not saved to Commons - remove unused model fields

* commons-app#3529 Captions/depictions are not saved to Commons - weaken type of categories - copy list on Contribution creation

* commons-app#3529 Captions/depictions are not saved to Commons - mark Media fields private - weaken types - remove partly implemented fields

* commons-app#3529 Captions/depictions are not saved to Commons - add semi colon

* commons-app#3529 Captions/depictions are not saved to Commons - fix test

* Fix issue 3526 Unlike "Items" tab, "child classes" tab does not display description nor image thumbnail (commons-app#3619)

* fix thumbnail issue 3526

* Fix Description issue 3526

* revert changes on this file, not finished with it yet

* Fix Description for Child and Parent classes - issue 3526

* Remove conflict text in file

* Remove retrofit.HEAD import

* Incorporated review comments

* Fix issue 3137 (commons-app#3637)

* Fix issue 3137

* Remove import Timber

* Remove unnecessary space

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - revert logging

* Fix build

* commons-app#3661 No Depictions Selected Dialog has reversed buttons - fix button order

* Revert "commons-app#3661 No Depictions Selected Dialog has reversed buttons - fix button order"

This reverts commit d8f9809.

* commons-app#3222 Merge master into Structured Data branch, fix conflicts - remove unused methods/fields

* commons-app#3661 No Depictions Selected Dialog has reversed buttons - fix button order (commons-app#3662)

* commons-app#3653 Many Mnull requests - stop requesting captions for null ids (commons-app#3657)

* commons-app#3653 Many Mnull requests - stop requesting captions for null ids

* commons-app#3653 Many Mnull requests - move log line

* commons-app#3633 [structured-data branch] In depictions selection screen, suggest nearby items  (commons-app#3650)

* commons-app#3633 [structured-data branch] In depictions selection screen, suggest nearby items - for empty search terms show nearby items for depictions

* commons-app#3633 [structured-data branch] In depictions selection screen, suggest nearby items - use linear radii progression to search for places

* commons-app#3666 Crash when uploading on structured-data branch - revert cleanup of UploadController (commons-app#3670)

* commons-app#3222 Merge Structured Data branch into master - fix caption rendering in new UI

* commons-app#3222 Merge Structured Data branch into master - upgrade retrofit + okhttp

* commons-app#3664 Stop using JsonObject on StructuredData (commons-app#3672)

* commons-app#3664 Stop using JsonObject on StructuredData - remove usage in Media classes - remove from depicts client - create partial network models

* commons-app#3664 Stop using JsonObject on StructuredData - allow partial mapping of polymorphic models by returning null in typeadapter

* commons-app#3664 Stop using JsonObject on StructuredData - use models for editing depicts property

* commons-app#3664 Stop using JsonObject on StructuredData - use models for sparql parent query

* commons-app#3664 Stop using JsonObject on StructuredData - fix unit test compilation

* commons-app#3664 Stop using JsonObject on StructuredData - unify sparql responses

* commons-app#3664 Stop using JsonObject on StructuredData - minor cleanup of misnamed/unused/too broad visibility

* commons-app#3664 Stop using JsonObject on StructuredData - share variable names and logic for the Sarql queries

* commons-app#3664 Stop using JsonObject on StructuredData - add error logging

* commons-app#228 Overwrite happens - fix extension of filename (commons-app#3689)

* commons-app#3675 Rename buttons of the dialog box shown when no depiction is selected - remove "yes, submit" and "no, go back" (commons-app#3688)

* commons-app#3680 Tip appears even when not tapping the (i) icon - use TextInputLayout EndIcons (commons-app#3683)

* commons-app#3680 Tip appears even when not tapping the (i) icon - use TextInputLayout EndIcons

* commons-app#3680 Tip appears even when not tapping the (i) icon - reaorder endIcon mode call so tinting is applied

* structured data - fix compilation

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>
Co-authored-by: vvijayalakshmi21 <34595292+vvijayalakshmi21@users.noreply.github.com>
@whym
Copy link
Collaborator

whym commented Feb 8, 2024

Looking at the list of files contributed (warning: large CSV), overwriting still happens. In fact, one recent case was done by @nicolas-raoul: https://w.wiki/97Gr - I assume this should have been prevented (=not intentionally caused while you were testing the app)? If so, do you have any idea how it happened?

EDIT: Sorry, I didn't notice it has "debug" tag in the app version; as long as it only happened in testing only, that would be fine. Here is another user's case, though, in this January: https://w.wiki/97HG .

@nicolas-raoul
Copy link
Member Author

@whym I uploaded this 瀧岩上橋 series with a very buggy version of the app. Thanks for finding the other ones though! Performing several multiuploads at the same time might be triggering it. What percentage are you seeing for version 4.2.1~14b6c455b, roughly?

@whym
Copy link
Collaborator

whym commented Feb 9, 2024

I believe all we had was the 4 cases above recently (since December 3 to be exact).

@nicolas-raoul
Copy link
Member Author

Created new issue focused on the current release: #5539

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants