* 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
* * synced 2.10 with master * resolved merge conflicts
* merge 2.10 with master
* Updated language codes displayed for Hebrew, Indonesian and Yiddish (#2880)
* Function 'fixLanguageCode' encapsulated with unit tests (#2880)
* Renaming class "StringUtils" as "LangCodeUtils" and small String formatting improvement in "SpinnerLanguagesAdapter"
* Use previous Title/Description option added
* Update UploadActivity.java
* add previous title/description option modified
* declaration of Descripton object moved within the loop
* spinner position gets adjusted according to the description's language
* prev Title/Desc option for multiple upload added
* Tooltip for previous title/description button added
* UI and other resolved issues
* Beginnings of integration with Wikipedia client library. (#2642)
* Remove remaining unnecessary API version check.
* Roll up sleeves.
* Add and integrate the beginnings of app adapter.
* Remove vestigial event logging logic.
Event logging is no longer used in this app.
* Beginnings: remove StringUtils and associated redundancies.
* Remove redundant capitalize() method.
* Remove redundant urlEncode() method.
* Remove redundant (and incomplete) language lists.
* Remove redundant usages of SimpleDateFormat.
* Remove redundant json type adapter.
* Remove redundant MW error model classes.
* Rip out redundant MW model classes.
* Pass SessionManager into AppAdapter instead of injecting.
* Wire up more of the AppAdapter.
* Remove redundant Gson initialization and type adapters.
* Rip out PageTitle.
This was being used in some slightly incorrect/unexpected ways.
* Don't need static WikiSite.
* Bump data client library version
* Bump library version and fix build
* Fix tests
* Fix build
* Fix media of the day
* With fixes in recently modified APIs
* BugFix #2737
* Added a CustomProxy class which overrides the invocation handler to return approproate values for different datatypes
(cherry picked from commit f68d2e880074277b75a60b730dd63254239a8971)
* Added JavaDocs for CustomProxy
* Introduce Single<UploadResult>
* Two stage upload process
- split upload process and use stash
- resolve filename conflict after upload not before
- use NotificationManagerCompat; add notification tag; assign temporaty stash file name
As commit ab4fca5e does, this commit fixed the repeated notification
alarms in DeleteTask.class.
Since progress indication in notification can be cleared by calling
.setProgress(0,0,false) on notificationBuilder(As shown in DeleteTask.class).
This commit also refactored notification related code in UploadService.class.
Make progress and failed notification uses the same notificationBuilder.
* replaced icafe with metadata extractor
* replaced icafe with metadata extractor
* removed icafe from gradle
* removed icafe from gradle
* Revert: travis commented code
* Use original content URI
* merged pr
* commit after merge
* modified unit tests
Add setOnlyAlertOnce flag to NotificationCompat.Builder. This fixed
the issue that notification makes an alarm(beep) every time uploading
progress updated on some devices.
Also let UploadService.class reuse NotificationCompat.Builder as much
as possible(instead of creating a NotificationCompat.Builder every
time in method uploadContribution). And some small refactors.
* Use easy image for image picker
* Do not use harcoded mime type
* Use uploadable file for image uploads
* Add picker files in filepicker module
* Remove redundant checks for file
* Make usage of file extensions consistent
* Add javadocs
* Fix tests
* Enable image upload using bookmark activity
* Fix multiple uploads
* Fix external image uploads
* Fix chooser intents
* Fix image quality checks
* Segregate internal and external upload intents
* Invoke all error messages from one place
* Minor changes
* Fix tests
* Add image processing service tests
* Fix uploads getting stuck
* Fix test
* Use single instance of Gson across the app
* More logs to help debug upload failure
* Add request identifier
* wip
* Fix issues with image quality check dialogs
* Do not use an image array to store all bitmap pixels at once
* Extract image preprocessing to a different service and use computation thread
* Add java docs
* Cleanup code to remove temp file logic
* Add logs in upload flow
* Fix tests
* Fix more tests
* Use wrapper for accessing shared preferences across the app
* Use Json kv store for storing place object
* Fix tests
* Fix test failure
* Fix UI tests
* Use image picker to pick images for upload
* Consolidate storage permissions in Upload activity
* With proper request codes for image upload
* Use constants for upload limits
* Check for request code while handling requests
* Let fragment initiate the camera/gallery instead of activity
* Delete unused external storage utils
* Removed default license settings, and implemented selecting last selected license as default licence(#2170)
* Replace settings license tests with recent upload limit test