Check for CHANGE_NETWORK_STATE and ACCESS_NETWORK_STATE in offline manifest

Expand the offline permissions check workflow to also verify that
CHANGE_NETWORK_STATE and ACCESS_NETWORK_STATE are not present in the
merged manifest, in addition to the existing INTERNET permission check.

https://claude.ai/code/session_01AoRYewAhR6nhY6hGJhLPem
This commit is contained in:
Claude
2026-03-18 10:52:49 +00:00
parent bb0dcfa0bb
commit 0fef2bcfad
+16 -12
View File
@@ -36,7 +36,7 @@ jobs:
- name: Generate merged manifest for offline build
run: ./gradlew processOfflineDebugManifest --no-daemon
- name: Check for INTERNET permission in offline merged manifest
- name: Check for network permissions in offline merged manifest
run: |
MANIFEST=$(find app/build/intermediates/merged_manifests -name "AndroidManifest.xml" | grep -i offline | head -1)
if [ -z "$MANIFEST" ]; then
@@ -44,14 +44,18 @@ jobs:
exit 1
fi
echo "Checking: $MANIFEST"
if grep -q 'android.permission.INTERNET' "$MANIFEST"; then
echo ""
echo "ERROR: android.permission.INTERNET found in offline build manifest!"
echo "The offline flavor must not include INTERNET permission."
echo ""
echo "Offending lines:"
grep 'android.permission.INTERNET' "$MANIFEST"
exit 1
else
echo "OK: No INTERNET permission in offline build manifest"
fi
FAILED=0
for PERMISSION in android.permission.INTERNET android.permission.CHANGE_NETWORK_STATE android.permission.ACCESS_NETWORK_STATE; do
if grep -q "$PERMISSION" "$MANIFEST"; then
echo ""
echo "ERROR: $PERMISSION found in offline build manifest!"
echo "The offline flavor must not include network permissions."
echo ""
echo "Offending lines:"
grep "$PERMISSION" "$MANIFEST"
FAILED=1
else
echo "OK: No $PERMISSION in offline build manifest"
fi
done
exit $FAILED