Commit graph

137 commits

Author SHA1 Message Date
Seán Mac Gillicuddy
4bd7a5b1e2
#3493 App freezes for 15 seconds when you press Next in UploadMediaDetailsFragment (#3499)
* #3493 App freezes for 15 seconds when you press Next in UploadMediaDetailsFragment - add apropriate schedulers and convert justs to fromCallable

* #3493 App freezes for 15 seconds when you press Next in UploadMediaDetailsFragment - remove test for removed functionality

* #3493 App freezes for 15 seconds when you press Next in UploadMediaDetailsFragment - replace kotlin with java
2020-03-13 23:47:20 +10:00
Seán Mac Gillicuddy
1584ffe0e2
Added Support for System Wide Dark Theme (#3460)
* Added Support for System Wide Dark Theme

* changed methods to private

* Moved Strings to strings.xml

* Used Dagger to reduce code repetition

* Changes made as per review suggestions

* Minor Changes

* Fixes as per suggestions

* Minor Fixes as per suggestion

* made the variables static

* removed irrelevant code
2020-03-05 14:33:57 +00:00
Madhur Gupta
e68751f0b9
Moved some Java files to kotlin (#3439)
* Converted NetworkConnectionType.java to Kotlin

* Converted Urls.java to Kotlin and Updated AboutActivity

* Improved code quality
2020-03-01 16:13:08 -07:00
Madhur Gupta
3d0048a771
Added progress dialog for setting wallpaper (#3427)
* Added progress dialog for setting wallpaper

* Updated dialog strings
2020-02-23 16:51:15 -07:00
Ashish Kumar
05e98307be
Fixes #3303 (#3322)
* Fixes #3303
* Refactor Nearby to alig lifecycle methods

* Pass updated place list to listfragment

* Added default zoom rate to mapbox

* Removed NearbyListFragmet and added the ui login to handle the same in NearbyParentFragment

* More code refactor
* Make BottomSheetList hideable
* onFragmentHide, hide the bottom sheets

* BigFix, Fragmet visibility, register/un-register camera move based on fragments lifecycke

* More code refactor
* Let the ExecutorUtil have non-ui thread
* Add Location Marker on non-ui thread (the non-ui stuffs)

* BugFixes
* Removed configchanges "orientation" from MainActivity in Manifest (That was messing with the fragment lifecycle)
* Some null checks
* Initialise lastknown location in onMapReady

* UI Fixes
* Adjusted UI to support dark and no-dark themes both (in nearby)
* Do not update map on Location Slightly changed

* Fix failing test case, let TestCommonsApplication extend Application instead of CommonsApplication

* start map view when nearby is visible

* start the map when NearbyFragmet is visible

* More bugfixes
* Added DUMMY view for NearbyPresenter's onDetach State
* Added a wrapper frame layout parent for MapView to preven it from drawing above other views

* More bugfixes (Fixes #3287)
* Gray out the un-selected markers from the nearby filter list

* BugFix, search this area should search the nearby places for the current camera position

* More BugFixes
* Handle null primitives with proxy
* Current location marker flow via permission flow

* onCameraMove should have null-check on NearbyController.latestSearchLocation instead of currentLocation

* Search for places around last focus location

* Handle location updates
* If the user is browsing the map, donot update the map with current location
2020-02-04 11:05:29 +02:00
Vivek Maskara
b0be4970ef Convert few model classes to kotlin (#3270) 2019-12-07 02:36:53 +10:00
Manuel Alcaraz
f7cca31c53 Optimize imports (#3272) 2019-12-06 17:51:36 +09:00
Vivek Maskara
2f9a71911a Remove unused code from the app (#3276) 2019-12-05 18:07:21 +05:30
Vivek Maskara
f27749fa51 With more unit test cases (#3269) 2019-12-04 18:51:02 +10:00
neslihanturan
b3c11842f3 Fixes #1450 Add filter to nearby (#3178)
* Add layout items for nearby filter list and filter item

(cherry picked from commit b96f8a68ce)

* Edit nearby query

(cherry picked from commit 1f3c8c8deb)

* Add filter items to nearby parent fragment xml

(cherry picked from commit d0beadd0e0)

* Add icon for green marker

(cherry picked from commit f65ca0387a)

* Add layout util file to organize layout utilities

(cherry picked from commit 5c57939245)

* Add pic parameter to nearby result item

(cherry picked from commit 86007e4bb6)

* Add pic parameter to place type

(cherry picked from commit 25c358b67f)

* Add green marker styling

(cherry picked from commit 929c92d887)

* Inıt search layouts on Nearby parent

(cherry picked from commit 2ac38a1919)

* Style green markers at nearby controller

(cherry picked from commit 3e08f39f8e)

* Edit bookmark daos to include pic to tables

(cherry picked from commit 48d69edf3b)

* TODO foc bookmark dao item but works now

(cherry picked from commit f748399720)

* Style nearby filter area

(cherry picked from commit 6267e488b0)

* fix style of filter tab

(cherry picked from commit 5f843bf366)

* Add nearby list adapter

(cherry picked from commit 56334afe03)

* Current status, list size is working, visibility working, filter mechanism is ready

(cherry picked from commit 7d75c9c589)

* Filtering works

(cherry picked from commit 8a13cf7728)

* Filter function works

(cherry picked from commit 78368a2c0c)

* Fix style issues

(cherry picked from commit 2204f70255)

* Add divider to recyclerview

(cherry picked from commit c8100b55d7)

* Hide bottom sheets accordingly

(cherry picked from commit c5deba8b0b)

* Code cleanup

(cherry picked from commit cf8f64f3cb)

* Add actions to chips

* Fetch destroyed information from servers

* Add destroyed places icon

* Make chip filter functions work

* Revert irrelevant changes

* Revert accidentally replaced strings

* Remove unneeded lines

* Remove only places expalanation from trings

* Do not filter if nearby places are not loaded

* Add triple checkbox for add none and neutral

* Make tri checkbox work

* Fix travis issue

* Add coments

* fix search this area button locaton

* Set initial place type state and recover it between each populate places
2019-11-28 18:22:32 +10:00
Alicia
0c98f5958a Do not create another dialog with the same custom view - reuse the old one (#3097)
* Clear parent from customView if parent is not null

* Do not create a new dialog when a dialog with a custom view already exists on resume

* remove debug code from dialog custom view parent investigation

* Add rest file

* Didn't mean to add that test file
2019-11-21 16:55:21 +03:00
neslihanturan
44cdd2fdc7 Refactor nearby classes mvp (#2969)
* Create parent contract

* Create map child contract and fill methods

* Add javadocs and specific interfaces for list

* Move general method to parent and add javadocs for parent

* Add explanation for keeping an emty View interface under NearbyListContract

* Move constracts under contract package

* Create presenters for map and list and implement user actions accordingly

* Add javadocs

* Add presenter, contract and fragment for parent Fragment of both NearyListFragment and NearbyMapFragment

* Implement missing methods

* Fix typo

* Add main views on fragment

* İmplement child fragment logic and their retain

* Relate parent presenter with parent fragment

* Add all location permission related methods to view contract and implement in fragment. Call them from presenter by passing locationServiceManager parameter

* Define refreshView method as updateMapAndList which is a better naming. Define it at presenter part.

* Define a presenter variable in fragment and call updateMapAndList method from there, if permissions are okay

* Add lock neabry method to unlisten nearby operations during updates

* Add network connection established check on view side, check it from presenter

* try to simplify previous method during refactor

* Add missing methods for NearbyMap

* Connect child fragment and prent fragment with presenter

* Change nearby design, first create views then register listeners

* AddnetworkBroadcatsReceiver on view side, call it from presenter

* Add comments

* Change the old NearbyFragment by our new NearbyParentFragment for first tests

* Prevent crash caused child fragment is actually null by checking if it is attached or not.

* Makes sure that initialize nearby operations method is called just after all views and fragments are ready and attached

* Make sure updateMAoAndList method is called when everything ready

* Rename a method with prepoer name

* Call update map and add required markers

* Find out zoom level problem

* Implement add nearby markers and add current marker methods

* remove unneeded codes copied from previous implementation

* Revert "remove unneeded codes copied from previous implementation"

This reverts commit 42539651de.

* add some commits and clear code

* Remove location listener implementation from view, handle them in presenter instead. And add timber debug notes and required method calls

* Style ,issues

* Refactor a variable name to camel case and bind search this area view

* Search this area button action is added

* Mostly implement search this area methods, not tested yet even once

* Make sure everything is called in required order and seach this area method basically works

* Rename methods accordingly and add Javadocs

* Add current location marker and remove circle around it

* Remove unused methods

* Add current location marker with object animator and remove previous marker is exists

* include clear map into add markers method and reorder methods

* Make search this area button appear at correct time

* Try to load un search this area is called

* Clear logs

* Add changes for permission made by Vivek to newly added fragments along with our nearby classes

* Add a view to nearby map ragment and insert map view as an item inside it

* Add logs to uınderstand why on meap ready callback is never called

* Add list item clicked and bottom sheet for list of nearby items is expanded

* Make nearby map ready callback came

* Add required methods to be called after map view is ready

* State: Map ready call is not called but permissions and methods are in correct order

* Remove unused logs

* Try to use SupportMapFragment instead, still no success...

* use SupportMapFragment instead

* Remove unused Near

* Upgrade mapbox sdk versions

* Remove Style import from fragment/NearbyMapFragment

* Remove Style import from **fragments/NearbyParentFragment

* Remove nearby/NearbyMapFragment

* Remove unused/old NearbyFragment and NearbyMapFragment

* Remove import of already removed class

* Make sure you removed everything related with mapbox implementation

* Update mapbox map

* Remove unused classes, do not forget centerMapToPlace doesn't work on this branch

* Remove Style class it required updated version of mapbox map

* Add base codes for new activity

* Prove that our mapbox sdk let us implement the map directly inside the activity

* Add base codes for testing mapbox activity in a single fragment inside activity

* Add codes from mapbox demo repository to test support fragment, map works in a single layer fragment

* Add base codes for test layered fragment activity

* Add Support fragment inside a fragment and proves that layered fragmentw with map works

* Test view pager and tab layout with support map fragment to see it works, it works!

* Move Contributions Fragment related codes to test activity

* Move nearby card methods

* Inject location manager and implement NerabyParentFragmentContract.View on test fragment

* Coppy the content of SupportMapFragment from mapbox repository, use this code to modify later. This method war suggested by mapbox team instead of extending the class

* Implement NearbyMapContract.View on our new SupportMapFragment

* Start to mplement logic of checking permissions

* Fix small dagger issue to inject location manager properly

* Request permission for nearby places if fragment is loaded and tab is selected

* Initialize map operations if map ready and tab is selected

* Markers loads at correct time

* Style the map according to new version of mapbox map

* Add some map elements like FABs and give their actions

* Implement map marker click actions

* Implement nearby Fabs logic with a small issue

* fix FABs are not closing problem

* Unkown problem occurs at map load when I try to use MainActivity again.

* Revert "Unkown problem occurs at map load when I try to use MainActivity again."

This reverts commit 3dc084415b.

* Search this area buttons are added but button function does not work and button visibility is problematic

* Fix issue with MainActivity with the help of Ashish

* Fix search this area button visibility issue

* Fix the issues with updating search nearby markers and camera position together

* Fix progress bar visibility issue

* Prevent loding map each time tab selected

* Take toolbar back

* Implement back button with presenter

* Add click actoion to bottom sheet details

* Add nearby list into bottom sheeet

* Make reuse existing fragments if there is any

* Code cleanup

* Cleanup

* Code cleanup

* Add lifecyle codes to prevent leaks

* Cleanup

* Code cleanup

* cleanup

* Make list item clicked and map focus to same place

* Add bookmark from list fragment

* Make nearby card click action work

* Revert "Fix conflicts"

This reverts commit f3451745d3, reversing
changes made to c5d4d5533d.

* Code cleanup

* Cleanup

* Make recenter button work when list sheet is expanded

* Cleanup

* Code cleanups

* NPE issue is not detected for now, can be solved on seperate PR

* Update map after Wikidata edit

* Cherry picked previously reverted merge, hoping this will fix enourmus amounts of diff files

* Previous merge bringed an file which should be deleted. Delete it.

* Revert irrelevant changes on build.gradle

* Revert irrelevant changes

* Jetbrains annotation is not included to build gradle, this issue caused build issues on my branch so I removed it to be able to build

* Rename ListView

* Use a singleton to access the presenter, instead of passing it to a variable inside fragment

* Fix code style issues

* Move hardcoded colors to colors.xml file

* Make larger methods smaller

* Make current location marker follow

* Do not track users position if user is searching around

* Revert irrelevant shanges at build gradle

* Remove unneeded variable

* Remove mvp directory, add sub directories directly under nearby directory instead

* Remove unneeded public definiton

* Remove unneeded namespace

* Add public defiiton, it is needed to reach the constructor.
2019-10-16 00:32:05 +10:00
Ashish Kumar
7a5dc77057 Refactor uploads (#2981)
* 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

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

* 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)
2019-06-14 01:09:41 +05:30
Vivek Maskara
8971743479 Fixes #2888: Use Dexter for requesting location permissions (#2925)
* Use dexter to ask for location permissions

* Addressed code review comments
2019-06-08 08:45:30 +03:00
Dmitry Brant
6fd969686c Remove additional unnecessary dependencies. (#2948) 2019-05-15 09:46:42 +03:00
Ashish Kumar
73f272fded Merge 2.10 with master (#2938)
* 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
2019-05-06 19:22:10 +05:30
Cesar Villalobos
ee3f4d4d30 Fix wrong language codes displaying to user (#2880) (#2930)
* 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"
2019-04-27 07:55:12 +03:00
Vivek Maskara
98d28c60a2 Bump data client library version (#2926)
* Bump data client library version

* Fix tests

* Add javadocs
2019-04-25 10:54:51 +05:30
Vivek Maskara
37e9eae314 Fetch and use thumbnail across the app (#2906) 2019-04-24 03:03:09 +10:00
Vivek Maskara
a003e9706f Do not use erroneous thumb url util function (#2901)
* Do not use erroneous thumb url util function

* Remove unused code

* Fix image loading for peer review

* Clear disposable
2019-04-20 15:03:52 +05:30
Ashish Kumar
08a555c095 Merge 2.10 with master & Fixed merge conflicts (#2844) 2019-04-04 03:09:54 +10:00
Vivek Maskara
dcbf076965
Update master with backend overhaul branch (#2829)
* 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
2019-04-02 08:35:22 +05:30
Vivek Maskara
0bf63f50b3 Replace remaining AsyncTask with RxAndroid (#2681) 2019-03-28 21:10:47 +00:00
Ashish Kumar
f7f88d52b6 Bugfix/customproxy (#2738)
* 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
2019-03-26 21:04:01 +05:30
Vivek Maskara
c45b945526 Use JSON APIs for explore (#2731)
* Use JSON APIs for explore

* With tests

* Use JSON APIs for explore

* With tests

* BugFix #2731 (#4)

* Increased sdk version to 23

* with more robust tests

* Fix crashes and other reported issues

* Add javadocs

* Use common method for search and categories

* Add javadocs
2019-03-26 18:02:58 +05:30
Vanshika Arora
239f74942f Fix #2692: Missing description in upload warning (#2697) 2019-03-23 15:21:27 +00:00
Vivek Maskara
7cb1f56165 Use JSON APIs for peer review (#2714) 2019-03-23 01:27:34 +05:30
Silky Priya
a32ba452ec Include previous Wikimedia hackathon (2018) task, peer review, to codebase (#2602)
* Add new activity to manifest

* Create review activity layout base

* Add a new menu item to drawer for peer review

* Add a top menu with randomizer icon to review activity

* Add strings for review button

* Add activity to ActivityBuilderModule for injection

* Add a new drawer item to start review acitivty

* Create base of the Review Activity

* Add fragment pager

* Add new fragment for injection

* Create a fragment pager layout

* Wikimedia hackathon 2018 (#1533)

* First draft of fn to get random recent image

* Use log entries for requests to beta, try to connect refresh button

FIXME: runs http request on main thread, breaks

* Tweak button connection

* Add ReviewController class

* Fix fragments

* Wmhack2018 (#1534)

* tiny fixes

* Load pictures into activities

* Re-use same class for all review fragments (#1537)

And try to add pager indicator

* [WIP] category check

* [WIP] add on-click actions to ReviewActivity

* [WIP] add SendThankTask

* Make it beautiful

* Add some category stuff back in to review (#1538)

* Use standalone category extraction code in MediaDataExtractor

* Add categories to category review page

* Change category question text sizes

* Call randomizer whenever the activity is ready

* Add progressbar

* [WIP] add DeleteTask.askReasonAndExecute

* Fix refresh button string

* Typo: "nominate *for* deletion"

* Add formatting to categories and put them in the same textView

* Pass context and adapters as parameters to controller

* Add actions to controller

* Make everyting work

* Add another fragment to thank

* Fix npe

* Add missing execute method

* Some codes

* Add a funy text

* More random recent image selection (#1542)

time-based randomness is biased - if someone uploaded 100 images in
hour, one week ago, and I select a random point in time, their last
image is way more likely to come up than anything else.

With this, there is still bias towards choosing one of the last N
in any burst of uploads (where N is the number of recent changes
fetched) but it's a bit better than before.

* Create Revision class

* Add meaningluf strings

* Error handling for review image/category fetch (#1543)

* Add information layout for username and filename

* Use Single to get firstRevision

* try to add username and filename

* Ensure caption is shown on every review fragment

* Fix build

* Fixes missing import

* Change button text,show current category, add skip image button

* Modify texts, fix night mode issues

* Positive Wording

* fix landscape issue

* Add checkbox popup,rewording

* Spelling Correction

* Fix merge

* Remove commented out code, use lambda

* Simplify toolbar include
2019-03-21 15:05:23 +03:00
Dmitry Brant
adf23c257f Improve extremely inefficient darkness-checking logic. (#2639)
* Improve extremely inefficient darkness-checking logic.

* Use ExifInterface from AndroidX instead of android.media.

* Fix false-positive detekt check.

* Fix false-positive detekt check.
2019-03-19 20:23:36 +05:30
Vanshika Arora
3417d713d2 Fixes #97: Added metadata reader for reading exif data (#2581)
* initial commit

* initial commit

* reading 3 exif directories

* minor changes

* fixed unit tests

* reviwied requested changes

* minor changes

* minor changes
2019-03-19 19:08:42 +05:30
Adam Jones
cfade144d9 Refactor string sorting utils to remove dependency (#2623)
Also adds Javadocs, and simplifies calculateSimilarity
2019-03-17 11:21:45 +05:30
Vivek Maskara
1d225c545e Remove dead code from dialog util (#2612) 2019-03-16 12:55:44 +00:00
Vivek Maskara
6cbce9d283 Fix #1131: Update min sdk version and remove redundant checks (#2608) 2019-03-16 12:21:51 +00:00
Vivek Maskara
57e685cf6c Fix #2593: Migrate to androidX (#2594)
* Update dependencies and migrate to androidX
* Make gradle properties tidy
2019-03-16 11:22:37 +00:00
Ronan Brigdale
480c05b2f3 Fix Lint Issues #171: Fix numerous errors/warnings (#2537) 2019-03-10 23:55:35 +05:30
Ronan Brigdale
de9a72d465 Fix Lint Issues #171: Remove unused imports (#2533)
* Fix Lint Issues #171: Remove unused imports

Removed unused Java imports

* Fix Lint Issues #171: Perfromance issue, close cursor

Cursor was not closed when no longer needed
2019-03-02 19:30:50 +05:30
Madhur Gupta
5a9cce0f79 Add Device Support Information to Feedback Intent #2494 (#2499)
* Add Device Support Information to Feedback Intent #2494

* Update Device Support Information for Feedback Intent #2494

* Update Device Support Information and used common method for Feedback Intent #2494

* Optimise code for Device Support Information for Feedback Intent #2494
2019-02-27 01:49:59 +05:30
Vanshika Arora
3a822d3c30 Added IPTC reader (#2383)
* graddle changes

* readfbmd class

* jar files

* added icafe

* gradle changes

* ReadFBMD

* recent commit

* commit changes

* commit changes

* fixed code quality issues

* optimised imports

* changes for  reviews

* not instantiating class

* removed irrelevant code

* added documentation

* modified test cases

* commit changes

* modified variable

* modified variable

* javadoc

* test changes

* removed .log file

* Show warning dialog for FBMD
2019-02-24 23:16:22 +05:30
Vivek Maskara
f12837650a Use JSON SPARQL query for fetching nearby places (#2398)
* Use JSON response for nearby places

* Move okhttp calls to a different class

* wip

* Fetch picture of the day using JSON API

* Search images using JSON APIs

* tests

* Fix injection based on code review comments
2019-02-06 10:40:30 +05:30
Vivek Maskara
52ab39381e Add module for file picker for camera and gallery uploads (#2375)
* 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
2019-02-03 22:40:31 +02:00
Vanshika Arora
f38feda896 modified date format (#2341)
* modified date format

* mediadetail fragment modified

* added the function in dateutils

* modified imports
2019-01-29 16:34:18 +05:30
Vivek Maskara
de9611821b Fix version number for alpha builds (#2325) 2019-01-24 23:32:16 +05:30
Vivek Maskara
532ab8aeae Fix uploads getting stuck (#2309)
* 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
2019-01-24 17:56:18 +10:00
Vivek Maskara
559127dfa3 Fix app stuck and memory issues while uploading images (#2287)
* 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
2019-01-16 18:32:25 +02:00
Vivek Maskara
d4fa9cfa45 Use wrapper for interacting with shared preferences (#2288)
* 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
2019-01-14 00:13:21 +05:30
Vivek Maskara
164ef9bcac Use image picker to pick images for upload (#2278)
* 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
2019-01-09 02:26:46 +10:00
Ajinkya Korde
b05b302e65 Fix #2215 Added BetaCheckerUtil class and made necessary changes (#2274)
* Fix #2215 Added BetaCheckerUtil class and made necessary changes

* Fix #2215 Fixed formatting error in LogSender class

* Fix #2215 Renamed BetaCheckerUtil to ConfigUtils

* Fix #2215 Fixed formatting in CommonsApplicationModule
2019-01-08 01:01:00 +05:30
Vivek Maskara
a4a037a577 Use large heap size for commons app (#2261) 2019-01-04 00:16:16 +10:00
Vivek Maskara
a48a09a785 Use dexter for requesting storage permissions (#2258)
* Use dexter for requesting storage permissions

* minor changes

* Fix minor issue
2019-01-02 18:11:19 +02:00
Vivek Maskara
2ea6bd7f65 With more information while sending logs (#2222)
* With more information while sending logs

* With java docs and unit tests

* Changes based on code review
2019-01-03 01:12:08 +10:00