diff options
| author | Lena <lena@omega> | 2026-07-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-07-13 22:00:29 +0000 |
| commit | 2593151ca2c67256442ad25b074504e3ecd3371f (patch) | |
| tree | 15ff1b56d265be51a6dcc26505705ab9cc4587f4 /app/src/main/AndroidManifest.xml | |
| parent | a6640c603b7a15d3531980116fdce15d1743c865 (diff) | |
| download | rsend-2593151ca2c67256442ad25b074504e3ecd3371f.tar.gz | |
app: harden sync execution and persisted state
Persist config, key blob, and host pin via AtomicFile so an
interrupted write cannot corrupt state. Validate the port, clear the
host pin when the remote changes, cap imported key size, time out
native helpers, and escalate rsync termination to destroyForcibly.
Serialize manual and scheduled syncs behind a mutex.
Replace the chained one-time jobs with plain periodic work: it
survives reboots without a boot receiver and cannot silently die
like a broken chain. Costs the sub-15-minute interval, which photo
backup does not need. Document the floor and that syncs run on any
unmetered network, not only WiFi.
Diffstat (limited to 'app/src/main/AndroidManifest.xml')
| -rw-r--r-- | app/src/main/AndroidManifest.xml | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e146f29..2062a2a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,6 @@ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> - <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <application @@ -49,14 +48,6 @@ android:name=".LogActivity" android:exported="false" /> - <receiver - android:name=".BootReceiver" - android:exported="true"> - <intent-filter> - <action android:name="android.intent.action.BOOT_COMPLETED" /> - </intent-filter> - </receiver> - <!-- WorkManager runs the sync as a dataSync foreground service. --> <service android:name="androidx.work.impl.foreground.SystemForegroundService" |