NeoApplications / Neo-Backup

backup manager for android
GNU Affero General Public License v3.0
2.6k stars 127 forks source link

[Feature Request] Show Backup space of each parts in front of it to Compare Existing and Backed-up Files #906

Open AliNouhpisheh opened 1 month ago

AliNouhpisheh commented 1 month ago

[Feature Request] Show Backup space of each parts in front of it to Compare Existing and Backed-up Files

For Example:

App: 24.3MB Data: 78.9MB Ext Data: 10.8MB Cache: 780KB

MrEngineerMind commented 1 month ago

Very helpful so you won't accidentally backup 20+GB of stuff like Spotify's cache and run out of internal memory during the backup and corrupt your device.

hg42 commented 1 month ago

not sure what you want... where should it be shown? which dialog etc. which size? the system size or later in the backup?

If you mean compressed files, this depends heavily on the redundancy of the data (e.g. text or jpeg or video) and you cannot estimate it.

MrEngineerMind commented 1 month ago

Totally understand that it's not practical to calculate and display the "compressed" sizes due to all the possible factors.

But, if you can simply display the current [uncompressed] size of each data type (APK, Data, Device Protected, External, OBB, Media), when starting a backup, that would be very beneficial.

As far as also showing the various data sizes of an existing backup for comparison, I think that would be a little overkill, and I personally don't really need that ability - just the live data type sizes when doing a backup would be very helpful.

AliNouhpisheh commented 1 month ago

Something like this:

Screenshot_2024-10-09_131556_deckers.thibault.aves.jpg

(App Name: Swift Backup) (App Version: 5.0.4)

hg42 commented 1 month ago

I guess you are meaning the sum over all (selected) packages? Similar to the count of filtered packages in the sort&filter dialogs?

Currently, everything is only calculated when necessary. I guess those sizes are only requested, when the app sheet is opened. If they are available for the whole list, it shouldn't be a problem to sum them up and display them.

MrEngineerMind commented 1 month ago

No, what I meant is that then you click the "Backup" button for a single app, a dialog appears that allows you to select all the different data types that you want to backup.

It would be very beneficial if the size of each data type could be displayed so it:

1) Would allow us to see that if we include, for example, the "External" data type, it would add like 2GB to the resulting backup (which might be the case for a map program or for spotify's downloaded songs). So we would know to not check that data type if we don't want the resulting backup size to be huge.

2) It would also allow use to see what data types an app actually uses, so we can make sure we check all the data types that are non-zero in size. Right now we have no idea what data types an app is actually using.

hg42 commented 1 month ago

so, as far as I see, the sizes available from the system are exactly those found in the app sheet:

This is what the Android API provides out of the box. I did not investigate further.

I added these in the sort and filter sheet, where you also see the app numbers.

MrEngineerMind commented 1 month ago

But the app sheet only lists the sizes for two data types:

1) App Size 2) Data Size

However, the Backup Dialog lists SIX data types:

1) APK 2) Data 3) Device Protected Data 4) External Data 5) OBB Data 6) Media Data

So, what would be very helpful is if the sizes for all SIX data types can be displayed on the Backup Dialog. So:

1) We can see which ones we might want to exclude (because it's too big) 2) We can also see which ones we need to include (because there is actual data in a particular data type, for example OBB which we might have forgotten to include)

hg42 commented 1 month ago

yes, I already understood that, but it involves scanning the storage, so it's not a thing I want to do now. At least the infrastructure is there. If we find a way to do it fast enough, it might be added (may be optional). I will probably test this first in the context menu code.

MrEngineerMind commented 1 month ago

Thank you.