mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-28 21:33:53 +01:00
Image EXIF/XMP metadata removal routine (#2863)
* [WIP] Added preferences for EXIF tags * [WIP] Added arrays, keys, strings to support EXIF preferences * [WIP] Updated SettingsFragment to setup summary of added preferences(locationAccuracy) * [WIP] Added methods getStringSet()in BasicKvStore, KeyValueStore to support Set<String> data type used in preferences (EXIF tags) * [WIP] Added methods for removing EXIF tags and anonimyzing location coordinates in FileProcessor, GPSExtractor * [WIP] Fixed errors in preferences EXIF tags, added XMP removal routine * [WIP] Removed erroneous location accuracy handling * [WIP] Fixed mistyped GPS Tags * Reverted BasicKvStore. Removed Set<String> support in BasicKvStore as JsonKVStore already has it. * FileProcessor: Replaced throwing runtime exception with warning if EXIF redaction fails. * FileMetadataUtils: Javadoc added * [WIP] FileMetadataUtilsTest added * [WIP] FileMetadataUtilsTest: added javadoc * [WIP] FileMetadataUtilsTest: added javadoc * [WIP] FileProcessor: fixed disposing observables * [WIP] FileMetadataUtils.getTagsFromPref: changed return type from observable to simple array * [WIP] FileProcessorTest: added test for redactExifTags * [WIP] FileProcessorTest: redactExifTags() doesn't work properly
This commit is contained in:
parent
5690dd9d0b
commit
cc0b059595
13 changed files with 291 additions and 2 deletions
|
|
@ -7,6 +7,7 @@ public class Prefs {
|
|||
public static final String DEFAULT_LICENSE = "defaultLicense";
|
||||
public static final String UPLOADS_SHOWING = "uploadsshowing";
|
||||
public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged";
|
||||
public static final String MANAGED_EXIF_TAGS = "managedExifTags";
|
||||
|
||||
public static class Licenses {
|
||||
public static final String CC_BY_SA_3 = "CC BY-SA 3.0";
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.Manifest;
|
|||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.preference.MultiSelectListPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceFragment;
|
||||
import android.preference.SwitchPreference;
|
||||
|
|
@ -14,6 +15,11 @@ import com.karumi.dexter.Dexter;
|
|||
import com.karumi.dexter.listener.PermissionGrantedResponse;
|
||||
import com.karumi.dexter.listener.single.BasePermissionListener;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
|
|
@ -59,6 +65,14 @@ public class SettingsFragment extends PreferenceFragment {
|
|||
return true;
|
||||
});
|
||||
|
||||
MultiSelectListPreference multiSelectListPref = (MultiSelectListPreference) findPreference("manageExifTags");
|
||||
if (multiSelectListPref != null) {
|
||||
multiSelectListPref.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
defaultKvStore.putJson(Prefs.MANAGED_EXIF_TAGS, newValue);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
final EditTextPreference uploadLimit = (EditTextPreference) findPreference("uploads");
|
||||
int currentUploadLimit = defaultKvStore.getInt(Prefs.UPLOADS_SHOWING, 100);
|
||||
uploadLimit.setText(Integer.toString(currentUploadLimit));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue