Giter VIP home page Giter VIP logo

exif-eraser's Introduction

License Assemble Unit Tests Instrumentation Tests Detekt Ktlint Spotless

ExifEraser

ExifEraser is a modern, permissionless image metadata erasing application for Android 6.0+.

It relies on exif-interface-extended under the hood.

Currently Supported Image Formates

  • JPEG: Images will be saved excluding the embedded ICC Profile, EXIF, Photoshop Image Resources and XMP/ExtendedXMP metadata
  • PNG: Images will be saved excluding the embedded ICC Profile, EXIF and XMP metadata
  • WebP: Images will be saved excluding the embedded ICC Profile, EXIF and XMP metadata

Translations

Download

Get it on Google Play Get it on Accrescent

exif-eraser's People

Contributors

dependabot[bot] avatar tommy-geenexus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

exif-eraser's Issues

New GitHub repo? What has changed in 3.0?

It seems that you started to use a new brand new GitHub repository, but it seems the app is continued on Google Play. As there is no changelog (nor Git diff), I wonder, what should I expect in the new version (in addition to fixed crash in some cases)?

Android 11: Nothing happens

Under Android 11 (Pixel 3), nothing happens when tapping either of the three buttons on the main screen.

Folders, etc. are set up in the settings.

Images no longer saved in default path

Recently, I've noticed that exif-eraser no longer saves images in default path:

  1. Share with ExifEraser.
  2. Default save path.
  3. Share with something else (or just cancel).

Expected (old behavior):
Image is save in default path.

Actual (current) behavior:
Image can be shared, but I see nothing new in the default save path.

Nevertheless, it seems to remove exif data, as when I share stripped image with Total Commander to save it on disk, it is fine.

In general, if you found a way to keep the stripped images temporarily in memory while sharing, it's nice. However, if it started to be saved in internal storage or any other "special location", it might be harder to periodically remove old processed images.

4.2.1 on Android 11. The last saved image is dated to 28 II 2021, so it started to occur in 4.2.1 or maybe 4.2.0.

mystery UI renders app inoperable

I open the application, "Choose your preferred image source" appears with three badges labeled Image, Image, Images. Tapping them does nothing, press-hold does nothing. Tapping the vertical 6-dot button switches it to double checkmark, tapping again switches it back. The Settings great works but nothing seems relevant. Screenshot_20200819-151841

Last time I used this I somehow managed to get to a dialog to choose an image, but today I'm stuck. Even if something's wonky in my setup you should consider changing your UI.
This on a Pixel 3 running Android 10, build QQ3A.200805.001

Possible signing certificate checksum mismatch

Hello,

It is my understanding that the signing certificate checksum provided in the release section is simply the SHA-256 digest, in which case it doesn't match the actual checksum:

> apksigner verify --min-sdk-version 30 --verbose --print-certs gh-exif-eraser.apk
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
Signer #1 certificate DN: CN=Tom Geiselmann, L=Staig, ST=Baden-Wuerttemberg, C=49
Signer #1 certificate SHA-256 digest: d910867ce2cf3dcd37db51853ebef8633fd83a142b2642274ed068152ff12201
Signer #1 certificate SHA-1 digest: 6b61c0efea270bc27992d3979a9c213d2ab93d83
Signer #1 certificate MD5 digest: d28da5bf0bdd3e4a0b4b4a29c43abc81

Specifically:
D9:10:86:7C:E2:CF:3D:CD:37:DB:51:85:3E:BE:F8:63:3F:D8:3A:14:2B:26:42:27:4E:D0:68:15:2F:F1:22:01

Compared to:
75:33:E0:83:FF:A3:35:2A:34:5B:BE:B6:26:06:6F:51:C3:1C:29:26:35:91:AD:4B:4E:83:5F:AD:DD:F6:17:DE

Feature request: Option to randomise file name

ScrambledExif by default generates a random file name when it saves or shares a file.

Some like this and some don't, so I was wondering if maybe there could be a checkbox option or something at time of save or share asking if user wants to use current default or generate a random new name.

Share image to app directly from gallery and reopen share menu after exif erased

First of all, I would like to thank you for this great app. It's fast and doing it's job :)

I wish we were able to share images from gallery to exif eraser and then exif eraser does its job and opens share menu without saving to directory or anything.

Exact steps:
1- Share an image in gallery to exif eraser
2- Exif eraser clears exif in the background and reopens share menu to share "exif removed" copy
3- Then user can share that image to where ever they want like facebook or instagram etc

Scrambled Exif has this feature but this app much more faster that's why I requested.

(Optionally) open share dialog by default

I use exif-eraser mostly to share photo from a gallery or a camera app to remove exif and immediately send it via MMS or some social network. In the past you implemented (for me ;) ) a very useful feature to automatically ask about further sharing saved image with the other apps (MMS, Twitter, etc.).

In the new version, it is still possible by using the "share icon", however, for people using exif-erase only (or mostly) in the way I described, it is "one more click" to finish the operation. What do you think about adding an extra settings switch (disabled by default) to automatically open the "sharing dialog" after a stripped image is saved? In a case I don't want to share the image immediately, I could just tap "back" and close the dialog.

Simple steps:

  1. Gallery -> Share with -> exif-eraser
  2. Confirm place and name to save stripped image
  3. Automatically see "share with" dialog open (without clicking the "share with" icon in exif-eraser).

Remove android.permission.READ_EXTERNAL_STORAGE

android.permission.READ_EXTERNAL_STORAGE

Applications, just like Android does, should follow the principle of the least privilege. Therefore, they should be able to work properly using less permissions as possible.

Modern applications don't need
android.permission.READ_EXTERNAL_STORAGE anymore. They can access files/directories without that permission.

There are some examples of applications which already use that approach, including but not limited to;

Those are just few examples.

Just tap (in addition to sliding up) to open "^ Details" view

The "Details" view added in the last release might be useful, however, there is a small glitch with "advanced" gestures enabled - with no buttons on the bottom (Android 11). To minimalize the app (or open the recent apps view) it is required to swipe from the bottom which very often triggers when I try to open the Details view. It's not a big problem, but maybe it would be easy to add a possibility to open that view just by clicking the green ^ Details "button" (alternatively to swiping it up).

Unable to share picture with exif-eraser anymore

After upgrade to 4.2.3, I'm not able to share any picture with exif-erase.

Steps to reproduce:

  1. Gallery -> Picture (jpg) -> Share -> ExifEraser

Excepted result:
Choose save path "dialog at the bottom

Actual result:
"Choose your preferred image source" page with no way to do anything with shared image.

Settings

RecyclerView / ListAdapter item change issue

latest release adds non-free dependency

Going by the release notes, that's most likely the "in-app updates via Google Play". Maybe that could be singled out by using build flavors, so an entirely free APK could be provided at releases/?

Background: your app is listed in my repo (be welcome to use this badge to link there), which is used by folks who rather avoid Google Play and prefer entirely free apps. I'll now have to add the NonFreeDep anti-feature to point out the app uses non-free dependencies, which might scare away some users. That could be avoided 😉

Apart from that: is it really needed to have in-app updates? Isn't it the task of the app-store app to take care for updates?

SVG for the ExifEraser logo

Hello there! I am currently working on a PR that will add ExifEraser to https://privacyguides.org. (PR can be found here: privacyguides/privacyguides.org#1471)

To be able to complete the PR, I need an SVG of the logo. I looked in the repo and wasn't able to find something. Would you happen to have it handy?

Apologies if it already exists somewhere, or if this is not the appropriate place to ask for this.

Thank you!

Neither Summary nor Details tells you where the saved image is

The most important information about the operation of this utility is What is the path and filename of the stripped image? If you only convert one image, it should display that without you having to click anything. Summary doesn't tell you.

  • Instead of just "All done! 1 of 1 images modified", Summary could show a thumbnail of each modified file with its path next to it.

Clicking Details doesn't tell you the path of the stripped image, instead it shows a strange UI:
Screenshot_20210709-162455

  • Clicking the green (xv Modified) button shows a dialog with the filename (but not its path) of the original file, which is less useful than the filename of ExifEraser's modified version, the extension (why not show this with the filename?), and green checked buttons for (✓ICC Profile) and (✓EXIF). But the latter two buttons don't do anything even though they look exactly like the (Modified) button.
    • On my Pixel 3 with large font in portrait orientation, the (EXIF) button is slightly clipped (see screenshot). It turns out there's more info in this dialog visible in landscape orientation, a red (✕ Photos) button. I have no idea what this means, I'm saving in the DCIM/Camera folder... I think. Nope, it turns out I can scroll this list of buttons and it's really (✕ Photoshop), followed by (✓XMP), (✓ExtendedXMP). _There should be some indication that this row of not-buttons is scrollable! Or, since they're not buttons, maybe have a scrollable list with headings for what these are, e.g. "Metadata removed: ICC Profile, EXIF, XMP, ExtendedXMP ; Metadata not removed: Photoshop"
  • Going back to the Details page, I hoped that the green (✓Saved) button will tell me the name of the saved file, but it just flashes the whole image card.
  • It's weird having the same green rounded button do/not do three different things.

My workaround is to go into the Android Files application and browse Images > Sort by > Newest date first; ExifEraser's copy is at or near the top, with (1) appended to the filename. This is workable, but very indirect. My workflow is usually use Google Photos to crop and correct the image, then ExifEraser, then I usually wind up deleting the original(s) and renaming the stripped file. If ExifEraser could present the filename of the stripped file in Summary or Details then maybe there's a way clicking on it could prompt to launch an app, such as Photos or Files.

What does the button on the bottom right do?

Within the ExifEraser app, there's a square button on the bottom right that has 6 little circles, and two checkmarks once clicked on.

It's unclear to me what this button/option does. Is there any documentation that explains it?

If not, I would really appreciate it if you could shed some light on that!

Thanks!

Allow user to edit proposed filename

Here's my workflow:

  1. edit picture(s) in Google Photos
  2. run ExifEraser
  3. rename ExifEraser's output file to something meaningful in File application
  4. delete the original copies

ExifEraser used to append N to the filename, nowadays it generates an incrementing integer number 100000NNNN.jp I want to rename my photos PXL_20230310_some useful words.jpg, which means in Files I pretend to rename the original, copy its filename, then actually rename ExifEraser's image. But that's just me, I see a request #53 to randomize.

So I think the ideal is a setting or radiobuttons on the "Choose your preferred image source" screen to choose the file naming approach (add suffix or increment a number, etc.), plus a checkbox for "Show filename dialog." If the latter is checked, after processing each image show a thumbnaile with a text field for naming ExifEraser's output file that's prefilled with the user's naming choice. (You could go fancier with formatting strings for file names MyPic%{YYYY-MM-DD} %{sequence} lik MP3 taggers; and/or repeating the choices for suggested names in this filename dialog, etc., but this is more than adequate.)

Thanks for making this tool, I use it constantly. I realize in #52 you wrote

Renaming is not a feature planned to be integrated into this application.

but... I'm happy to pay you $80 to implement this feature, it's that valuable to me to save the time in step 3 opening Files and copying and pasting file names. And it would meet everyone's use cases.

Keys for Play Store release and Github Releases APK

Hey there! I'm noticing that when I update the app via the Github Releases APK, it also shows up as updated on the Play Store (or Aurora Store, more specifically). Does the Play Store version and the version on Github use the same signing keys (which I assume would be your keys instead of Play app signing)?

In that case, what about the two versions in every release? there seems to be the release and foss-release APKs. Are those signed with the same keys? Are there any functional differences between the two?

F-Droid

It'd be great if the app was in the offficial F-Droid repository. Would you mind adding the app to it?

directory mode doesn't rename fully on android

when i try single or multiple image, the file name get replaced by a running number (Screenshot_2022-09-06-13-13-56-915_com.discord become 26892 for example) but when i use directory mode, the part of a filename still retained its original name e.g. Screenshot_2022-09-06-13-13-56-915_com.discord become Screenshot_2022-09-06-13-13-56-915_com (which i want them to be removed)

is it possible to make the app fully rename in directory mode as well?

"Use this folder" button not visible at first

Steps to reproduce:

  1. Settings -> Default Save Path (or anything else what shows that "dialog")

Actual behavior:

Unable to choose current folder - no "Use this folder" button on the bottom. It is needed to step up and step down into the folder again to see that button.

Expected behavior:

The is that button and can be used from the first time.

Additional information:

Android 11, 4.0.0 from Play Store. It worked fine with 3.x.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.