android: be stricter about system backups

we should also exclude D2D because it results in a broken store probably due to KeyStore

Fixes #https://github.com/tailscale/tailscale/issues/732

Signed-off-by: LucasMZ <git@lucasmz.dev>
pull/654/head
LucasMZ 6 months ago
parent 87f0e9754b
commit 0dec9c95e1
No known key found for this signature in database

@ -32,6 +32,8 @@
<application <application
android:name=".App" android:name=".App"
android:allowBackup="false" android:allowBackup="false"
android:fullBackupContent="@xml/backup_rules"
android:dataExtractionRules="@xml/data_extraction_rules"
android:banner="@drawable/tv_banner" android:banner="@drawable/tv_banner"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="Tailscale" android:label="Tailscale"

@ -0,0 +1,9 @@
<?kml version="1.0" encoding="utf-8"?>
<!-- data_extraction_rules but for devices below Android 12 -->
<full-backup-content>
<exclude domain="root"/>
<exclude domain="file"/>
<exclude domain="database"/>
<exclude domain="sharedpref"/>
<exclude domain="external"/>
</full-backup-content>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Do not allow system backups, including in device-transfer which ignores allowBackup, to not break Tailscale when restoring -->
<!-- It would be nice to have only preferences backed up or some mechanism in-app to solve issues caused by KeyStore not being backed up -->
<data-extraction-rules>
<cloud-backup>
<exclude domain="root"/>
<exclude domain="file"/>
<exclude domain="database"/>
<exclude domain="sharedpref"/>
<exclude domain="external"/>
</cloud-backup>
<device-transfer>
<exclude domain="root"/>
<exclude domain="file"/>
<exclude domain="database"/>
<exclude domain="sharedpref"/>
<exclude domain="external"/>
</device-transfer>
</data-extraction-rules>
Loading…
Cancel
Save