SimpleMobileTools / Simple-Gallery

A premium app for managing and editing your photos, videos, GIFs without ads
https://www.simplemobiletools.com
GNU General Public License v3.0
3.6k stars 758 forks source link

regression Keep old last-modified value at file operations #2321

Open jmichael2497 opened 2 years ago

jmichael2497 commented 2 years ago

Android 11 Lineage OS 2021-12-16 on LG v20 (H918)

f-droid Simple Gallery Pro 6.22.2 and 6.22.3 "keep old last-modified value at file copy/move/rename" and "recycle bin" and standard external SD DCIM Camera folder.

any file movement between sd card folders or recycling does not preserve the "last modified" file system level timestamp.

recently upgraded from 10 to 11, so for comparison f-droid Ghost Commander moves files as expected without affecting date.

so it seems to be an app specific regression, and yes i've tried turning it (setting and phone) off and on :)

hope that helps.

edit to add: noticed that with 6.22.3 (f-droid) running on LOS 11 still, it seems like maybe after a reboot (since it can be a week later sometimes) the file last modification timestamp gets updated, so... 🤷🏽‍♂️

nbmrjuhneibkr commented 2 years ago

After updating from 6.21.2 6.22.3 to 6.23.1 on Android 12, "last modified" value is lost during any file operations. In addition to that, sometimes I'm getting a prompt asking me to confirm deletion of the old file after moving it to a new location, and I need to grant access permissions for each individual folder. For all intents and purposes, this app is now useless for any operations other than just viewing images. I'm forced to use a different app to move them between folders.

Even if Google now requires the app to work like this to be published in the Play Store, there's no excuse for the F-Droid version to be handicapped too.

sam-the-enby commented 2 years ago

I'm also having this issue. Very frustrating as it completely ruins organization.

tibbi commented 2 years ago

should be working on Android 12 from 6.23.2, I cant seem to fix it on Android 11

sam-the-enby commented 2 years ago

Now in v6.32.2 (pro) when I move a file, it changes the modified time to 5pm on December 31st, 1969. Presumably this is just the unix epoch adjusted for my time zone, so it's setting the modified time to all zeroes. Android 12

tibbi commented 2 years ago

does it even show that date in the Properties dialog?

sam-the-enby commented 2 years ago

yes

nbmrjuhneibkr commented 2 years ago

I cant seem to fix it on Android 11

Does this stand for "I haven't found a solution yet" or "the API on Android 11 is too limited, and this issue will stay there permanently"?

Either way, I believe that https://github.com/SimpleMobileTools/Simple-Gallery/issues/2417 should be revisited.

tibbi commented 2 years ago

I was researching it a lot, found no solution on Android 11

J4CKED commented 2 years ago

I also have this error but it occurs randomly in version 6.23.2 android 12. The moved images have a modification date of 1970-01-01, 01:00 photo_2022-05-02_19-24-55

tibbi commented 2 years ago

how about the original file? Does it also show a similar date?

J4CKED commented 2 years ago

Yes, the photo does not need to be edited.

tibbi commented 2 years ago

I mean if you check the original file properties before copying, does it also show yearh 1970?

J4CKED commented 2 years ago

No, the original photos have the correct date. I have sorting set to by modification date and these moved photos go to the end of the gallery.

sam-the-enby commented 2 years ago

I can't say, I moved the file instead of copying it. I don't want to mess up my organization more, so I can't really test.

tibbi commented 2 years ago

right, it might be related to the moving itself, it apparently doesnt happen at copying. Can you confirm?

sam-the-enby commented 2 years ago

When copying, it does not seem to mangle the modified date

J4CKED commented 2 years ago

This only happens when moving.

Aga-C commented 2 years ago

I can confirm this issue on my Android 12 too. Moving picture from Screenshots to Pictures changes its Last modified to 1970, even if Keep old last-modified value at file operations is set. In Simple File Manager, moving works well.

tibbi commented 2 years ago

will be fixed in 6.23.3

J4CKED commented 2 years ago

Great job, I confirm that the bug has been fixed (Android 12)!

sam-the-enby commented 2 years ago

As far as I've tested, can confirm that it is fixed on 12. Thank you!

J4CKED commented 2 years ago

I noticed another bug. Instead of copying photos it moves them. Android 12.

tibbi commented 2 years ago

woops

nbmrjuhneibkr commented 2 years ago

Why is it marked as "fixed" now? Android 11 has a larger market share than 12, which means that this issue still isn't fixed for the majority of affected users.

tibbi commented 2 years ago

because I found no way of fixing it on 11, while 12 is the future and it is close to 11 in the Pro version actually

nbmrjuhneibkr commented 2 years ago

because I found no way of fixing it on 11

This doesn't mean that it's impossible to fix. Especially if we consider that everything worked perfectly fine up until recently. Users will keep encountering this regression, and they will keep submitting it here again and again.

If it really is an insurmountable limitation of Android 11 APIs, then in-app notification should be added for affected users, at the very least.

jmichael2497 commented 2 years ago

sorry i thought i'd already updated (was waiting to be sure wasn't my imagination) but just added to OP as well.

with 6.22.3 (f-droid) running on LOS 11 still, it seems like maybe after a reboot (since it can be a week later sometimes) the file last modification timestamp gets updated, so... 🤷🏽‍♂️

J4CKED commented 2 years ago

In Andoid 12, this error still occurs (Keep old last-modified value at file operations). Specifically, it is about modifying a file in the editor. v6.23.10

tibbi commented 2 years ago

which editor? The basic foss one from Github, or the advanced one?

J4CKED commented 2 years ago

Definitely in the new foss version 6.23.10 and 6.23.9 proprietary.

sam-the-enby commented 2 years ago

Also seeing this again. v6.23.11 pro, android 12

Rafee-M commented 2 years ago

I noticed another issue (Android 11) when moving videos it shows that the last modified date has been changed, but using the native gallery app and file manager the original date is shown. Simple Gallery: Screenshot_2022-06-21-18-19-34-29_29b563cd0bc4fd07bd0c105b17b28204

Native gallery app: Screenshot_2022-06-21-18-19-46-90_92460851df6f172a4592fca41cc2d2e6

J4CKED commented 2 years ago

Why closed?

gl-dev commented 2 years ago

6.24.1 on Android 12, mirror photo changes the "last modified" (and probably "date taken") value, although "keep old last-modified value at file operations" is active, so sorting by "last modified" and even "date taken" (that shouldn't have been changed at all) is a complete mess :(

nbmrjuhneibkr commented 2 years ago

Is this still not fixed, more than 7 months later? I guess I'll have to use v6.22.3 forever

tibbi commented 2 years ago

sadly new system rules brought many file operation related restrictions and things like this just cannot work in some cases

nbmrjuhneibkr commented 2 years ago

None of the "rules" are enforced by the OS itself. 2 out of 3 versions of this app (F-Droid and GitHub) are now broken just for the sake of keeping the 3rd one in the Play Store.

This app simply can not be recommended to anyone in its current state, since it can cause the loss of data (last-modified time/date is valuable user data).

Also, I find it hard to believe that there is absolutely no way to fix this issue even with the Play Store restrictions.

tibbi commented 2 years ago

nothing is broken in the sake of anything...

cjnaz commented 2 years ago

Bump. App version 6.24.1 Pro from the play store, running on a OnePlus 6T on OxygenOS version 11.12.2 (Android 11), rooted.

Would you please clarify what the issue is on Android 11, specifically why it's a problem for this app while file manager apps such as Solid Explorer don't have the problem?

As a work around folks, in addition to using a file manager for the folder moves, I've used "Image & Video Date Fixer" from the play store. It reads the EXIF DateTimeOriginal and sets the file modify time to this value. This app has it's shortcomings, but allowed me to largely clean up my gallery folders.

tibbi commented 1 year ago

It is caused by file managers having real file access, while galleries cannot do that anymore. They have to rely on the system mediastore at working with media files.

cjnaz commented 1 year ago

I understand, thank you.

From the above dialog I see that you have been trying to solve this problem. What is your current position for Android 11 and 12? Will retaining the correct modification datetime ever work again?

Does Google screen your app and block it from the Play Store if you use real file operations, or is it just an additional permission you need from the user to permit file operations for restoring the modification datetime?

If Google blocks it from the Play Store (because you are in the Gallery App category?) then are you opposed to supporting an extended feature version (with file mode direct setting of modification time) in other channels such as FDroid and Github?

Thanks for an otherwise great app. cjn

tibbi commented 1 year ago

You can already get an app variant with All Files access, either the foss variant from https://github.com/SimpleMobileTools/Simple-Gallery/releases , or the F-droid version has that too. I dont think we will be able to add it back on Google Play, they keep making everything stricter. The app has to fill out a special form if it wants to use that permission.

nbmrjuhneibkr commented 1 year ago

Wait, how long has the new FOSS version with All files access been available, and how did I miss it? Finally updated from 6.22.3. Tested some file operations on Android 13 and 11, v6.25.0 FOSS (both GitHub and F-Droid) - no issues so far. Thank you!

tibbi commented 1 year ago

since like February or so, thats when we already had to remove it from the Pro one and couldnt postpone it anymore

sam-the-enby commented 1 year ago

That's news to me. I guess I'll switch to the github release

nbmrjuhneibkr commented 1 year ago

since like February or so, thats when we already had to remove it from the Pro one and couldnt postpone it anymore

Actually, it was 15 May 2022. I downloaded all recent releases to verify this.

6.22.3 (358) is the last proprietary release with full filesystem access, because it has targetSDK=29. 6.23.0-6.23.5 (359-364) has limited access - both FOSS and proprietary. 6.23.6+ (365+) FOSS solves this issue by requesting MANAGE_EXTERNAL_STORAGE permission.

saefthe commented 1 year ago

مرحبا كيف يمكنني استرجاع هذا

بتاريخ الجمعة، 16 سبتمبر 2022، جاء من nbmrjuhneibkr < @.***>:

منذ فبراير أو نحو ذلك ، كان ذلك عندما اضطررنا بالفعل إلى إزالته من Pro one ولم نتمكن من تأجيله بعد الآن

في الواقع ، كان ذلك في 15 مايو 2022. قمت بتنزيل جميع الإصدارات الأخيرة للتحقق من ذلك.

6.22.3 (358) هو آخر إصدار ملكية له وصول كامل إلى نظام الملفات ، لأنه يحتوي على targetSDK = 29. 6.23.0-6.23.5 (359-364) لها وصول محدود - البرمجيات الحرة والمفتوحة المصدر والملكية. 6.23.6+ (365+) FOSS تحل هذه المشكلة عن طريق طلب إذن MANAGE_EXTERNAL_STORAGE.

- قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub https://github.com/SimpleMobileTools/Simple-Gallery/issues/2321#issuecomment-1249456905 ، أو قم بإلغاء الاشتراك https://github.com/notifications/unsubscribe-auth/AWI53YV4USQH3QHF7RBLTN3V6SBMZANCNFSM5K3MSPIQ . أنت تتلقى هذا لأنك مشترك في هذا الموضوع.معرف الرسالة: <SimpleMobileTools / Simple- Gallery / issues / 2321/1249456905 @ github . كوم>

-- Saef

jdckr commented 1 year ago

You can already get an app variant with All Files access, either the foss variant from https://github.com/SimpleMobileTools/Simple-Gallery/releases , or the F-droid version has that too. I dont think we will be able to add it back on Google Play, they keep making everything stricter. The app has to fill out a special form if it wants to use that permission.

Does the app send a notification that it does support "All Files Access"? I only saw that it corrupts my time stamps but didn't see a hint to activate All File Access. Had to search for this thread to find it out.

leetfin commented 1 year ago

Just updated from Android 10 to 11 and came across this incredibly annoying bug - will be switching from play store pro version to F-Droid. Thanks, google!

SarenT commented 6 months ago

I wonder if this helps, but I had this issue with files copied during back up (before fresh lineage OS install). EXIF dates were correct but file system (ls -lah) showed the date of restore (copying from PC to phone). File names also include the time stamp (IMG...). I thought that fixing last modified date on time stamps would fix it. So I wrote this command in adb shell to use file names as reference: `for file in $(find -type f -name 'IMG'); do timestamp=$(echo "$file" | sed 's/IMG([0-9]{8}_[0-9]{6}).jpg/\1/'); formatted_timestamp=$(date -d "${timestamp:4:2}${timestamp:6:2}${timestamp:9:2}${timestamp:11:2}${timestamp:0:4}.${timestamp:13:2}"); touch -t "$formatted_timestamp" "$file"; done` It successfully corrected the last modified date in the folder (checked with: ls -lah). However, the app still shows the wrong last modified date. Clearing cache and storage did not fix it. I also cleared cache and storage in the default gallery app (LOS), which now shows the correct date/timeline. Simple Gallery is somehow still stuck at the wrong dates/timeline. I wonder, where it stores or gets from these values?

One little update: Same also applies for Simple File Manager, which displays wrong last modified dates.