Skip to content

Commit 0f1e526

Browse files
sivasubramaniamvSiva
and
Siva
authored
fix issue #5015 - custom image selector not identifying photo location (#5190)
Co-authored-by: Siva <doodsiva@gmail.com>
1 parent 8f8dcc0 commit 0f1e526

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

app/src/main/AndroidManifest.xml

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<uses-permission android:name="com.google.android.apps.photos.permission.GOOGLE_PHOTOS" />
1818
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
1919
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
20+
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
2021

2122
<queries>
2223
<!-- Browser -->

app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java

+15-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
import static fr.free.nrw.commons.wikidata.WikidataConstants.PLACE_OBJECT;
44

55
import android.Manifest;
6+
import android.Manifest.permission;
67
import android.app.Activity;
78
import android.content.Context;
89
import android.content.Intent;
10+
import android.os.Build.VERSION;
11+
import android.os.Build.VERSION_CODES;
912
import androidx.annotation.NonNull;
1013
import fr.free.nrw.commons.R;
1114
import fr.free.nrw.commons.filepicker.DefaultCallback;
@@ -66,7 +69,18 @@ public void initiateCustomGalleryPickWithPermission(final Activity activity) {
6669

6770
PermissionUtils.checkPermissionsAndPerformAction(activity,
6871
Manifest.permission.WRITE_EXTERNAL_STORAGE,
69-
() -> FilePicker.openCustomSelector(activity, 0),
72+
() -> {
73+
if (VERSION.SDK_INT >= VERSION_CODES.Q) {
74+
PermissionUtils.checkPermissionsAndPerformAction(
75+
activity,
76+
permission.ACCESS_MEDIA_LOCATION,
77+
() -> {},
78+
R.string.media_location_permission_denied,
79+
R.string.add_location_manually
80+
);
81+
}
82+
FilePicker.openCustomSelector(activity, 0);
83+
},
7084
R.string.storage_permission_title,
7185
R.string.write_storage_permission_rationale);
7286
}

app/src/main/res/values/strings.xml

+3
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,9 @@ Upload your first media by tapping on the add button.</string>
511511
<string name="exif_tag_name_serialNumbers">Serial Numbers</string>
512512
<string name="exif_tag_name_software">Software</string>
513513

514+
<string name="media_location_permission_denied">Media location access denied</string>
515+
<string name="add_location_manually">We may not be able to automatically obtain location data from pictures you upload. Please add the appropriate location for each picture before submitting</string>
516+
514517
<string name="share_text">Upload photos to Wikimedia Commons directly from your phone. Download the Commons App now: %1$s</string>
515518
<string name="share_via">Share app via...</string>
516519
<string name="image_info">Image Info</string>

0 commit comments

Comments
 (0)