diff --git a/.github/workflows/check-offline-permissions.yml b/.github/workflows/check-offline-permissions.yml
index e506e290..66b01263 100644
--- a/.github/workflows/check-offline-permissions.yml
+++ b/.github/workflows/check-offline-permissions.yml
@@ -60,5 +60,20 @@ jobs:
else
echo "OK: No $PERMISSION in offline build manifest"
fi
+ for COMPONENT in androidx.work.WorkManagerInitializer androidx.work.impl.background.systemjob.SystemJobService; do
+ if grep -q "$COMPONENT" "$MANIFEST"; then
+ echo ""
+ echo "ERROR: $COMPONENT found in offline build manifest!"
+ echo "WorkManager must never initialize in the offline flavor: it tracks"
+ echo "network-constrained work via ConnectivityManager, which crashes with"
+ echo "SecurityException because ACCESS_NETWORK_STATE is removed."
+ echo ""
+ echo "Offending lines:"
+ grep "$COMPONENT" "$MANIFEST"
+ FAILED=1
+ else
+ echo "OK: No $COMPONENT in offline build manifest"
+ fi
+ done
done
exit $FAILED
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt b/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt
index 16af1eb5..5bd3fdc2 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt
@@ -337,6 +337,7 @@ class Amber :
}
fun cancelBackupApplicationsAlarm() {
+ if (BuildFlavorChecker.isOfflineFlavor()) return
WorkManager.getInstance(this).cancelUniqueWork("BackupApplicationsWorker")
}
diff --git a/app/src/offline/AndroidManifest.xml b/app/src/offline/AndroidManifest.xml
index ba3a49c5..3c68176e 100644
--- a/app/src/offline/AndroidManifest.xml
+++ b/app/src/offline/AndroidManifest.xml
@@ -29,6 +29,44 @@
android:enabled="true"
android:exported="true" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+