Commit graph

2170 commits

Author SHA1 Message Date
Ashish Kumar
78af43e95b Categories with pipe suffix (#1873)
* Bug fix issue #1826
Changes made :
-Certain category names used to show suffixed with strings prefixed with pipe '|'. Removed everything after the pipe. As per the discussion on the thread, its safe to remove everything after the pipe, including the pipe

* review suggested changes
*Code formatting
*Extracted out the index of pipe in a variable
*Added issue link in comments
2018-11-10 10:28:55 +02:00
Rulino
c8a8e5b714 Nearby places icons localization bug fix (#1947)
* Changed the places icon selection from english text to QID
2018-11-04 23:44:39 +00:00
Paul Oranje
7b7d17a33b Fixes #171 Fix Lint errors/warnings: global, coding style: add missing spaces (#1955)
* Inserted missing spaces between `if` and `(` to improve code style, in line with GSG 4.6.2
2018-11-04 14:37:28 +00:00
Bruno
0cf2299e49 Added an onclick to the middle text of a Notification (#1872)
* Enhancement issue #1862

Added on click to the "middle text" of a Notification item.

* Added comment #1862

Added comment to better explain method usage.
2018-11-04 14:34:40 +00:00
tanvidadu
f6a2df6c4f Shifted strings to String.xml 2018-11-04 12:39:21 +05:30
Edward Savage
b2e5ad0c26 Remove redundant type casts (#1929) 2018-11-03 12:51:47 +00:00
spelka
ef73204cc0 Fix #1921, missing information about internet connectivity on nearby page
The reported issue is that in the Nearby activity, the app does not communicate that there is no internet connection. On investigation, it appears that a toast message does briefly display "No internet connection". It looks like other activities have implemented this same message within the snackbar instead. In order to have a consistent style of communication to the user, I removed the toast message and replace it with the snackbar message, as implemented in NotificationActivity.java.
2018-11-03 12:37:57 +00:00
tanvidadu
af3cabfb36 Fixed Conflicts 2018-11-03 14:12:21 +05:30
tanvidadu
079aabde99 Made changes 2018-11-03 14:12:21 +05:30
tanvidadu
b07282f5af Added resaons in dropdown list 2018-11-03 14:12:21 +05:30
Edward Savage
e8f4a286c5 Lambda usage simplifications (#1928)
* Replace anonymous type with lambda
* Use method reference
* Replace with expression lambda
2018-11-02 18:28:42 +00:00
Sanket Pimple
1f8063284c Fix #1914, bug involving description info dialogue hitbox
Fix #1914 using getX() instead of getRawX() method and subtracted right padding to get the value. Now info dialog opens only on touch of the icon (#1915)
2018-11-02 13:20:13 +00:00
freddytuxworth
3ccd690ce0 Add space after if (#1954) 2018-11-01 19:33:09 +02:00
Henrique Guedes
293cccd897 Null checks to avoid NPEs (#1917) (#1918) 2018-10-31 20:25:49 +11:00
konohakesh
154f1622b2 Fix crash on notifications #1959 (#1964) 2018-10-31 20:22:39 +11:00
Victor-Bonin
80a9c94653 Feature #1756 : Bookmark System (#1935)
* Add bookmark star images

* Add bookmark item in navigation menu

* Add Activity for bookmarks

* Implement bookmarks viewpager

* Bookmark object and bookmarkDao

* Implement Bookmark Picture Fragment and Controller

* Implement image detail bookmark menu action UI

* contentProvider + config + dao rework

* Fix Dao and Content Provider crashes

* Link bookmark controllers and dao

* Implement bookmark location fragment, controller

* Add bookmark icon to location items

* Add empty bookmark list behavior and refactoring

* bookmarkLocation dao and contentProvider

* Fix bookmarks location crashes

* Rename and refactor classes

* Implement location list refresh

* Fix picture list update
When user come back from detail picture fragment, it solve the refresh bug.

* full test coverage

* Refactor bookmarks classes

* Fix bookmarks pictures loading

* Fix bookmark locations list display

* Java Documetation

* Fix Code review quality

* Fix DB version update

* Remove forgotten todo

* Update bookmark activity base class
Change from AuthenticatedActivity to BaseNavigationActivity
2018-10-26 02:54:22 +11:00
Rulino
2af57fc594 Empty screen if no upload fix (#1940)
* Updated contribution screen to show message for no uploads by default, message gets wiped after any picture is inserted into the list

* Changed string as suggested

* Added margin
2018-10-20 20:30:02 +05:30
Vivek Maskara
b0b4b08100 Fix log reporting for release builds (#1916)
* Fix log reporting for release builds

* Fix logs for release builds

* wip

* Clean up the branch to exclude unrelated changes

* With java docs

* Uncomment quiz checker

* Check for external storage permissions before sending logs

* With more java docs

* Fix crash while zipping log files

* Do not log token and cookies

* Add instruction to restart app
2018-10-14 22:19:43 +11:00
Vivek Maskara
02fe0044a6 Merge release branch to master (#1932)
* Bugfix/upload via share (#1920)

* Bug Fix #1878
* Added a java library to fetch the MIME type from input stream
* Fetch MIME type using this and use the contribution tag only when this fails:

* formatting changes, removed unused commented out line

* Versioning and changelog for v2.8.5 (#1923)

* Versioning for v2.8.5

* Update changelog.md
2018-10-13 19:45:00 +11:00
Edward Savage
e36a71a584 Optimize imports (#1927) 2018-10-13 18:31:25 +11:00
Dmitry Brant
e0a79f89e9 Fix crash(es) due to uninitialized notification channel. (#1906)
* Fix crash(es) due to uninitialized notification channel.

The notification channel needs to be created for API versions greater than
OR EQUAL to 26 (O).  Also, the channel does not need to be reinitialized
if it already exists.

* Initialize notification channel when Service is created.
2018-09-28 01:39:32 +10:00
Vivek Maskara
86e849683a
Refactor code to remove usage of Jsoup and Rssparser (#1888)
* Refactor code to remove usage of Jsoup and Rssparser

* Use current date for picture of the day
2018-09-11 21:14:41 +05:30
Dmitry Brant
fc30f1b5ec Sweeping update of gradle and dependency versions. (#1858)
* 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.
2018-09-11 11:51:28 +03:00
Dmitry Brant
1dd7cbb614 Fix incorrect Fresco initialization. (#1895)
Fresco only needs to be initialized once, in the Application class.
Initializing it again can lead to undefined behavior, including crashes.
2018-09-10 20:35:51 +05:30
Vivek Maskara
a63b9f88bb
Merge 2.8 release with master (#1887)
* 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
2018-09-07 05:50:41 +05:30
Mansi Agarwal
13c377aa17 Improve the algorithm for detecting unwanted images. (#1798)
* 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
2018-09-07 05:18:38 +05:30
Ashish Kumar
70099a9014 Feature/permissions library (#1855)
* Added permission for Dexter, the runtime permission handling library

* [Preparing fir issue #1773] Added a utility function which would take the user to app settings screen where he could manually give us the required permission

* Added an alert dialog with positive and negative callback [Preparing fir issue #1773]

* Improvements in the way External Storage Permission is handled in MultipleShareActivity[Bug fix #1697]
1. Used dexter to handle the external storage permission
2. Behaviour changes : When user tries to share(uppload) images to commons via MultipleShareActivity, following decision tree is followed
	a. If the app has permission for external storage, normal upload operation is followed
	b. If the app does not has the permission for external storage, dexter is used to ask for the same
	c. If the user gives us the required permission, normal upload flow is proceeded
	d. If the doesnot gives us the required permission a rationale dialog is shown with the appropriate message to let him know why we need the permission
	e. If he presses okay, steps a-c are followed and if he presses cancel, we close the app.
	f. If while asking for permission, the user chooses never ask again, then next time he tries to upload an image via MSA, the rational dialog follows the app setting screen where he could manually give us the required permission and the onActivityResult of same is handled

* Added a Constants class to handle request and result codes from one place and other related constants common to the all app elements

* replaced hardcoded strings ok and cancel in DialogUtil to string resources

* init permission rationale dialog in activities onCreate

* Code formatting, updated access modifiers wherever required, added javadocs for new methods created

* *shifted constants to app class
*Added JavaDocs in PermissionUtils

* removed class REQUEST_CODES from CommonsApplication and instead put the enclosing constants in the App class itself
2018-09-07 02:57:07 +10:00
Mansi Agarwal
430bf90310 Added CDATA tag (#1836)
* 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.
2018-08-31 11:44:36 +03:00
Dmitry Brant
2884bd934a Remove dependency on Glide, Picasso, SVG, and multidex. (#1859)
* 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.
2018-08-30 14:40:17 +03:00
albendz
a059a3c2ef 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
2018-08-27 19:13:50 +10:00
Dmitry Brant
e945d45558 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.
2018-08-27 19:10:50 +10:00
Ashish Kumar
355c4f5b0a Feature/nearby io fix (#1847)
* 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
2018-08-24 22:36:23 +05:30
Ashish Kumar
e4584217d2 Bug fix issue #1839, changes (#1845)
* 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
2018-08-22 10:13:36 +05:30
Vivek Maskara
4ea7229876 Null checks for activity to prevent unwanted crashes (#1730)
* Null checks for activity to prevent unwanted crashes

* With logs before return statements
2018-08-20 14:56:03 +03:00
Vivek Maskara
e13e2c2f40 Fix issue where beta prod flavour could not be installed at the same time (#1841) 2018-08-20 13:59:14 +03:00
Yusuke Matsubara
6842420aeb Use NotificationChannel and prevent crash in API 26 (#1835) 2018-08-19 13:19:00 +03:00
misaochan
61888f7456 Merge remote-tracking branch 'refs/remotes/origin/2.8-release' 2018-08-14 17:59:48 +10:00
Vivek Maskara
7dee0a45b1 Fix category edits (#1823) 2018-08-14 02:47:23 +10:00
Ujjwal Agrawal
bf50e749ec Fixes #1801 (Media details view for Browse is lacking author field) in 2.8-release branch (#1810)
* 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
2018-08-08 17:15:06 +10:00
Nicolas Raoul
fa13c1b4f8 Merge branch 'fix_skip_login_nearby_bug' of github.com:ujjwalagrawal17/apps-android-commons 2018-08-08 16:07:22 +09:00
Nicolas Raoul
e00f69a23d Merged from 2.8-release 2018-08-08 15:07:51 +09:00
Ujjwal Agrawal
87b6568abe search API duplicate images fixed 2018-08-08 04:12:06 +05:30
Ujjwal Agrawal
ecebe4c584 Crash fixed due to notifyDataSetChange 2018-08-08 03:37:48 +05:30
Ujjwal Agrawal
c93bcda6f6 Updated API to get Author name too 2018-08-08 01:02:41 +05:30
Ujjwal Agrawal
825a529003 Changed default value of skip login to false 2018-08-07 23:12:28 +05:30
Vivek Maskara
b5e90bea76 Wikidata edit fix (#1800)
Wikidata edit fix
2018-08-07 19:03:59 +10:00
Nicolas Raoul
f12f1d50a3 Merge branch 'skip_login' of github.com:ujjwalagrawal17/apps-android-commons 2018-08-07 13:12:00 +09:00
misaochan
23014e07c8 Merge remote-tracking branch 'refs/remotes/origin/2.8-release' 2018-08-06 18:36:35 +10:00
Vivek Maskara
143ad00149
Fix failed uploads (#1790)
* Cusom Mediawiki api layer

* Fix tests
2018-08-05 01:26:00 +05:30
Ashish Kumar
b73535f621 added null check before initialising LatLng after receiving location … (#1791)
* added null check before initialising LatLng after receiving location permission

* flipped null==lastKL with lastKL==null
2018-08-04 21:33:57 +05:30