* Unused class removed
* Convert BasePresenter to kotlin
* Removed redundent class
* Move the Utils class into the utils package
* Inline the creation of a page title object
* Move license utilities into their own file
* Inline app rating since its only ever used in 1 place
* Moved GeoCoordinates utilities into their own class
* Moved Monuments related utils into their own class
* Moved screen capture into its own util class
* Moved handleWebUrl to its own utility class
* Moved fixExtension to its own class
* Moved clipboard copy into its own utility class
* Renames class to match remaining utility method
* Convert UnderlineUtils to kotlin
* Converted the copy-to-clipboard utility to kotlin
* Converted license name and url lookup to kotlin
* Converted fixExtension to kotlin
* Convert handleGeoCoordinates to kotlin
* Monument utils converted to kotlin
* Convert then inline screeen capture in kotlin
* Convert handleWebUrl to kotlin
* refactor: replace unused exception variable with underscore
* refactor: code style fix
* fix: remove unnecessary latLng variable and return null directly
* fix: use explicit true/false instead of isFABsExpanded
* refactor: simplify marker update logic by reducing redundant conditions
* refactor: use data object instead of object
* fix: check placeBindings for null instead of checking each destructured value
* fix: check placeBindings for null instead of checking each destructured value
* docs: fix KDoc for contentUri property by removing incorrect @param tag
* docs: correct @see link in KDoc for showBadgesWithCount
* docs: fix KDoc tag from @property to @param for context in BottomSheetAdapter
* docs: comment out KDoc for disabled method to avoid unresolved @param warning
* docs: fix KDoc for onLongPress by removing invalid @param imageUri
* docs: clean up invalid KDoc tags on property and add docs to isEmpty
* docs: remove invalid @param originalImageCoordinates from findOtherImages KDoc
* docs: fix incorrect @param tag in checkDuplicateImage KDoc
* docs: fix incorrect @param in onLongPress KDoc
* docs: fix invalid @param and @return tags on author property
* docs: fix incorrect @param in provideWikidataMediaInterface KDoc
* docs: fix incorrect @param name in getWikiText KDoc
* docs: escape wikilinks with [[ ]] to avoid KDoc resolution warnings
* docs: fix KDoc by adding missing param descriptions to startActivityWithFlags
* docs: fix KDoc by replacing @param with @property for contentUri
* docs: fix malformed KDoc in startYourself, remove invalid @param line
* docs: remove invalid @param tag in createDialogsAndHandleLocationPermissions
* docs: remove invalid @param tags to @property
* @docs: remove invalid @property tags
* docs: clean up KDoc by removing invalid @param and @return tags
* docs: fix incorrect @param name in removeBlocklisted KDoc
* docs: fix incorrect @param name in checkDuplicateImage KDoc
* docs: fix incorrect @param tag
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Refactor Unit Test: Replace Unsafe Casting with Type-Safe Mocking for findViewById
>PR refactors the unit test for NearbyParentFragment by replacing unsafe casting in the findViewById mocking statements with type-safe
>Ensured all findViewById mocks now use a consistent, type-safe format (findViewById<View>(...)) to reduce verbosity and potential casting errors.
>Verified the functionality of prepareViewsForSheetPosition remains unchanged, ensuring no regression in test behavior.
* Update NearbyParentFragmentUnitTest.kt
* Refactor: Rename Constants to Follow CamelCase Naming Convention
>Updated all constant variable names to follow the camelCase naming convention, removing underscores in the middle or end.
>Ensured variable names remain descriptive and align with code readability best practices.
* Replace private val with const val for URL constants in QuizController
* Renaming the constant to use UPPER_SNAKE_CASE
* Renaming the constant to use UPPER_SNAKE_CASE
* Update Done
* **Refactor: Convert `minimumThresholdForSwipe` to a compile-time constant**
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
- Removed unused constants which were there in `Pref`
- Removed unused parameter requireActivity from `Setting Fragment`
Revert "chore : lint fix"
This reverts commit 599203343f4c3c050b45e4ccf53fd23097818cc4.
* Rename .java to .kt
* Migrated filepicker module from Java to Kotlin
* Rename .java to .kt
* Migrated filepicker module from Java to Kotlin
* fix: test cases
* move createLocale() method to companion object and add test dependency
* use mockk() from Mockk library for mocking sealed classes
* change method parameter to null-able String type
* add null check for accessing property from unit tests
* change method signature to match old method's signature
It fixes the NullPointerException when running ImageProcessingUnitTest
* Fix unresolved references and make properties public for unit tests
* fix tests in UploadRepositoryUnitTest by making return type null-able
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- AbstractTextWatcher
- ActivityUtils
- CommonsDateUtil
- DateUtil
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- DeviceInfoUtil
- ExecutorUtils
- FragmentUtils
* Rename .java to .kt
* Migrated the following files in util module to Kotlin
- ImageUtils
- ImageUtilsWrapper
- LangCodeUtils
- LayoutUtils
- LengthUtils
- LocationUtils
- MapUtils
* Rename .java to .kt
* Migrated all remaining files in util module
* Issue #5811: "Delete folder" menu in custom image selector
* Issue 5811: folder deletion for api < 29.
* Issue 5811: folder deletion for api < 29.
* Issue 5811: folder deletion for api 29.
* Issue 5811: folder deletion
* Issue 5811: fixes merge conflicts, replaces used function onActivityResult with an ActivityResultLauncher
* Update Constants.java
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* remove unused result expectancy for settings screen launch
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* initial refactor to new result api, wip
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* refactor camera launcher
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* revert callback for video handling
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* invoke callbacks when cancelled
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* handle gallery picker result based on preference
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove old method of refactoring for file picker
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove legacy result handling callback
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* request code used for handling result was never used for launching an activity, hence removed
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* extract voice result handling into function
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* refactor test
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* remove unused tests
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* cleanup
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* fix-docs
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* add space after ,
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---------
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
* 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.
* Resolved merged conflicts
* Resolved merge conflicts and updated workflow
* Updated Location Flow and merged conflicts
* Update flow and merge conflicts
* Fixed LocationPicker's location flow
* Removed redundant code from LocationPermissionsHelper
* Fixed Explore fragment crashing and incorrect behaviour
* Updated LocationPicker Flow
* Fixed Nearby not working as intended
* Final update to location flow of all maps
* Added the reqested changes and fixed bugs
* Resolved requested change in in-app camera location flow
* Fixed In-app camera location flow
* Resolved conflicts in ContributionsListFragment
* Updated java doc as requested
* Resolved nearby card dialog not being shown
* Optimised LocationPermissionsHelper javadoc
* Made requested changes for preference check
* Added javadoc and requested comment for later reference
* Implemented requested code changes
* Fixed failing test due to changes made during PR
* Added string resource for ExploreMapFragment
* Changed string resource for rationale dialog
* Added standard location flow information in LocationPermissionsHelper
* Added javadoc for doNotAskForLocationPermission
* Removed unused import
* Updated javadoc
* Removed values-yue-hant
* Fix some merge conflict errors
* Fix minor errors due to mergre conflicts
* Fix some refactor errors
* Fixed minor bug due to merging conflicts
* Delete app/src/main/res/values-yue-hant directory
* Final changes to NearbyParentFragment
* Fixes#5686 map coordinates set to image coords
* Removed some redundant code from recenterMap
* Removed one test whose method no longer exists
* Removed unused method from contract of nearby
* Removed redundant method from NearbyParentFragment
* nearby: add a FIXME about the possibly redudant code
---------
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
* Moved Main Activity and Settings Activity to ViewBinding
* Moving only SettingsActivity for now
* Removed values-yue-hant directory
* Removing previously done changes to main.xml
* LocationPickerActivity: fix crash on setting location for pictures with no EXIF location
* strings.xml: remove extra string introduced
* optimise constants
* LocationPickerActivity: request for permission only on tapping target icon
* remove newline
* handle location permissions using LocationPermissionsHelper
* Revert "Revert a1b6973 until we find out why it uses OPEN_DOCUMENT by default on fresh install"
This reverts commit 7ce3b7ebb1.
* Potential fix for get_content picker being used in first run
The initial state of the 'openDocumentPhotoPickerPref' seems to be incorrect
during a fresh install on some devices.
Try to ensure we always use the proper initial state by propagating the default
to the preference access code.
This hopefully fixes#5274
Merging as this is a great improvement, additional issues/bugs can be filed as GitHub issues.
* fix in-app camera location loss
* fix failing unit tests
* UploadMediaDetailFragmentUnitTest: modify testOnActivityResultAddLocationDialog to have null location
* reintroduce removed variable
* enable prePopulateCategoriesAndDepictionsBy for current user location
* add relevant comment and fix failing test
* modify dialog and disable location tag redaction from EXIF
* modify in-app camera dialog flow and change location to inAppPictureLocation
* change location to inAppPictureLocation
* fix location flow
* preferences.xml: remove redundant default value
* inform users about location loss happening for first upload
* FileProcessor.kt: remove commented-out code
* prevent user location from getting attached to images with no EXIF location in normal and custom selector
* handle onPermissionDenied for location permission
* remove last location when the user turns the GPS off
* disable photo picker and in app camera preferences in settings for logged-out users
* remove debug statements and add toast inside runnables
* photo picker: toggle behaviour of switch and adjust phrasing for better UX
The enable state used to trigger the GET_CONTENT intent. Alter the flow
such that the GET_CONTENT intent is triggered when switch is disabled.
Adjust default value and other parts of code naming to reflect this.
The existing phrasing had a lot of tech jargon in it which could
result in the non-technical users being confused. Tweak the phrasing
to avoid such phrases.
The documentation in the website could also use some follow up
improvements.
* Adjust strings to clearly convey that location loss is a "risk"
* MainActivity: add ACCESS_MEDIA_LOCATION permission check to retain location info in EXIF metadata
* remove redundant permission check and optimise imports
* FilePicker: switch to ACTION_OPEN_DOCUMENT intent for opening image files
* add a comment explaining the change
* implement GET_CONTENT photo picker toggle switch
* add location loss warning pop up
* SettingsFragment: modify the comment about GET_CONTENT takeover for more clarity
* 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
* initial changes
* add search feature for selecting language
* add search feature for selecting language
* upload issue fix
* minor improvement
* added test and updated settings language selection ui
Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com>
* Cherry-Picked NPE fix from master (#4569)
* Fix notification bug #4547 (#4570)
* Make Single Query for Nearby and WLM pins (#4573)
* Merge nearby and monument queries
* Bug Fix- query resource path change on shouldQueryForMonuments
* Bug Fixes
1. Propagate exceptions for nearby API calls to caller
2. Fix too much work on main thread exception in NearbyParentFragment
* Modify parameters for Nearby query
* Bug fix- current location marker (#4580)
* Move WLM template below geolocation template (#4582)
* Modify string for WLM upload notice
* Fix bug #4583 (#4591)
* Fix bug #4585 by updating kotlin and acra version (#4592)
* Fixes#4554 - only use WLM2021 template for countries that are included in it (#4574)
* Fixes#4554
1. For WLM uploads reverse geo code and see if the country code is supported -only then is the WLM upload flow triggered, otherwise usual nearby uploads happen
2. Bug Fix - Current Location marker and area
* Fixed compile error added after rebasing
* Bug fix for country code in reverse geo code
* Update WLM camaign dates [Do not merge now, merge only after alpha release] (#4584)
* Updates dates for WML campaign
* Bug fix- campaign dates
* Fixed logic for WLM enablement - stick to the month of September
* Add countries supported by WLM2021 template, except Italy
* Versioning for v3.1.0
* Update changelog.md
* Fix empty default lang bug (#4608)
* Fix bug #4583
* Fix empty default lang bug
* Fixes#4595 - Updated nearby query (#4622)
* Fixes#4595 - Updated nearby query
* Removed logic to replace local language in nearby query - that might acccidentally replace other strings
* Fetch property location in usual nearby query
* Remove duplicate line (#4626)
* Change "learn more" link to new wiki
* Add Sweden's P3426 to property filter
* Fixes#4601 - 1. Handle possible exceptions in upload file from stash 2. Modify MWException, as error is nullable, update getTitle and getMessage to rever that (#4627)
* Versioning for v3.1.1
* Update changelog.md
* Updated DB version to rever integrity
Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
* Integrate WLM
- Show monuments in maps along with nearby
* BugFix in Monuments
1. Single preference for monuments and campaigns
2. Expand collapse chips container in nearby
3. Typo fix in Monuments card in Nearby
4. If a nearby place is a monument as well - do not show them separately, show it as a monument instead
5. Bug fix, monument radius, use the same one as that of nearby
* More bug fixes
1. Possible NPE in nearby
2. Added column location_address in BookmarkLocationDao
3. Bug Fix - Display Date in WLM card
4. WLM card on click takes to nearby
* Use lowercase country code in WLM uploads
* Bug-Fix, WLM Campaign Icon
* 1. Updated monuments query to use any of the following properties for monuments - [P1435, P2186, P1459, P1460, P1216, P709, P718, P5694] 2. Append WikiData QID to descriptions template
* Updated WLM Banner String, Handle NPE in contributions callback
* Added nearby-monuments query log lines
* Handle WLM Query exception : - if an exception is thrown in WLM query, continue showing the nearby items if that succeeds
* Fix BookmarkLocationDaoTest
* Added Column Address in BookmarkLocationDaoTest
* Use fallback description as usual nearby pins even for WLM pins, instead of relying on P6375
* Test fix in BookmarkLocationDao
* Updated template for WLM, removed redundant feilds
* Fixed WLM template
* Removed categories from WLM template
* Fixed BookmarkControllerTest
* Fixed BookmarkLocationFragmentUnitTest
* fix ModelFunctions
* Fixed BookmarksDaoLocationTest
* Fixed WLM template
* Add additional classes from 2019 hackathon implementation
* Make first tab work
* Make explore tab work
* Handle back button for contrib and nearby
* Fix framelayout and nav bar allignment
* Fix nav bar tint
* Fix nearby card layout
* Make contributions number visible
* Change menu icon according to fragment
* Make notification icon work and remove drawer
* Make favourites accessible from nav bar
* Turn bookmark and explore activities into fragments
* Use bottom sheet instead of more fragment
* Add actions
* Remove unused classes
* Fix indentation
* remove more fragment title
* Fix explore fragment indentation
* Make toolbar settings as we wanted
* Set card view styles
* Make colors for explore actiivty
* Remove drawer from achievements activity
* Add back button to achievements activity
* remove drawer from review activity
* Remove drawer from settings activity
* Remove drawer from about activity
* Fix dagger injection of fragment
* Implement skip login version
* Add theme missing colors
* Add style to moresheet
* refactor name
* call login with button
* Remove all old bookmarks activity dependency
* Make explore tab items clickable
* Do nothing if same tab is selected
* Fix notification icon color for dark theme
* Fix wrong drawable colors
* Handle back button after media details is visible from contrib and explore fragments
* make favourites open media details
* Fix profile icon
* Make user name visible instead
* Move user back to contrib fragment
* Remove NavigationBaseAvticity
* Fix typo in bookmark fragment
* Fix menu button colors
* Remove explore activity
* remove drawer and dependencies
* Make bookmark media details visible
* Cleanup code
* Code cleanup
* Remove unused layout
* Make contriblist UI look like in mockups
* Change limited connecton toggle
* Move list menu item to nearby fragment
* Fix search button crash
* Make media detail appear
* Back button added
* Fix back button npe
* Change bookmark list view
* Fix always the firs item displayed issue
* Allign contrib list bottom line to simple drawee bottom
* fix fragment string
* Fix back button for mobile uploads
* Make lists appear
* Make fav item selected
* Make favourites clickable
* Add back button to media details
* Add toolbar of notification activity
* Change contributions icon
* Fix card UI
* Fix back button in explore
* Make card views look similar to mockups
* Solve campaign bug visible issue
* Make borders a little softer
* #3624 DateTimeFormat wrong - match pattern returned from servers (#3625)
* Revert "Fixes: #3179 Make category search non case-sensitive (#3326)" (#3636)
Simply lower casing the name of the category sent to the server
doesn't result in the server doing a case insensitive category
search. In fact, it reduces the category search space as only
categories that has a lower case character is searched even
if the search text contains upper case characters.
The test case did not catch this issue as the first character
of the title is case insensitive[1].
So, revert the changes done in commit afdeaae075.
See further disucssion in the issue thread of #3179 starting
from [2].
[1]: https://www.mediawiki.org/wiki/Manual:Page_title
[2]: https://github.com/commons-app/apps-android-commons/issues/3179#issuecomment-605462140
* Bugfix/security exception (#3627)
* Fixes#3626
* Check is file is actually created before writing to file, file picker android
* Handle Security exception
* Fixes#3436 and #2881: Media Detail design Overhaul (#3505)
* ic_map_dark_24dp: map icon for white background
* ic_info_outline_dark_24dp: info icon for dark background
* MediaDetailFragment: update the spacer as per image aspect ratio
* fragment_media_detail: design overhaul
* fragment_media_detail: remove redundant background color statements
* make requested changes
* add dark mode support
* minor ui tweak
* white map icon in dark mode
* make rquested changes
* make requested changes to layout
* fix misalignment of category list
* subtle amendments
* convert comments to javadocs
* minor amendments
* minor changes
* add styles for media detail
* Media detail fragment refactored
* make suggested changes
* minor name fix
* fix the delete button border
* Fixes#3639 (Fix Save State implementation of CheckBoxTriState ) (#3686)
* Add #3723 and #3721 to 2.13 release, fix conflicts
Conflicts were caused by merging #3723 before #3721 , so I just rolled both into one commit.
* Fix NullPointer when clicking on image in MediaDetailFragment (#3730)… (#3739)
* Update changelog.md
* Versioning for v2.13
* Fixes#3705 (Crash when viewing pic I just uploaded) (#3782)
* Fixes#3705
* Let the MediaDetailPager fragment know when the contributions have been updated
* Handle NPE, null check on adapter in MediaDetailPagerFragment
* Fixed BookmarkLocationsDao DB migration (#3793)
* Fixes#3725 (#3795)
* Downgraded okhttp version to support Api 19 devices
* Handled null CompoundDrawable[2] in etTitle-> UploadMediaDetailsFragment (#3828)
* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception (#3830)
* Fixes#3829
* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception
* removed unused imports, handled possible exceptions
* Let Fresco handle the downsampling of image
* invalidate in onTransformEnd
* Expose an interface TransformationListener in ZoomableDraweeView to listen to transformation change end
* removed photoView dependency
* removed unused imports in ZoomableActivity
* Bugfix, expand/collapse
* changed functio name
* Bugfix/p18 uploads (#3869)
* updated gradle plugin version
* BugFix #3856
* Do not use preference for deciding acceptable lat long for nearby uploads, instead save the corresponding location in the Contribution via UploadItem
* Marshall contribution's hasInvalidLocation
* reset un-related changes
* Fixed test cases
* Minor code formatting and docs
* Fixes#3882 (#3883)
* Make hasInvalidLocation non-null integer with default value 0
Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>
* Fixes#3766, Added OPENSTREET attribution (#3889)
* Fixes#3766
* Added OPENSTREET attribution in nearby
* Added custom text attribution in Nearby
* Deleted unused class CustomBorderTextView
* review suggested changes
* modified telemetry summary string
* Versioning and changelog for v2.13.1 (#3908)
* Update changelog.md
* Versioning for v2.13.1
* Fixes#3914 (#3915)
* Verify user login before setting upload count
* fixed compile-time error
* fix erros
* delete emptied files
* remove empty file CategoriesModel.java
Co-authored-by: Seán Mac Gillicuddy <seantheappdev@gmail.com>
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Co-authored-by: Kshitij Bhardwaj <44129798+kbhardwaj123@users.noreply.github.com>
Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>
* 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
* Fixes#3336
* Donot redact locatio by default
* Correction inn default tag save
* Use same key across application for managedExifTags
* Updated key name to avoid class cast in existing build