Commit graph

339 commits

Author SHA1 Message Date
Kaartic Sivaraam
be0b1db193 Version v5.1.2 2025-01-15 12:50:53 +05:30
Kaartic Sivaraam
9bbb1a98db Version 5.1.1 2024-12-29 22:36:39 +05:30
Neel Doshi
b714b45bfd Migrated exifInterface to androidx exif.interface (#6013) 2024-12-28 23:43:26 +05:30
Kaartic Sivaraam
707997bd1f Version v5.1.0 2024-11-04 00:10:15 +05:30
Parneet Singh
1659a4ce22
add dependency (#5887)
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-10-24 19:07:16 +09:00
Nicolas Raoul
dadc4b6a11
Bumped coordinates2country, recognizes more countries 2024-10-13 22:56:53 +09:00
Rohit Verma
3e915f9848
Upgrade to SDK 34 (#5790)
* change the overridden method signature as per API 34

* add version check condition to compare with API 23 before adding flag

* refactor: add final keywords, fix typo, and remove redundant spaces

For optimized code only

* upgrade: migrate to SDK 34 and upgrade APG

Additionally, add Jetpack Compose to the project

* AndroidManifest: add new permission for API 34

DescriptionActivity should not be exposed

* refactor: permission should not be check on onCreate for some cases

* add method to get correct storage permission and check partial access

Additionally, add final keywords to reduce compiler warnings

* refactor: prevent app from crashing for SDKs >= 34

* add new UI component to allows user to manage partially access photos

Implement using composeView

* change the overridden method signature as per API 34

* add version check condition to compare with API 23 before adding flag

* refactor: add final keywords, fix typo, and remove redundant spaces

For optimized code only

* upgrade: migrate to SDK 34 and upgrade APG

Additionally, add Jetpack Compose to the project

* AndroidManifest: add new permission for API 34

DescriptionActivity should not be exposed

* refactor: permission should not be check on onCreate for some cases

* add method to get correct storage permission and check partial access

Additionally, add final keywords to reduce compiler warnings

* refactor: prevent app from crashing for SDKs >= 34

* add new UI component to allows user to manage partially access photos

Implement using composeView

* replace deprecated circular progress bar with material progress bar

* remove redundant appcompat dependency

* add condition to check for partial access on API >= 34

It prevents invoking photo picker on UploadActivity.

* UploadWorker: add foreground service type

* fix typos in UploadWorker.kt

* add permission to access media location
2024-09-17 23:58:44 +09:00
Rohit Verma
190135d36c
Fix failing tests for updateDepictsProperty method (#5795)
* tests: fix failing testUpdateDepictsProperty

* replace deprecated circular progress bar with material progress bar

* refactor: update SettingsActivity to not use custom appCompatDeletegate

It is required because that delegate is automatically handled in new libraries.
2024-08-28 15:29:16 +09:00
Nicolas Raoul
a81d48cc9d
Updating jraska/livedata-testing for GSoC (#5785) 2024-08-22 22:41:27 +09:00
Kaartic Sivaraam
36905711d0 Version v5.0.2 2024-07-07 01:05:55 +05:30
Zack Chi
bde09072fb
Update Java version from Java 8 to Java 11 (#5732)
Co-authored-by: Zack Chi <zach.chi.email@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
2024-06-09 20:56:38 +02:00
Kaartic Sivaraam
af028cbddc Version v5.0.1 (fix release variant of v5.0.0)
The same as v5.0.0 except this fixes the release variants of the
app for v5.0.0.
2024-04-28 16:58:49 +05:30
Kaartic Sivaraam
12ac709aba Rebrand v4.3.0 as v5.0.0
We have a huge quantum of changes since v4.2.1. So, it makes sense
to bump the major release. So, rebrand v4.3.0 as v5.0.0.
2024-04-28 14:46:47 +05:30
Kaartic Sivaraam
9f904a9515 Version v4.3.0 2024-04-27 22:35:06 +05:30
Shashank Kumar
5ca3b7834d
Remove Butterknife from Project (#5660) 2024-03-30 10:27:59 +09:00
Kanahia
26658e91b3
Removed MAPBOX Access token (#5555)
* Update gradle.properties

* Update build.gradle

* Update CommonsApplication.java

* Update LocationServiceManager.java
2024-02-16 20:56:58 +09:00
Adam Jones
1cbce77d5f
Migrate from Kotlin synthetics to Jetpack view binding (#5546) 2024-02-14 18:29:06 +09:00
Paul Hawke
0c3085257d
Data client simplification / removal (#5507)
* Removed unused code from the data client module

* Move remaining code out of the data-client and remove it
2024-02-03 10:26:06 +09:00
Paul Hawke
0541aacdff
Move login client out of the data-client (#5476) 2024-01-26 23:11:44 +09:00
Paul Hawke
8b8eb84fae
Moved the CSRF token client over into main commons code (#5471) 2024-01-24 10:36:43 +09:00
Kanahia
5df18fb4a6
Replaced Mapbox with osmdroid (Nearby activity) (#5403)
* Fixed Grey empty screen at Upload wizard caption step after denying files permission

* Empty commit

* Fixed loop issue

* Created docs for earlier commits

* Fixed javadoc

* Fixed spaces

* Added added basic features to OSM Maps

* Added search location feature

* Added filter to Open Street Maps

* Fixed chipGroup in Open Street Maps

* Removed mapBox code

* Removed mapBox's code

* Reformat code

* Reformatted code

* Removed rotation feature to map

* Removed rotation files and Fixed Marker click problem

* Ignored failing tests
2023-12-24 20:10:39 +09:00
Paul Hawke
3d525d4eb3
Removed butterknife from contributions list fragment (#5396)
* Removed butterknife from contributions list fragment and overhauled its test

* Suggested fix from stack overflow to remove duplicate class error during build
2023-12-23 15:31:10 +09:00
Srishti Rohatgi
b3c908583e
mapbox token correction (#5398) 2023-12-01 22:04:50 +09:00
Srishti Rohatgi
2dafc0d2ad
moves mapbox token inside gradle.properties (#5392) 2023-11-22 23:34:38 +09:00
Kaartic Sivaraam
14b6c455bf Version v4.2.1 2023-10-25 23:29:06 +05:30
Priyank Shankar
2ddb6b2e5e
[WIP]Lossless Transformations(Rotate feature) (#5252)
* UI setup for the crop feature almost setup

* basic setup of rotate feature done

* Added basic changes for editing feature

* Getting data back from edit activity

* Getting data back from edit activity

* Updated contentUri

* Finally the rotated image is getting uploaded

* Minor Improvements for better testing

* Fixed thumbnail preview

* Fixed loss of exif data

* Copy exif data

* Save exif data

* Added java docs

* Minor fix

* Added Javadoc

* Refactoring

* Formatting fixes

* Minor Formatting Fix

* Fix unit test

* Add test coverage

* Formatting fixes

* Formatting Fixes

---------

Co-authored-by: Priyank Shankar <priyankshankar@changejar.in>
2023-10-24 13:04:21 +09:00
Zhiyuan Xu
57d7159ee0
Update the SoLoader SDK version (#5361) 2023-10-22 22:15:41 +09:00
Srishti Rohatgi
c9dfc03a20
fixes unit tests (#5354)
* fixes unit tests

* fixes failing unit tests
2023-10-20 11:50:51 +09:00
Kaartic Sivaraam
e5e3a6b875 Upgrade robolectric to fix unit tests
This is as per the observation of Nicolas Raoul in the MR. He mentions
this brings down test failures to just 5.

Ref: https://github.com/commons-app/apps-android-commons/pull/5220#issuecomment-1722425627
2023-10-16 00:28:09 +05:30
Kaartic Sivaraam
a629756f3a Retain siva's comment about disabling force = true 2023-10-04 06:56:52 +05:30
Kaartic Sivaraam
62661604ff Merge commit 'refs/pull/5220/head' of github.com:commons-app/apps-android-commons into new-tools 2023-10-04 06:54:48 +05:30
Kaartic Sivaraam
b314fe1896 Version v4.2.0 2023-10-03 10:20:21 +05:30
Ritika Pahwa
f5770539a5
target the latest Android version (#5296) 2023-09-19 20:16:35 +09:00
Ritika Pahwa
81030d1e78
5136: Fix retried uploads stuck in queued state (#5272)
* fix stuck uploads

* automate retries for failed uploads once the user returns to the app

* UploadWorker: modify PendingIntent flag and Android version code

* MainActivity: remove automatic retry logic

* Revert "MainActivity: remove automatic retry logic"

* set work request as expedited

* handle notification for foreground service on older versions of Android

* set backoff criteria for work requests

* enqueue failed uploads for a retry

* revert "enqueue failed uploads for a retry"

* limit the number of retries for a failed upload

* add a popup that suggests users to switch to unrestricted battery usage mode

* take users to the battery settings page on the first big upload

* take users to battery optimisation settings page using the standard intent

* add instructions to the battery optimisation settings popup

* remove the first usage of fr.free.nrw.commons from the popup

* comply with the wording in the OS settings

* modify battery optimisation popup instructions, add comments and rename firstBigUploadSet

* add filename to the retry log statement

* update database version

* make battery optimisation dialog appear only on Android 6 and above

* use foreground service instead of setting work request as expedited

* fix retried uploads stuck in queued state

* use MIN_BACKOFF_MILLIS constant instead of using the number 10 and add comments

* factorise the creation of the new OneTimeWorkRequest at one place

* ensure work requests are in accordance with the unit tests

* forbid retries for images which have got uploaded without caption

* add a TODO for the suggestion related to retries

* revert "forbid retries for images which have got uploaded without caption"
2023-09-09 22:46:13 +05:30
Siva Subramaniam
c4d4cbeae2 Merge branch 'master' of https://github.com/siva-subramaniam-v/apps-android-commons into gradle-version-upgrade 2023-06-26 12:15:38 +05:30
Kaartic Sivaraam
4cb3b0cfe9
Reduce minSdk back to 21 (#5236)
Commit 0f0358f22 (Bump minSdk to 29, 2023-04-30) bumped the minSdk to
29 since it was found to be necessary for publishing the app to Play
Store.

On futher analysis[1], it seems like that might actually not be necessary.
The crux is:

  1. We (rightly) answer "No" to the Play Console question:

       "Does your app access location in the background in APKs or
        app bundles targeting Android 9 (Pie) or older (SDK level 28 or lower)?"

  2. We do not request for the ACCESS_BACKGROUND_LOCATION permission.

So, it should be safe for us to have the minSdkVersion as 21 itself. If
again we face any rejection of the app update, let us handle it at that
point. I clearly am not able to see any valid reason for Play store to
reject the app update.

[1]: https://github.com/commons-app/apps-android-commons/issues/5223#issuecomment-1569554999

Co-authored-by: Kaartic Sivaraam <kaartic.sn@zohocorp.com>
2023-06-16 15:52:15 +09:00
Siva Subramaniam
a280f79f36 remove redundant comment in module level build.gradle file 2023-05-03 11:50:08 +05:30
Siva Subramaniam
368701ec59 fixes #5208: gradle build fails with android studio flamingo update 2023-05-03 11:12:28 +05:30
Kaartic Sivaraam
61e2a7177b Versioning for v4.1.0
We bump the version code directly to 1034 since v4.0.4 and v4.0.5 took
up the codes b/w 1029 and 1034.
2023-04-30 19:07:31 +05:30
Kaartic Sivaraam
0f0358f227 Bump minSdk to 29
A replication of the fix done in 9b9521a03 (Update min SDK to 29, 2022-08-22)
to temporarily address #5031.

We're replicating this rather than merging the 4.0-release branch since
merging results in multiple merge conflicts that are non-trivial to
resolve.

We need to find a proper fix for the play store issue, though.
2023-04-30 19:07:00 +05:30
Kartikay Kaushik
8f8dcc0d52
Fix #5182 Switch From Mapbox to MapLibre (#5184)
* Fix #5182 Switch From Mapbox to MapLibre

* Fix #5182 Switch From Mapbox to MapLibre - Resolved requestFeature() issue

* Fix #5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on two screens

* Fix #5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on additional screens

* Fix #5182 Switch From Mapbox to MapLibre - Resolved dark mode issue on notification screen

* Fix #5182 Switch From Mapbox to MapLibre - Test errors
2023-03-31 09:31:58 +09:00
Kartikay Kaushik
9b0b936c62
Fix:5175 Upgraded Minimum SDK Version, Compile and Target SDK Version (#5177)
* Kotlin Version Upgraded to 1.6.10

* Kotlin Version Upgraded to 1.6.20

* Kotlin Version Upgraded to 1.7.20

* Fix:5175 Upgraded Minimum SDK Version, Compile and Target SDK Version
2023-03-16 18:02:35 +09:00
Ayan Sarkar
33679eb6b4
[GSoC 2022] Improve custom picker (all features) (#5035)
* Project Initiated by creating helper classes for database operations

* Database created

* Rest of the work and documentation

* Requested changes done

* Localisation updates from https://translatewiki.net.

* Localisation updates from https://translatewiki.net.

* Localisation updates from https://translatewiki.net.

* [GSoC] Insert and Remove Images from not for upload (#4999)

* Inserted and marked images as not for upload

* Documentation added

* Test delete

* Implemented remove from not for upload

* Test fixed

* Requested changes done

* Added tests for new lines in existing classes

* [GSoC] Added Bubble Scroll (#5023)

* Library added

* Bubble scroll implemented

* Left and right swipe

* Requested changes

* [GSoC] Hide/Unhide actioned pictures and change numbering (#5012)

* Changed numbering of marked images

* Hide Unhide implemented

* Test fixed

* Improved speed for database operation

* Improved speed for database operation

* Changed progress dialog

* Improved hiding speed

* Test fixed

* Fixed bug

* Fixed bug and improved performance

* Fixed bug and improved performance

* Test fixed

* Bug fixed

* Bug fixed

* Bug fixed

* Bug fixed

* Bug fixed

* Code clean up

* Test hiding images

* Test hiding images

* Test hiding images

* Code clean up and test fixed

* Fixed layout

* Fixed bug

* Bug fixed

* Renamed method

* Documentation added explaining logic

* Documentation added explaining logic

* [GSoC] Full Screen Mode (#5032)

* Gesture detection implemented

* Left and right swipe

* Selection implemented

* onDown implemented

* onDown implemented

* FS mode implemented

* OnSwipe doc

* Scope cancel

* Added label in Manifest

* Merged two features

* Requested changes

* Image uploaded bug fixed

* Increased DB version

* Made requested changes

* Made requested changes

* Made requested changes

* Made requested changes

* Solved image flashing bug

* Solved image flashing bug

* Requested changes

* Requested changes

* Changed name of a function

* Fixed transaction failure on large number of images

* Tested with isIdentity

* Tested with isIdentity

* Increased the threshold

* Added info dialog

* Minor changes

* ImageAdapter Test

* CustomSelectorActivity Test

* Requested changes

* Test for ZoomableActivity

* Test for ZoomableActivity

* Test for ImageLoader

* Test for OnSwipeTouchListener

* Test for rest

* Reverted some test changes

* Added more tests for ImageAdapter

* Added more tests for ImageAdapter and swipe gesture

Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
2022-09-16 18:14:16 +09:00
Madhur Gupta
3cdfdcffe1
Merge 4.0-release into master (#5028)
* Fix string for custom selector

* Fix bug #4950 back arrow still present on top-level activity (#4952)

* Fix bug #4949 by correctly setting previous db version number (#4956)

* Fix bug #4949 by correctly setting previous db version number

* Fix failing tests

* Fix bug #4959 by correctly setting previous db version number and updating the current db version (#4960)

* Fix bug #4957 (#4961)

* Update library to new version that handles older Java VMs

Fixes #4972 I believe.

* Versioning for v4.0.0

* Changelog for v4.0.0

* Fix bug #4984 Added queries for package name for Android API 30+ (#4987)

* Update mapbox sdk version (#4989)

* Versioning for v4.0.1

* Changelog for v4.0.1

* Remove network type information from NetworkUtils (#4996)

* Remove network type information from NetworkUtils

* Ignore dependent tests

* Fix #4992 invert the equals condition to be null safe (#4995)

* Fix java.lang.NullPointerException for username in ContributionBoundaryCallback (#5003)

* Fix failing tests for PR #5003 (#5004)

* Fix java.lang.NullPointerException for username in ContributionBoundaryCallback

* Fix failing tests

* Update Room DB Version (#5011)

* Fix #5001 (#5010)

* Fix DB update issue (#5016)

* [WIP] Fix both timezone problem and saved date problem (#5019)

* Fix both timezone problem and saved date problem

* Fixaccidental test code and add comments

* Add issue link to the comments

* Fix format issue and null checks

* Versioning for v4.0.2

* Changelog for v4.0.2

* Add "Report Violation" menu option (#5025)

* Add "Report Violation" menu option

* Update email template

* Update email address

* Fixed typo

Co-authored-by: Josephine Lim <josephinelim86@gmail.com>

* Versioning for v4.0.3

* Changelog for v4.0.3

Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
Co-authored-by: neslihanturan <tur.neslihan@gmail.com>
2022-08-08 15:51:07 +10:00
Nicolas Raoul
68540a0e0a
Update library to new version that handles older Java VMs (#4975)
Fixes #4972 I believe.
2022-05-26 17:02:11 +10:00
Madhur Gupta
36510a4301
Fix Instrumentation Tests (#4832)
* Fix AboutActivity Instrumentation Tests

* Fix WelcomeActivity Instrumentation Tests

* Fix SearchActivity Instrumentation Tests

* Fix SignupTest Instrumentation Tests

* Fix LoginActivityTest Instrumentation Tests

* Fix SettingsActivity Instrumentation Tests

* Fix LoginActivity Instrumentation Tests

* Update loginUser

* Add logoutUser

* Fix logoutUser

* Update github action to use env variables

* Fix github action to use env variables

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Fix github action

* Remove scroll

* Add wait time

* Fix keyboard issue

* Disable animation

* Enable animation

* Enable animation

* Disable animation

* Fix compile error

* Remove AVD Cache

* Set timezone and dns

* Add AVD cache

* Add API level

* Update API level to 24

* Add sleep timer

* Add scroll

* Remove logout

* Ignore some tests

* update logout

* update logout

* Fix scroll layout problem

* Fix scroll layout problem

* Ignore orientation test

* Update tests

* Update tests

* Update API level to 29

* Change device and API level to 27

* Use AndroidJUnit4

* Change API to 28

* Try with macos

* Use nested scrollview

* Update Profile Activity Test

* Update Profile Activity Test

* Turn off rotation

* Change device

* Remove failing test

* Change API to 24

* Add rotation lock for failing test

* Change API to 24

* Add sleep

* Remove text

* Remove child

* Force rotation on back press

* Force open more sheet

* Change device to pixel 5

* Change device to 13.5inch

* Update tests

* Ignore failing test

* Use linux

* Update tests

* Use repo secrets instead

* Add mainactivity tests

* Remove content description

* Different workflows for PR and branch, PR workflow will need maintainer approval to prevent secrets getting leaked

* Run instrumentation tests only for push and not for PRs

* Fix FileNotFound Exception

* Update MainActivity and Profile tests

* Fix coverage path issue

* Add wait time for map to load

* Open contribution

* Update settings tests

* Update main activity tests

* Fix failing test

* Fix failing test

* Increase login time

* Separate settings test

* Update review tests

* Ignore uploadCancelledAfterLocationPickedTest

* Update MainActivity Tests

* Update UploadCancelledTest

* Update UploadCancelledTest

* Update device

* Fix Init release error

* Fix failing test

* Fix failing test

* Try with long click

* Update UploadCancelledTest.kt

* Fix Leaderboard Test

* Update testContributions

* Set GPS coordinates

* Add zoomControllers to excludes

* Add ExploreActivityTest

* Remove failing condition

* Merge tests

* Remove failing test

* Remove failing test

* Fix failing test

* Fix failing test

* Update AboutActivityTest.kt

* Update jacoco.gradle
2022-04-26 21:09:15 +10:00
Ayan Sarkar
4194409cd2
Fixes 4544 : Language selection: history (#4880)
* Xml changes

* Content provider created

* Database setup done

* Database setup revised

* Database setup revised

* SettingsFragment finished

* SettingsFragment finished

* UploadMediaDetailFragment updated

* UploadMediaDetailFragment updated

* Java docs

* Test fixed

* Test added

* Test added

* Test updated

* More tests added
2022-03-23 16:33:54 +09:00
Madhur Gupta
9205f37605
Run Instrumentation tests and generates unified code coverage (#4828)
* Run instrumentation tests on CI and generate unified coverage report

* Fix ci

* Fix failing tests and use mac machine for HAXM

* Fix failing tests

* Fix coverage failure

* Try with ubuntu latest

* Change API level to 23

* Fix Failing Test

* Add prod APK generator workflow back
2022-02-18 16:18:29 +10:00
Pratham Pahariya
7bcaab2442
Fixes #53 - Suggest depicted country based on EXIF latitude/longitude (#4756)
* Fix - Suggest depicted country based on EXIF latitude/longitude

* Added null check and moved country suggestion to the end of the list
2022-01-19 20:28:38 +09:00
Ayan Sarkar
38ed364423
Added bookmark Wikidata items option (#4515)
* classes

* Almost done

* All done but build fail

* All done but build fail

* Modifications

* Modifications

* Fixed

* string resource

* minor change

* Maintained code conventions

* Moving

* Exception handled

* id name changed

* Test fail fixed

* Bookmark is available from other activities

* Test fail fixed

* Documentation error fixed

* Test added

* Revert Project_Default.xml

* Minor Change

* Revert changes
2021-12-28 20:15:09 +09:00