evilcorpltd / aTox

Reasonable Tox client for Android
GNU General Public License v3.0
372 stars 59 forks source link

Change allowBackup to true #1222

Open giiutfff opened 7 months ago

giiutfff commented 7 months ago

Currently it is set to android:allowBackup=false which makes backup impossible without root. Backup and restore could be done without root if change it to true.

robinlinden commented 7 months ago

See #1136 for the reason backups are currently disabled.

Newer Android has added support for client-side encryption which would make me more comfortable enabling it, but no one has put any work into #439 yet.

giiutfff commented 7 months ago

I don't really understand your concerns about encryption, but I believe you have good reasons.

So my use case here is I need to move the app with its data to another device. I would be more than happy if there is any alternative method to do so (I don't have root).

iphydf commented 7 months ago

It might make sense for aTox to have an export format that other clients (and aTox) can implement for imports. Moving between clients and devices is an important use case, and it would be nice to keep chat history and client settings around. There are some common settings (the ones in Tox core options) and client-specific ones. Probably the first step towards that is formulating a data schema for the export.

robinlinden commented 7 months ago

I don't really understand your concerns about encryption, but I believe you have good reasons.

So my use case here is I need to move the app with its data to another device. [...]

Yeah, I'd happily enable only-local backup if that was possible, but android:allowBackup is also used by the Google cloud backup system, so no way of enabling one but not the other last time I looked into it. :( It should be possible to do device-to-device transfers even with android:allowBackup=false as of Android 12 though: https://developer.android.com/about/versions/12/behavior-changes-12#backup-restore

It might make sense for aTox to have an export format that other clients (and aTox) can implement for imports.

There was some work towards exporting (but not importing) aTox-bits in a JSON format in #1076, but there's no documented schema or anything yet, and it also includes a bunch of aTox internals that probably should be dealt with differently longer-term. If we can come up with a nice schema for these things I'd happily adopt it as an export/import format.

giiutfff commented 7 months ago

Yeah, I'd happily enable only-local backup if that was possible, but android:allowBackup is also used by the Google cloud backup system, so no way of enabling one but not the other last time I looked into it. :( It should be possible to do device-to-device transfers even with android:allowBackup=false as of Android 12 though: https://developer.android.com/about/versions/12/behavior-changes-12#backup-restore

Is it possible to make a function to archive/restore the app data as a tar/zip?