* Sweeping update of gradle and library versions.
This updates all of the dependencies of the project to their latest
versions. Everyone should please upgrade to the latest version of Android
Studio, update your build tools, and keep your version of Gradle and the
Kotlin plugin up to date.
* Update build tools in travis.
* Remove cruft and fix tests.
* Remove even more stuff.
* Reinstate instrumented tests.
* Update emulator image in travis.
* Localisation updates from https://translatewiki.net.
* Work towards eliminating string literals from code. (#1861)
String literals are being used in many places in the code, instead of
proper string resources which are automatically localized. This PR
replaces many of the string literals with pre-packaged resources, or will
add the appropriate string if necessary.
* Add button on image details to copy wikicode to clipboard (#1849)
* Add button on image details to copy wikicode to clipboard
* Make copy wikicode button width the same as the nominate deletion button width by filling in background
* Build fix
* Enable ProGuard for Debug and Release builds.
This enables ProGuard minification, which significantly shrinks the APK
(for both debug and release configurations) and vastly decreases the
method count.
* Add ProGuard rules for test builds.
Vector drawables do *not* belong in dpi-specific subfolders. They should
always be placed in the general "res/drawable" folder. This can actually
cause crashes on certain devices.
* Add Traceur for getting meaningful RxJava stack traces (#1832)
* Hotfix for overwrite issue in 2.8.0 (#1838)
* This solution is an hotfix for overrite issue came back on 2.8.0 version. What I did is checking the extension, and if it is null, adding .jpg suffix. Because commons files always have suffixes, and we should compare file names after adding suffixes. Othervise overrides are possible.
* Check if file title includes an extension already, by checking if is there any dot in it.
* Fix logic error
* Add uncovered tests
* Remove unecessary line breaks
* Make Javadocs more explicit
* Versioning and changelog for v2.8.2 (#1842)
* Versioning for v2.8.2
* Changelog for v2.8.2
* Add logs in wiki data edit and session refresh flow (#1874)
* Fix logout (#1875)
* [WIP] Refactor feedback and quiz to reduce possibility of NPE (#1881)
* Refactor feedback and quiz to reduce possibility of NPE
* Handle throwables in quiz checker
* Minor refactoring
* Set Traceur to only work in DEBUG mode (#1884)
* Bug fix for uploaded images count in achievements activity (#1885)
* Versioning and changelog for v2.8.3 (#1886)
* Update changelog.md
* Versioning for v2.8.3
* improve the algorithm for checking if the image is dark.
ImageUtils.java: algorithm used previously gave the 'TOO DARK' message for images that were perfectly valid.
The modified algorithm solves this problem.
* Clean up the code
* Added views for button skipLogin in layout-land and layout-xLarge, bug fix issue#1864
* xml improvisations
* Fixed string nominated_see_more [CDATA was used inappropriately]
* Added permission for Dexter, the runtime permission handling library
* [Preparing fir issue #1773] Added a utility function which would take the user to app settings screen where he could manually give us the required permission
* Added an alert dialog with positive and negative callback [Preparing fir issue #1773]
* Improvements in the way External Storage Permission is handled in MultipleShareActivity[Bug fix#1697]
1. Used dexter to handle the external storage permission
2. Behaviour changes : When user tries to share(uppload) images to commons via MultipleShareActivity, following decision tree is followed
a. If the app has permission for external storage, normal upload operation is followed
b. If the app does not has the permission for external storage, dexter is used to ask for the same
c. If the user gives us the required permission, normal upload flow is proceeded
d. If the doesnot gives us the required permission a rationale dialog is shown with the appropriate message to let him know why we need the permission
e. If he presses okay, steps a-c are followed and if he presses cancel, we close the app.
f. If while asking for permission, the user chooses never ask again, then next time he tries to upload an image via MSA, the rational dialog follows the app setting screen where he could manually give us the required permission and the onActivityResult of same is handled
* Added a Constants class to handle request and result codes from one place and other related constants common to the all app elements
* replaced hardcoded strings ok and cancel in DialogUtil to string resources
* init permission rationale dialog in activities onCreate
* Code formatting, updated access modifiers wherever required, added javadocs for new methods created
* *shifted constants to app class
*Added JavaDocs in PermissionUtils
* removed class REQUEST_CODES from CommonsApplication and instead put the enclosing constants in the App class itself
* Fix issue#1772
Add the CDATA tag to welcome_help_button_text string. Set the text of the corresponding textview using Html.fromHtml() function.
* Fix issue#1772
Add the CDATA tag to nominated_see_more string. Set the text of the corresponding textview using Html.fromHtml() function.
* Eliminate the use of Picasso.
This gets rid of the single use of the Picasso library (which was causing
the whole library to be imported and shipped) and replaces it with Glide.
TODO: replace this and the other instance(s) of Glide usage with Fresco,
or vice versa.
* Remove dependency on Glide.
This removes the dependency on Glide, as well as the SVG rendering
library, whose only purpose was to display a single SVG image in the
Notification activity. Unfortunately Android doesn't support SVG natively,
but Echo notifications have icons that are SVG formatted. Rather than
import a bunch of heavy libraries to support this single case of SVG
rendering, we can simply create a few local drawables that correspond to
the different types of notifications, and use them instead.
* Remove multidex!
Multidex is a killer of performance and should be avoided at all costs.
* Remove further unused bits.
* Remove final vestige of multidex.
* Add button on image details to copy wikicode to clipboard
* Make copy wikicode button width the same as the nominate deletion button width by filling in background
String literals are being used in many places in the code, instead of
proper string resources which are automatically localized. This PR
replaces many of the string literals with pre-packaged resources, or will
add the appropriate string if necessary.
* Bug fix issue #1839, changes
* Extracted out PageTitle object's member varaible, displayText in a variable in findTemplate() in MediaDataExtractor
* added null checks for the same varaible [Lets be safe side]
* replaced equals with contains, ie. displayText.contains(title), so that uploads from multiple sources which have different formats still show up coordinates which was not being shown earlier
* Bug fix issue #1846
1. Added null check in places in loadAttractionsFromLocation() in NearbyController
2. Catched exception in getFromWikidataQuery() which getFromWikidataQuery( )[Could be because of anything, primarily io].
* code formatting, adjusted whitespaces
* return places which is initialised to empty list instead of null for places
* replace catching Exception with the excact exception, ie. InterruptedIOException in NearbyPlaces
* Extracted out PageTitle object's member varaible, displayText in a variable in findTemplate() in MediaDataExtractor
* added null checks for the same varaible [Lets be safe side]
* replaced equals with contains, ie. displayText.contains(title), so that uploads from multiple sources which have different formats still show up coordinates which was not being shown earlier
* bug fix, locales not showing up in the spinner in ShareActivity [issue #1793]
* removed extra padding from the languages edit text in the spinner
* reduced weight percentage of spinner to 30% and increased that of the descriptions in row_item_descriptions to 70%
* In media search results, rotating screen triggers crash fixed#1753
* Updated API to get Author name too
* Crash fixed due to notifyDataSetChange
* search API duplicate images fixed