Skip to content

Commit 0068820

Browse files
committed
Merge branch '2.12-release'
2 parents 2290545 + 5e3760a commit 0068820

File tree

8 files changed

+39
-9
lines changed

8 files changed

+39
-9
lines changed

CHANGELOG.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
# Wikimedia Commons for Android
22

3+
## v2.12.3
4+
- Fixed issue with EXIF data, including coords, being removed from uploads
5+
36
## v2.12.2
4-
- Fixed crash on startup (hopefully, could not reproduce it)
7+
- Fixed crash on startup
58

69
## v2.12.1
710
- Fixed issue with Nearby loading in wrong location

app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ android {
110110

111111
defaultConfig {
112112
applicationId 'fr.free.nrw.commons'
113-
versionCode 549
114-
versionName '2.12.2'
113+
versionCode 561
114+
versionName '2.12.3'
115115
setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
116116

117117
minSdkVersion 19

app/src/main/java/fr/free/nrw/commons/CommonsApplication.java

+13
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
import org.wikipedia.language.AppLanguageLookUpTable;
3232

3333
import java.io.File;
34+
import java.util.HashSet;
35+
import java.util.Set;
3436

3537
import javax.inject.Inject;
3638
import javax.inject.Named;
@@ -47,6 +49,7 @@
4749
import fr.free.nrw.commons.kvstore.JsonKvStore;
4850
import fr.free.nrw.commons.logging.FileLoggingTree;
4951
import fr.free.nrw.commons.logging.LogUtils;
52+
import fr.free.nrw.commons.settings.Prefs;
5053
import fr.free.nrw.commons.upload.FileUtils;
5154
import fr.free.nrw.commons.utils.ConfigUtils;
5255
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -141,6 +144,16 @@ public void onCreate() {
141144

142145
initTimber();
143146

147+
148+
if (!defaultPrefs.getBoolean("has_user_manually_removed_location")) {
149+
Set<String> defaultExifTagsSet = defaultPrefs.getStringSet(Prefs.MANAGED_EXIF_TAGS);
150+
if (null == defaultExifTagsSet) {
151+
defaultExifTagsSet = new HashSet<>();
152+
}
153+
defaultExifTagsSet.add(getString(R.string.exif_tag_location));
154+
defaultPrefs.putStringSet(Prefs.MANAGED_EXIF_TAGS, defaultExifTagsSet);
155+
}
156+
144157
// Set DownsampleEnabled to True to downsample the image in case it's heavy
145158
ImagePipelineConfig.Builder imagePipelineConfigBuilder = ImagePipelineConfig.newBuilder(this)
146159
.setDownsampleEnabled(true);

app/src/main/java/fr/free/nrw/commons/kvstore/BasicKvStore.java

+8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import androidx.annotation.Nullable;
77

88
import java.util.HashMap;
9+
import java.util.HashSet;
910
import java.util.Map;
1011
import java.util.Set;
1112

@@ -204,4 +205,11 @@ public void unregisterChangeListener(SharedPreferences.OnSharedPreferenceChangeL
204205
_store.unregisterOnSharedPreferenceChangeListener(l);
205206
}
206207

208+
public Set<String> getStringSet(String key){
209+
return _store.getStringSet(key, new HashSet<>());
210+
}
211+
212+
public void putStringSet(String key,Set<String> value){
213+
_store.edit().putStringSet(key,value).apply();
214+
}
207215
}

app/src/main/java/fr/free/nrw/commons/settings/Prefs.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class Prefs {
77
public static final String DEFAULT_LICENSE = "defaultLicense";
88
public static final String UPLOADS_SHOWING = "uploadsshowing";
99
public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged";
10-
public static final String MANAGED_EXIF_TAGS = "managedExifTags";
10+
public static final String MANAGED_EXIF_TAGS = "managed_exif_tags";
1111
public static final String KEY_LANGUAGE_VALUE = "languageDescription";
1212

1313
public static class Licenses {

app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,18 @@
1212
import android.text.Editable;
1313
import android.text.TextWatcher;
1414

15+
import com.google.gson.reflect.TypeToken;
1516
import com.karumi.dexter.Dexter;
1617
import com.karumi.dexter.listener.PermissionGrantedResponse;
1718
import com.karumi.dexter.listener.single.BasePermissionListener;
1819

19-
import java.util.ArrayList;
20+
import java.lang.reflect.Type;
2021
import java.util.Collections;
22+
import java.util.ArrayList;
23+
import java.util.HashSet;
2124
import java.util.List;
2225
import java.util.Locale;
26+
import java.util.Set;
2327

2428
import javax.inject.Inject;
2529
import javax.inject.Named;
@@ -68,10 +72,12 @@ public void onCreate(Bundle savedInstanceState) {
6872
return true;
6973
});
7074

71-
MultiSelectListPreference multiSelectListPref = (MultiSelectListPreference) findPreference("manageExifTags");
75+
MultiSelectListPreference multiSelectListPref = (MultiSelectListPreference) findPreference(Prefs.MANAGED_EXIF_TAGS);
7276
if (multiSelectListPref != null) {
7377
multiSelectListPref.setOnPreferenceChangeListener((preference, newValue) -> {
74-
defaultKvStore.putJson(Prefs.MANAGED_EXIF_TAGS, newValue);
78+
if (newValue instanceof HashSet && !((HashSet) newValue).contains(getString(R.string.exif_tag_location))) {
79+
defaultKvStore.putBoolean("has_user_manually_removed_location", true);
80+
}
7581
return true;
7682
});
7783
}

app/src/main/java/fr/free/nrw/commons/upload/FileProcessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ GPSExtractor processFileCoordinates(SimilarImageInterface similarImageInterface,
105105
*/
106106
private Set<String> getExifTagsToRedact(Context context) {
107107
Type setType = new TypeToken<Set<String>>() {}.getType();
108-
Set<String> prefManageEXIFTags = defaultKvStore.getJson(Prefs.MANAGED_EXIF_TAGS, setType);
108+
Set<String> prefManageEXIFTags = defaultKvStore.getStringSet(Prefs.MANAGED_EXIF_TAGS);
109109

110110
Set<String> redactTags = new HashSet<>(Arrays.asList(
111111
context.getResources().getStringArray(R.array.pref_exifTag_values)));

app/src/main/res/xml/preferences.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleMultiSelectListPreference
7171
android:entries="@array/pref_exifTag_entries"
7272
android:entryValues="@array/pref_exifTag_values"
73-
android:key="manageExifTags"
73+
android:key="managed_exif_tags"
7474
android:title="@string/manage_exif_tags"
7575
android:summary="@string/manage_exif_tags_summary"/>
7676

0 commit comments

Comments
 (0)